Module: Scam::ClassMethods
- Defined in:
- lib/scam.rb
Instance Method Summary collapse
- #all ⇒ Object
- #create(attrs = {}) ⇒ Object
- #each ⇒ Object
- #find(id) ⇒ Object (also: #[])
- #sorted_by(attribute = nil) ⇒ Object
Instance Method Details
#all ⇒ Object
13 14 15 |
# File 'lib/scam.rb', line 13 def all instances.sort_by { |i| i.send(sorted_by) } end |
#create(attrs = {}) ⇒ Object
23 24 25 |
# File 'lib/scam.rb', line 23 def create(attrs={}) new(attrs).tap { |i| instances << i } end |
#each ⇒ Object
27 28 29 |
# File 'lib/scam.rb', line 27 def each instances.each { |i| yield(i) } end |
#find(id) ⇒ Object Also known as: []
31 32 33 |
# File 'lib/scam.rb', line 31 def find(id) detect { |i| i.id == id.to_i } end |
#sorted_by(attribute = nil) ⇒ Object
17 18 19 20 21 |
# File 'lib/scam.rb', line 17 def sorted_by(attribute=nil) @sorted_by = attribute unless attribute.nil? @sorted_by = :id if @sorted_by.nil? @sorted_by end |