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