Class: ActiveRecord::TypedStore::DSL

Inherits:
Object
  • Object
show all
Defined in:
lib/active_record/typed_store/dsl.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(accessors = true) {|_self| ... } ⇒ DSL

Returns a new instance of DSL.

Yields:

  • (_self)

Yield Parameters:



7
8
9
10
11
# File 'lib/active_record/typed_store/dsl.rb', line 7

def initialize(accessors=true)
  @accessors = accessors
  @columns = []
  yield self
end

Instance Attribute Details

#columnsObject (readonly)

Returns the value of attribute columns.



5
6
7
# File 'lib/active_record/typed_store/dsl.rb', line 5

def columns
  @columns
end

Instance Method Details

#accessorsObject



13
14
15
# File 'lib/active_record/typed_store/dsl.rb', line 13

def accessors
  @columns.select(&:accessor?).map(&:name)
end

#decimal(name, options = {}) ⇒ Object



23
24
25
# File 'lib/active_record/typed_store/dsl.rb', line 23

def decimal(name, options = {})
  @columns << Column.new(name, :decimal, {accessor: @accessors, limit: 20, scale: 6}.merge(options))
end