Sha256: 19b79f0573eaf42dd1177cb4b0c393dc49f6a2448bff6d66fca6fcaaa42f166a
Contents?: true
Size: 744 Bytes
Versions: 1
Compression:
Stored size: 744 Bytes
Contents
module JsonbAccessor class NestedBase attr_accessor :attributes, :parent alias_method :to_h, :attributes delegate :[], to: :attributes delegate :nested_classes, :attribute_on_parent_name, to: :class def initialize(attributes = {}) self.attributes = {}.with_indifferent_access nested_classes.keys.each do |key| send("#{key}=", nil) end attributes.each do |name, value| send("#{name}=", value) end end def update_parent parent.send("#{attribute_on_parent_name}=", self) if parent end def []=(key, value) send("#{key}=", value) end def ==(suspect) self.class == suspect.class && attributes == suspect.attributes end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
jsonb_accessor-0.2.0 | lib/jsonb_accessor/nested_base.rb |