Module: Collectable::ClassMethods

Defined in:
lib/collectable.rb

Instance Method Summary collapse

Instance Method Details

#characteristic(characteristic_name) ⇒ Object



21
22
23
24
# File 'lib/collectable.rb', line 21

def characteristic(characteristic_name)
  characteristics.push(characteristic_name.to_s.downcase)
  characteristics.uniq!
end

#characteristicsObject



17
18
19
# File 'lib/collectable.rb', line 17

def characteristics
  @characteristics ||= []
end

#collected(sort_field = :name) ⇒ Object



26
27
28
29
30
31
32
# File 'lib/collectable.rb', line 26

def collected(sort_field = :name)
  characteristics.each_with_index.map {|name, index|
    OpenStruct.new(name: name, value: index)
  }.sort {|a,b| 
    a.send(sort_field) <=> b.send(sort_field)
  }
end

#nameObject



13
14
15
# File 'lib/collectable.rb', line 13

def name
  :name
end

#valueObject



9
10
11
# File 'lib/collectable.rb', line 9

def value
  :value
end