Module: JSONAPIonify::Structure::Helpers::ObjectDefaults

Extended by:
ActiveSupport::Concern
Includes:
EnumerableObserver
Included in:
Objects::Base
Defined in:
lib/jsonapionify/structure/helpers/object_defaults.rb

Defined Under Namespace

Modules: ClassMethods

Instance Method Summary collapse

Instance Method Details

#[](k) ⇒ Object



70
71
72
73
74
75
76
77
78
79
80
# File 'lib/jsonapionify/structure/helpers/object_defaults.rb', line 70

def [](k)
  if has_key? k
    super
  elsif collections[k]
    @unset[k] ||= [].tap do |ary|
      observe(ary).added { self[k] = ary }
    end
  else
    nil
  end
end

#[]=(k, v) ⇒ Object



82
83
84
85
# File 'lib/jsonapionify/structure/helpers/object_defaults.rb', line 82

def []=(k, v)
  unset.delete_if { |unset_key, _| unset_key == k }
  super k, coerce_value(k, v)
end