Module: Sequel::Extensions::StoreAccessor

Defined in:
lib/sequel/extensions/store_accessor.rb

Instance Method Summary collapse

Instance Method Details

#store_accessor(field, *accessors) ⇒ Object



4
5
6
7
8
9
10
11
12
13
14
# File 'lib/sequel/extensions/store_accessor.rb', line 4

def store_accessor(field, *accessors)
  accessors.each do |accessor|
    define_method accessor do
      self[field]&.send(:[], accessor.to_s)
    end

    define_method "#{accessor}=" do |value|
      send "#{field}=", (self[field] || {}).merge({ accessor.to_s => value })
    end
  end
end