Module: Carpenter::Model::Strategy::Base

Included in:
Array, JSON
Defined in:
lib/struct_declaration.rb,
lib/carpenter/model/strategy/base.rb

Instance Method Summary collapse

Instance Method Details

#casted_valueObject



12
# File 'lib/carpenter/model/strategy/base.rb', line 12

def casted_value = @type_caster.cast(raw_value) || @default

#coerce(other) ⇒ Object



26
# File 'lib/carpenter/model/strategy/base.rb', line 26

def coerce(other) = [other, get]

#dupObject



22
# File 'lib/carpenter/model/strategy/base.rb', line 22

def dup = self.class.new(@definition, @key)

#empty?Boolean

Returns:

  • (Boolean)


23
# File 'lib/carpenter/model/strategy/base.rb', line 23

def empty? = (value = get) ? value.empty? : true

#getObject



16
# File 'lib/carpenter/model/strategy/base.rb', line 16

def get = value

#inspectObject



25
# File 'lib/carpenter/model/strategy/base.rb', line 25

def inspect = get.inspect

#raw_valueObject



11
# File 'lib/carpenter/model/strategy/base.rb', line 11

def raw_value = Carpenter::REDIS&.get(@key)

#reloadObject



14
# File 'lib/carpenter/model/strategy/base.rb', line 14

def reload = (@value = casted_value if @store)

#set(value) ⇒ Object



18
19
20
# File 'lib/carpenter/model/strategy/base.rb', line 18

def set(value)
  Carpenter::REDIS&.set(@key, @type_caster.stringify(value))
end

#to_sObject



24
# File 'lib/carpenter/model/strategy/base.rb', line 24

def to_s = get.to_s

#valueObject



3
4
5
6
7
8
9
# File 'lib/carpenter/model/strategy/base.rb', line 3

def value
  if @store
    @value ||= casted_value
  else
    casted_value
  end
end