Class: Aliyun::ESS::Collection
- Inherits:
-
Object
- Object
- Aliyun::ESS::Collection
- Includes:
- SelectiveAttributeProxy
- Defined in:
- lib/aliyun/ess/collection.rb
Instance Attribute Summary collapse
-
#attributes ⇒ Object
readonly
Returns the value of attribute attributes.
-
#response ⇒ Object
readonly
Returns the value of attribute response.
Instance Method Summary collapse
- #build_items! ⇒ Object
-
#initialize(response) ⇒ Collection
constructor
A new instance of Collection.
- #items ⇒ Object
Methods included from SelectiveAttributeProxy
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
#attributes ⇒ Object (readonly)
Returns the value of attribute attributes.
7 8 9 |
# File 'lib/aliyun/ess/collection.rb', line 7 def attributes @attributes end |
#response ⇒ Object (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 |
#items ⇒ Object
14 15 16 |
# File 'lib/aliyun/ess/collection.rb', line 14 def items @items ||= build_items! end |