Module: Sequel::Plugins::StoreAccessors::ClassMethods

Defined in:
lib/sequel/plugins/store_accessors.rb

Instance Method Summary collapse

Instance Method Details

#call(_) ⇒ Object



27
28
29
# File 'lib/sequel/plugins/store_accessors.rb', line 27

def call(_)
  super.tap(&:calculate_initial_store)
end

#store(column, *fields) ⇒ Object

Setup a store

Examples:

class User < Sequel::Model
   store :data, :first_name
end

user = User.create(first_name: "John")
user.first_name # => "John"
user.data # => {"first_name": "John"}

Parameters:

  • column (Symbol)

    jsonb column

  • fields (Array<Symbol>)

    keys in json, which will be accessors



18
19
20
21
22
23
24
25
# File 'lib/sequel/plugins/store_accessors.rb', line 18

def store(column, *fields)
  include_accessors_module(column)

  fields.each do |field|
    define_store_getter(column, field)
    define_store_setter(column, field)
  end
end