Class: FlattenRecord::Meta::ComputeColumn

Inherits:
Column
  • Object
show all
Defined in:
lib/flatten_record/meta/compute_column.rb

Instance Attribute Summary

Attributes inherited from Column

#column

Attributes inherited from Node

#children, #model, #parent, #target_model

Instance Method Summary collapse

Methods inherited from Column

#name, #nullify, #type

Methods inherited from Node

#prefix, #traverse_by

Constructor Details

#initialize(parent, method, type, target_model, model, options = {}) ⇒ ComputeColumn

Returns a new instance of ComputeColumn.



4
5
6
7
8
9
10
# File 'lib/flatten_record/meta/compute_column.rb', line 4

def initialize(parent, method, type, target_model, model, options={})
  @column = Struct.
    new(:name, :default, :type, :null). 
    new(method, options[:default], type, options[:null])  
  
  super(parent, @column, target_model, model) 
end

Instance Method Details

#denormalize(instance, to_record) ⇒ Object



12
13
14
15
16
# File 'lib/flatten_record/meta/compute_column.rb', line 12

def denormalize(instance, to_record)
  assign_value(to_record, name) do |record|
    record.send("compute_#{@column.name}".to_sym, instance)
  end
end