Module: Valium::ValueOf

Defined in:
lib/valium.rb

Instance Method Summary collapse

Instance Method Details

#value_of(*args) ⇒ Object



89
90
91
92
93
94
95
96
97
98
99
100
# File 'lib/valium.rb', line 89

def value_of(*args)
  args.map! do |attr_name|
    attr_name = attr_name.to_s
    attr_name == 'id' ? klass.primary_key : attr_name
  end

  if loaded? && (empty? || args.all? {|a| first.attributes.has_key? a})
    to_a.map {|record| args.map {|a| record[a]}}
  else
    scoping { klass.value_of *args }
  end
end