lib/object.rb in machinery-tool-1.1.0 vs lib/object.rb in machinery-tool-1.1.1
- old
+ new
@@ -21,11 +21,11 @@
def has_property(name, options)
@property_classes ||= {}
@property_classes[name.to_sym] = options[:class]
end
- def from_json(json)
+ def object_hash_from_json(json)
return nil unless json
entries = json.map do |key, value|
value_converted = if @property_classes && @property_classes[key.to_sym]
@property_classes[key.to_sym].from_json(value)
@@ -41,16 +41,24 @@
end
[key, value_converted]
end
- new(Hash[entries])
+ Hash[entries]
end
+
+ def from_json(json)
+ new(object_hash_from_json(json))
+ end
end
attr_reader :attributes
def initialize(attrs = {})
+ set_attributes(attrs)
+ end
+
+ def set_attributes(attrs)
@attributes = attrs.inject({}) do |attributes, (key, value)|
key = key.to_sym if key.respond_to?(:to_sym)
attributes[key] = value
attributes