Class: Aliyun::ESS::Collection

Inherits:
Object
  • Object
show all
Includes:
SelectiveAttributeProxy
Defined in:
lib/aliyun/ess/collection.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from SelectiveAttributeProxy

included

Constructor Details

#initialize(response) ⇒ Collection

Returns a new instance of Collection.



9
10
11
12
# File 'lib/aliyun/ess/collection.rb', line 9

def initialize(response)
  @response   = response
  @attributes = response.parsed.slice(*%W{page_number page_size total_count})
end

Instance Attribute Details

#attributesObject (readonly)

Returns the value of attribute attributes.



7
8
9
# File 'lib/aliyun/ess/collection.rb', line 7

def attributes
  @attributes
end

#responseObject (readonly)

Returns the value of attribute response.



7
8
9
# File 'lib/aliyun/ess/collection.rb', line 7

def response
  @response
end

Instance Method Details

#build_items!Object



18
19
20
21
# File 'lib/aliyun/ess/collection.rb', line 18

def build_items!
  item_class = eval response.class.name.sub(/::Response$/, '')
  response.items.map{|e| item_class.new e }
end

#itemsObject



14
15
16
# File 'lib/aliyun/ess/collection.rb', line 14

def items
  @items ||= build_items!
end