Class: SolarEdge::Sites
- Inherits:
-
Object
- Object
- SolarEdge::Sites
- Includes:
- Enumerable
- Defined in:
- lib/solar_edge/sites.rb
Instance Method Summary collapse
- #each ⇒ Object
- #find(id) ⇒ Object
-
#initialize(client, params) ⇒ Sites
constructor
A new instance of Sites.
- #size ⇒ Object
Constructor Details
#initialize(client, params) ⇒ Sites
Returns a new instance of Sites.
7 8 9 |
# File 'lib/solar_edge/sites.rb', line 7 def initialize(client, params) @client, @params = client, params end |
Instance Method Details
#each ⇒ Object
21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
# File 'lib/solar_edge/sites.rb', line 21 def each params = @params.dup params[:size] = 100 params[:startIndex] = 0 while true sites = @client.send(:query, '/sites/list', params)['sites'] sites['site'].each do |site| yield Site.new(@client, site) end break if sites['site'].length < params[:size] || params[:startIndex] + sites['site'].length == sites['count'] params[:startIndex] += sites['site'].length end end |
#find(id) ⇒ Object
11 12 13 |
# File 'lib/solar_edge/sites.rb', line 11 def find(id) Site.new(@client, id) end |
#size ⇒ Object
15 16 17 18 19 |
# File 'lib/solar_edge/sites.rb', line 15 def size params = @params.dup params[:size] = 1 @client.send(:query, '/sites/list', params)['sites']['count'] end |