Class: MySolaredge::Response::AbstractResponse
- Inherits:
-
Object
- Object
- MySolaredge::Response::AbstractResponse
- Extended by:
- Forwardable
- Defined in:
- lib/my_solaredge/response/abstract_response.rb
Overview
Make response a bit easier to deal with in Ruby
Direct Known Subclasses
Energy, EnergyDetails, Overview, Power, Sites, TimeFrameEnergy
Instance Attribute Summary collapse
-
#raw_response ⇒ Object
readonly
Returns the value of attribute raw_response.
Instance Method Summary collapse
-
#initialize(raw_response) ⇒ AbstractResponse
constructor
A new instance of AbstractResponse.
- #ok? ⇒ Boolean
- #parse ⇒ Object
- #useful_body_data ⇒ Object
Constructor Details
#initialize(raw_response) ⇒ AbstractResponse
Returns a new instance of AbstractResponse.
15 16 17 18 |
# File 'lib/my_solaredge/response/abstract_response.rb', line 15 def initialize(raw_response) @raw_response = raw_response # responses are of the format {endpoint_name: { actual_data }} parse if ok? end |
Instance Attribute Details
#raw_response ⇒ Object (readonly)
Returns the value of attribute raw_response.
9 10 11 |
# File 'lib/my_solaredge/response/abstract_response.rb', line 9 def raw_response @raw_response end |
Instance Method Details
#ok? ⇒ Boolean
20 21 22 |
# File 'lib/my_solaredge/response/abstract_response.rb', line 20 def ok? raw_response.ok? end |
#parse ⇒ Object
24 25 26 |
# File 'lib/my_solaredge/response/abstract_response.rb', line 24 def parse @parsed_response = recursive_parse(useful_body_data) end |
#useful_body_data ⇒ Object
28 29 30 |
# File 'lib/my_solaredge/response/abstract_response.rb', line 28 def useful_body_data JSON.parse(raw_response.body).values.first end |