Module: Collectable::ClassMethods
- Defined in:
- lib/collectable.rb
Instance Method Summary collapse
- #collected(sort_field = :name) ⇒ Object
- #name ⇒ Object
- #trait(trait_name) ⇒ Object
- #traits ⇒ Object
- #value ⇒ Object
Instance Method Details
#collected(sort_field = :name) ⇒ Object
26 27 28 29 30 31 32 |
# File 'lib/collectable.rb', line 26 def collected(sort_field = :name) traits.each_with_index.map {|name, index| OpenStruct.new(name: name, value: index) }.sort {|a,b| a.send(sort_field) <=> b.send(sort_field) } end |
#name ⇒ Object
13 14 15 |
# File 'lib/collectable.rb', line 13 def name :name end |
#trait(trait_name) ⇒ Object
21 22 23 24 |
# File 'lib/collectable.rb', line 21 def trait(trait_name) traits.push(trait_name.to_s.downcase) traits.uniq! end |
#traits ⇒ Object
17 18 19 |
# File 'lib/collectable.rb', line 17 def traits @traits ||= [] end |
#value ⇒ Object
9 10 11 |
# File 'lib/collectable.rb', line 9 def value :value end |