Module: Valium::ValueOf
- Defined in:
- lib/valium.rb
Instance Method Summary collapse
- #value_of(*args) ⇒ Object (also: #[])
Instance Method Details
#value_of(*args) ⇒ Object Also known as: []
89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/valium.rb', line 89 def value_of(*args) if args.size > 0 && args.all? {|a| String === a || Symbol === a} 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[*args] } end else to_a[*args] end end |