From: Jan Provaznik jprovazn@redhat.com
Deltacloud client lib returns 'kind' attribute as a symbol, but activereord doesn't deal well with it when saving. This patch stringifies value. --- src/app/models/hardware_profile.rb | 4 +- src/app/models/hardware_profile_property.rb | 6 ++-- src/spec/factories/hardware_profile_property.rb | 32 +++++++++++----------- 3 files changed, 21 insertions(+), 21 deletions(-)
diff --git a/src/app/models/hardware_profile.rb b/src/app/models/hardware_profile.rb index de9ef23..2ce6d81 100644 --- a/src/app/models/hardware_profile.rb +++ b/src/app/models/hardware_profile.rb @@ -85,10 +85,10 @@ class HardwareProfile < ActiveRecord::Base def new_property(prop) return nil unless prop.present? the_property = HardwareProfileProperty.new(:name => prop.name, - :kind => prop.kind, + :kind => prop.kind.to_s, :unit => prop.unit, :value => prop.value) - case prop.kind + case prop.kind.to_s when HardwareProfileProperty::RANGE the_property.range_first = prop.range[:from] the_property.range_last = prop.range[:to] diff --git a/src/app/models/hardware_profile_property.rb b/src/app/models/hardware_profile_property.rb index 0717484..1291122 100644 --- a/src/app/models/hardware_profile_property.rb +++ b/src/app/models/hardware_profile_property.rb @@ -26,9 +26,9 @@ class HardwareProfileProperty < ActiveRecord::Base CPU = "cpu" ARCHITECTURE = "architecture"
- FIXED = :fixed - RANGE = :range - ENUM = :enum + FIXED = 'fixed' + RANGE = 'range' + ENUM = 'enum'
UNIT_MB = "MB" UNIT_GB = "GB" diff --git a/src/spec/factories/hardware_profile_property.rb b/src/spec/factories/hardware_profile_property.rb index 0a2447d..91c40a1 100644 --- a/src/spec/factories/hardware_profile_property.rb +++ b/src/spec/factories/hardware_profile_property.rb @@ -3,35 +3,35 @@ end
Factory.define :mock_hwp1_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :fixed + p.kind 'fixed' p.unit 'MB' p.value 1740.8 end
Factory.define :mock_hwp1_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :fixed + p.kind 'fixed' p.unit 'GB' p.value 160 end
Factory.define :mock_hwp1_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 1.0 end
Factory.define :mock_hwp1_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'i386' end
Factory.define :mock_hwp2_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :range + p.kind 'range' p.unit 'MB' p.value 10240 p.range_first 7680 @@ -40,7 +40,7 @@ end
Factory.define :mock_hwp2_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :enum + p.kind 'enum' p.unit 'GB' p.value 850 # p.property_enum_entries { |p| [p.association(:mock_hwp2_storage_enum1), @@ -49,49 +49,49 @@ end
Factory.define :mock_hwp2_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 2.0 end
Factory.define :mock_hwp2_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'x86_64' end
Factory.define :agg_hwp1_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :fixed + p.kind 'fixed' p.unit 'MB' p.value 1740.8 end
Factory.define :agg_hwp1_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :fixed + p.kind 'fixed' p.unit 'GB' p.value 160 end
Factory.define :agg_hwp1_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 1 end
Factory.define :agg_hwp1_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'i386' end
Factory.define :agg_hwp2_memory, :parent => :hardware_profile_property do |p| p.name 'memory' - p.kind :range + p.kind 'range' p.unit 'MB' p.value 10240 p.range_first 7680 @@ -100,7 +100,7 @@ end
Factory.define :agg_hwp2_storage, :parent => :hardware_profile_property do |p| p.name 'storage' - p.kind :enum + p.kind 'enum' p.unit 'GB' p.value 850 # p.property_enum_entries { |p| [p.association(:agg_hwp2_storage_enum1), @@ -109,14 +109,14 @@ end
Factory.define :agg_hwp2_cpu, :parent => :hardware_profile_property do |p| p.name 'cpu' - p.kind :fixed + p.kind 'fixed' p.unit 'count' p.value 2 end
Factory.define :agg_hwp2_arch, :parent => :hardware_profile_property do |p| p.name 'architecture' - p.kind :fixed + p.kind 'fixed' p.unit 'label' p.value 'x86_64' end