Class: SocialPlus::WebApi::Client
- Inherits:
-
Object
- Object
- SocialPlus::WebApi::Client
- Defined in:
- lib/social_plus/web_api/client.rb
Overview
A class which wraps calls to Social Plus Web API
Instance Method Summary collapse
-
#execute(method, parameters = {}) ⇒ Hash
Executes a Social Plus Web API.
-
#initialize(api_key) ⇒ Client
constructor
A new instance of Client.
Constructor Details
#initialize(api_key) ⇒ Client
Returns a new instance of Client.
23 24 25 26 27 |
# File 'lib/social_plus/web_api/client.rb', line 23 def initialize(api_key) raise ArgumentError, 'invalid API key' unless API_KEY_RE =~ api_key @api_key = api_key.freeze freeze end |
Instance Method Details
#execute(method, parameters = {}) ⇒ Hash
Executes a Social Plus Web API
37 38 39 40 41 42 43 44 45 46 |
# File 'lib/social_plus/web_api/client.rb', line 37 def execute(method, parameters={}) parameters = parameters.with_indifferent_access http_method = parameters.delete(:via) || :get response = request(http_method, method, parameters.merge(key: @api_key)) result = parse_as_json(response.body) ApiError.exception_from_api_result(response, result) unless response.is_a?(Net::HTTPOK) result.except('status') end |