Module: DomoscioAdmin
- Defined in:
- lib/domoscio_admin.rb,
lib/domoscio_admin/json.rb,
lib/domoscio_admin/errors.rb,
lib/domoscio_admin/version.rb,
lib/domoscio_admin/http_calls.rb,
lib/domoscio_admin/resources/resource.rb,
lib/domoscio_admin/authorization_token.rb,
lib/domoscio_admin/resources/users/user.rb,
lib/domoscio_admin/resources/resource_user.rb,
lib/domoscio_admin/resources/resource_instance.rb,
lib/domoscio_admin/generators/install_generator.rb,
lib/domoscio_admin/resources/instances/instance_user.rb,
lib/domoscio_admin/resources/instances/instance_parameter.rb
Defined Under Namespace
Modules: AuthorizationToken, HTTPCalls, JSON Classes: Configuration, Error, InstallGenerator, InstanceParameter, InstanceUser, ProcessingError, Resource, ResourceInstance, ResourceUser, ResponseError, User
Constant Summary collapse
- VERSION =
"0.2.0"
Class Attribute Summary collapse
-
.configuration ⇒ Object
Returns the value of attribute configuration.
Class Method Summary collapse
- .api_uri(url = '') ⇒ Object
- .configure {|configuration| ... } ⇒ Object
-
.request(method, url, params = {}) ⇒ Object
-
method: HTTP method; lowercase symbol, e.g.
-
Class Attribute Details
.configuration ⇒ Object
Returns the value of attribute configuration.
30 31 32 |
# File 'lib/domoscio_admin.rb', line 30 def configuration @configuration end |
Class Method Details
.api_uri(url = '') ⇒ Object
38 39 40 |
# File 'lib/domoscio_admin.rb', line 38 def self.api_uri(url = '') URI(configuration.root_url + url) end |
.configure {|configuration| ... } ⇒ Object
33 34 35 36 |
# File 'lib/domoscio_admin.rb', line 33 def self.configure self.configuration ||= Configuration.new yield configuration end |
.request(method, url, params = {}) ⇒ Object
-
method: HTTP method; lowercase symbol, e.g. :get, :post etc. -
url: the part after Configuration#root_url -
params: hash; entity data for creation, update etc.; will dump it by JSON and assign to Net::HTTPRequest#body
Performs HTTP requests to Adaptive Engine On token issues, will try once to get a new token then will output a DomoscioAdmin::ReponseError with details
Raises DomoscioAdmin::ResponseError on Adaptive Error Status Raises DomoscioAdmin::ProcessingError on Internal Error
53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 |
# File 'lib/domoscio_admin.rb', line 53 def self.request(method, url, params = {}) store_tokens, headers = request_headers uri = api_uri(url) response = DomoscioAdmin.send_request(uri, method, params, headers) return response if response.kind_of? DomoscioAdmin::ProcessingError begin raise_http_failure(uri, response, params) data = DomoscioAdmin::JSON.load(response.body.nil? ? '' : response.body) DomoscioAdmin::AuthorizationToken::Manager.storage.store({ access_token: response['Accesstoken'], refresh_token: response['Refreshtoken'] }) if store_tokens rescue MultiJson::LoadError => exception data = ProcessingError.new(uri, 500, exception, response.body, params) rescue ResponseError => exception data = exception end data end |