Class: Vedeu::Collection
- Inherits:
-
Object
- Object
- Vedeu::Collection
- Includes:
- Enumerable
- Defined in:
- lib/vedeu/repositories/collection.rb
Overview
Convert an Array into an object which has some meaning in the context it is being used.
Direct Known Subclasses
Events::Collection, Input::Keys, Views::Chars, Views::Lines, Views::Streams, Views::ViewCollection
Instance Attribute Summary collapse
- #collection ⇒ Array|Vedeu::Collection (also: #all) readonly
- #name ⇒ String
- #parent ⇒ Fixnum
Class Method Summary collapse
Instance Method Summary collapse
-
#[](value) ⇒ void
Fetch an entry from the collection via index.
-
#add(*other) ⇒ Vedeu::Collection
(also: #<<)
Adds an entry to the collection.
-
#each(&block) ⇒ Enumerator
Provides iteration over the collection.
-
#empty? ⇒ Boolean
Returns a boolean indicating whether the collection is empty.
-
#eql?(other) ⇒ Boolean
(also: #==)
An object is equal when its values are the same.
-
#initialize(collection = [], parent = nil, name = nil) ⇒ Vedeu::Collection
constructor
Returns a new instance of Vedeu::Collection.
-
#size ⇒ Fixnum
Returns the size of the collection.
-
#to_s ⇒ String
(also: #to_str)
Returns the collection as a String.
Constructor Details
#initialize(collection = [], parent = nil, name = nil) ⇒ Vedeu::Collection
Returns a new instance of Vedeu::Collection.
43 44 45 46 47 |
# File 'lib/vedeu/repositories/collection.rb', line 43 def initialize(collection = [], parent = nil, name = nil) @collection = collection @parent = parent @name = name end |
Instance Attribute Details
#collection ⇒ Array|Vedeu::Collection (readonly) Also known as: all
12 13 14 |
# File 'lib/vedeu/repositories/collection.rb', line 12 def collection @collection end |
#name ⇒ String
21 22 23 |
# File 'lib/vedeu/repositories/collection.rb', line 21 def name @name end |
#parent ⇒ Fixnum
17 18 19 |
# File 'lib/vedeu/repositories/collection.rb', line 17 def parent @parent end |
Class Method Details
.coerce(collection = [], parent = nil, name = nil) ⇒ Vedeu::Collection
27 28 29 30 31 32 33 34 35 |
# File 'lib/vedeu/repositories/collection.rb', line 27 def self.coerce(collection = [], parent = nil, name = nil) if collection.is_a?(Vedeu::Collection) collection else new(Array(collection), parent, name) end end |
Instance Method Details
#[](value) ⇒ void
This method returns an undefined value.
Fetch an entry from the collection via index.
53 54 55 |
# File 'lib/vedeu/repositories/collection.rb', line 53 def [](value) collection[value] end |
#add(*other) ⇒ Vedeu::Collection Also known as: <<
Adds an entry to the collection.
61 62 63 |
# File 'lib/vedeu/repositories/collection.rb', line 61 def add(*other) self.class.new(@collection += other, parent, name) end |
#each(&block) ⇒ Enumerator
Provides iteration over the collection.
70 71 72 |
# File 'lib/vedeu/repositories/collection.rb', line 70 def each(&block) collection.each(&block) end |
#empty? ⇒ Boolean
Returns a boolean indicating whether the collection is empty.
77 78 79 |
# File 'lib/vedeu/repositories/collection.rb', line 77 def empty? collection.empty? end |
#eql?(other) ⇒ Boolean Also known as: ==
An object is equal when its values are the same.
85 86 87 |
# File 'lib/vedeu/repositories/collection.rb', line 85 def eql?(other) self.class == other.class && collection == other.collection end |
#size ⇒ Fixnum
Returns the size of the collection.
93 94 95 |
# File 'lib/vedeu/repositories/collection.rb', line 93 def size collection.size end |
#to_s ⇒ String Also known as: to_str
Returns the collection as a String.
100 101 102 |
# File 'lib/vedeu/repositories/collection.rb', line 100 def to_s collection.map(&:to_s).join end |