Class: ActiveType::VirtualAttributes::VirtualColumn

Inherits:
Object
  • Object
show all
Defined in:
lib/active_type/virtual_attributes.rb

Instance Method Summary collapse

Constructor Details

#initialize(name, type_caster, options) ⇒ VirtualColumn

Returns a new instance of VirtualColumn.



13
14
15
16
17
# File 'lib/active_type/virtual_attributes.rb', line 13

def initialize(name, type_caster, options)
  @name = name
  @type_caster = type_caster
  @options = options
end

Instance Method Details

#default_value(object) ⇒ Object



23
24
25
26
# File 'lib/active_type/virtual_attributes.rb', line 23

def default_value(object)
  default = @options[:default]
  default.respond_to?(:call) ? object.instance_eval(&default) : default
end

#type_cast(value) ⇒ Object



19
20
21
# File 'lib/active_type/virtual_attributes.rb', line 19

def type_cast(value)
  @type_caster.type_cast_from_user(value)
end