Class: EacRest::Api
- Inherits:
-
Object
- Object
- EacRest::Api
- Defined in:
- lib/eac_rest/api.rb
Overview
Abstract methods
* self.issue_get_url_suffix(provider_issue_id)
Constant Summary collapse
- DEFAULT_ROOT_ENTITY_CLASS_NAME_SUFFIX =
'Root'
Instance Attribute Summary collapse
-
#ssl_verify ⇒ Object
Returns the value of attribute ssl_verify.
Instance Method Summary collapse
- #build_service_url(suffix) ⇒ Addressable::URI
- #build_service_url_suffix(suffix) ⇒ Addressable::URI
- #entity(entity_class, data_or_id, options = {}) ⇒ EacRest::Entity
- #request(service_url_suffix, headers = {}, &body_data_proc) ⇒ Object
- #request_json(service_url_suffix, headers = {}, &body_data_proc) ⇒ Object
- #root_entity ⇒ EacRest::Entity
- #root_entity_class ⇒ Class
Instance Attribute Details
#ssl_verify ⇒ Object
Returns the value of attribute ssl_verify.
13 14 15 |
# File 'lib/eac_rest/api.rb', line 13 def ssl_verify @ssl_verify end |
Instance Method Details
#build_service_url(suffix) ⇒ Addressable::URI
42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/eac_rest/api.rb', line 42 def build_service_url(suffix) r = ::Addressable::URI.parse(suffix) return r if r.scheme.present? s = build_service_url_suffix(suffix) r = ::Addressable::URI.parse(root_url) r.path += s.path r.query_values = r.query_values(::Array).if_present([]) + s.query_values(::Array).if_present([]) r end |
#build_service_url_suffix(suffix) ⇒ Addressable::URI
55 56 57 |
# File 'lib/eac_rest/api.rb', line 55 def build_service_url_suffix(suffix) ::Addressable::URI.parse(suffix) end |
#entity(entity_class, data_or_id, options = {}) ⇒ EacRest::Entity
21 22 23 |
# File 'lib/eac_rest/api.rb', line 21 def entity(entity_class, data_or_id, = {}) entity_class.new(self, data_or_id, ) end |
#request(service_url_suffix, headers = {}, &body_data_proc) ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/eac_rest/api.rb', line 25 def request(service_url_suffix, headers = {}, &body_data_proc) r = ::EacRest::Request.new(build_service_url(service_url_suffix), body_data_proc).ssl_verify(ssl_verify) headers.each { |name, value| r = r.header(name, value) } r = r.autenticate(username, password) if username.present? r end |
#request_json(service_url_suffix, headers = {}, &body_data_proc) ⇒ Object
33 34 35 36 37 38 39 |
# File 'lib/eac_rest/api.rb', line 33 def request_json(service_url_suffix, headers = {}, &body_data_proc) request(service_url_suffix, headers.merge('Accept' => 'application/json')) do |body_data| r = body_data.is_a?(::Enumerable) ? body_data : ::JSON.parse(body_data) r = body_data_proc.call(r) if body_data_proc r end end |
#root_entity ⇒ EacRest::Entity
60 61 62 |
# File 'lib/eac_rest/api.rb', line 60 def root_entity @root_entity ||= root_entity_class.new(self, nil) end |
#root_entity_class ⇒ Class
65 66 67 |
# File 'lib/eac_rest/api.rb', line 65 def root_entity_class self.class.const_get(DEFAULT_ROOT_ENTITY_CLASS_NAME_SUFFIX) end |