Class: Vedeu::Model::Collection
- Inherits:
-
Object
- Object
- Vedeu::Model::Collection
show all
- Includes:
- Enumerable
- Defined in:
- lib/vedeu/models/collection.rb
Overview
Convert an Array into an object which has some meaning in the context it is being used.
Instance Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(collection = [], parent = nil, name = nil) ⇒ Vedeu::Model::Collection
32
33
34
35
36
|
# File 'lib/vedeu/models/collection.rb', line 32
def initialize(collection = [], parent = nil, name = nil)
@collection = collection
@parent = parent
@name = name
end
|
Instance Attribute Details
#name ⇒ Object
Returns the value of attribute name.
12
13
14
|
# File 'lib/vedeu/models/collection.rb', line 12
def name
@name
end
|
#parent ⇒ Object
Returns the value of attribute parent.
12
13
14
|
# File 'lib/vedeu/models/collection.rb', line 12
def parent
@parent
end
|
Class Method Details
.coerce(collection = [], parent = nil, name = nil) ⇒ Vedeu::Model::Collection
18
19
20
21
22
23
24
25
26
|
# File 'lib/vedeu/models/collection.rb', line 18
def self.coerce(collection = [], parent = nil, name = nil)
if collection.kind_of?(Vedeu::Model::Collection)
collection
else
new(Array(collection), parent, name)
end
end
|
Instance Method Details
#[](value) ⇒ void
This method returns an undefined value.
40
41
42
|
# File 'lib/vedeu/models/collection.rb', line 40
def [](value)
@collection[value]
end
|
46
47
48
|
# File 'lib/vedeu/models/collection.rb', line 46
def add(*other)
self.class.new(@collection += other, parent, name)
end
|
#all ⇒ Array
52
53
54
|
# File 'lib/vedeu/models/collection.rb', line 52
def all
@collection
end
|
#each(&block) ⇒ Enumerator
58
59
60
|
# File 'lib/vedeu/models/collection.rb', line 58
def each(&block)
@collection.each(&block)
end
|
#empty? ⇒ Boolean
63
64
65
|
# File 'lib/vedeu/models/collection.rb', line 63
def empty?
@collection.empty?
end
|
68
69
70
|
# File 'lib/vedeu/models/collection.rb', line 68
def size
@collection.size
end
|
#to_s ⇒ String
73
74
75
|
# File 'lib/vedeu/models/collection.rb', line 73
def to_s
@collection.map(&:to_s).join
end
|