Class: EventBright::ApiObjectCollection
- Inherits:
-
Object
- Object
- EventBright::ApiObjectCollection
show all
- Defined in:
- lib/eventbright/api_object_collection.rb
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize(owner = false, hash_array = [], parent = false) ⇒ ApiObjectCollection
Returns a new instance of ApiObjectCollection.
4
5
6
7
8
9
10
|
# File 'lib/eventbright/api_object_collection.rb', line 4
def initialize(owner = false, hash_array = [], parent = false)
@owner = owner
hash_array = [] if hash_array.nil?
arr = hash_array.map{|v| v[self.class.singlet_name]}.reject{|v| v.empty? }
@array = arr.map{|v| self.class.collection_for.new(owner, v)}
@array = @array.reject{|v| v.__send__(self.class.collection_for.requires.first).nil? || v.__send__(self.class.collection_for.requires.first) == ""} unless self.class.collection_for.requires.empty?
end
|
Dynamic Method Handling
This class handles dynamic methods through the method_missing method
#method_missing(meth, *args, &block) ⇒ Object
34
35
36
|
# File 'lib/eventbright/api_object_collection.rb', line 34
def method_missing(meth, *args, &block)
@array.__send__(meth, *args, &block)
end
|
Class Method Details
.collection_for(type = false) ⇒ Object
39
40
41
42
|
# File 'lib/eventbright/api_object_collection.rb', line 39
def self.collection_for(type = false)
@collection_for = type if type
@collection_for
end
|
.getter(name = false) ⇒ Object
55
56
57
58
|
# File 'lib/eventbright/api_object_collection.rb', line 55
def self.getter(name = false)
@getter = name if name
@getter || "user_list_#{self.plural_name}"
end
|
.plural_name(name = false) ⇒ Object
49
50
51
52
|
# File 'lib/eventbright/api_object_collection.rb', line 49
def self.plural_name(name = false)
@plural_name = name if name
@plural_name || @collection_for.plural_name || "#{self.singlet_name}s"
end
|
.singlet_name(name = false) ⇒ Object
44
45
46
47
|
# File 'lib/eventbright/api_object_collection.rb', line 44
def self.singlet_name(name = false)
@singlet_name = name if name
@singlet_name || @collection_for.singlet_name
end
|
Instance Method Details
#dirty? ⇒ Boolean
26
27
28
29
30
31
32
|
# File 'lib/eventbright/api_object_collection.rb', line 26
def dirty?
is_dirty = false
@array.each do |a|
is_dirty = true if a.dirty?
end
is_dirty
end
|
#inspect ⇒ Object
12
13
14
|
# File 'lib/eventbright/api_object_collection.rb', line 12
def inspect
"#{@array.inspect}"
end
|
#save ⇒ Object
20
21
22
23
24
|
# File 'lib/eventbright/api_object_collection.rb', line 20
def save
@array.each do |a|
a.save if a.dirty?
end
end
|
#to_s ⇒ Object
16
17
18
|
# File 'lib/eventbright/api_object_collection.rb', line 16
def to_s
"#{@array.inspect}"
end
|