Class: Senkyoshi::Collection
- Inherits:
-
Object
- Object
- Senkyoshi::Collection
- Defined in:
- lib/senkyoshi/collection.rb
Instance Attribute Summary collapse
-
#resources ⇒ Object
readonly
Returns the value of attribute resources.
Instance Method Summary collapse
- #add(resources) ⇒ Object
- #detect_xid(xid) ⇒ Object
- #each ⇒ Object
- #find_by_id(id) ⇒ Object
- #find_instances_not_of(types) ⇒ Object
- #find_instances_of(class_name) ⇒ Object
-
#initialize(resources = []) ⇒ Collection
constructor
A new instance of Collection.
Constructor Details
#initialize(resources = []) ⇒ Collection
Returns a new instance of Collection.
20 21 22 |
# File 'lib/senkyoshi/collection.rb', line 20 def initialize(resources = []) @resources = resources end |
Instance Attribute Details
#resources ⇒ Object (readonly)
Returns the value of attribute resources.
18 19 20 |
# File 'lib/senkyoshi/collection.rb', line 18 def resources @resources end |
Instance Method Details
#add(resources) ⇒ Object
24 25 26 |
# File 'lib/senkyoshi/collection.rb', line 24 def add(resources) @resources.concat(resources) end |
#detect_xid(xid) ⇒ Object
28 29 30 31 32 |
# File 'lib/senkyoshi/collection.rb', line 28 def detect_xid(xid) @resources.detect do |resource| resource.matches_xid? xid end end |
#each ⇒ Object
48 49 50 51 52 53 |
# File 'lib/senkyoshi/collection.rb', line 48 def each @resources.each do |resource| yield resource end self end |
#find_by_id(id) ⇒ Object
34 35 36 |
# File 'lib/senkyoshi/collection.rb', line 34 def find_by_id(id) @resources.detect { |item| item.respond_to?(:id) && item.id == id } end |
#find_instances_not_of(types) ⇒ Object
42 43 44 45 46 |
# File 'lib/senkyoshi/collection.rb', line 42 def find_instances_not_of(types) @resources.select do |res| types.each { |type| res.class != type } end end |
#find_instances_of(class_name) ⇒ Object
38 39 40 |
# File 'lib/senkyoshi/collection.rb', line 38 def find_instances_of(class_name) @resources.select { |res| res.class == class_name } end |