module Sequel::Extensions::StoreAccessor

Public Instance Methods

store_accessor(field, *accessors) click to toggle source
# 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