Class: AkamaiCCU::Wrapper
- Inherits:
-
Object
- Object
- AkamaiCCU::Wrapper
- Defined in:
- lib/akamai_ccu/wrapper.rb
Class Attribute Summary collapse
-
.client ⇒ Object
readonly
Returns the value of attribute client.
-
.logger ⇒ Object
Returns the value of attribute logger.
-
.secret ⇒ Object
readonly
Returns the value of attribute secret.
Instance Attribute Summary collapse
-
#response_klass ⇒ Object
Returns the value of attribute response_klass.
-
#signer_klass ⇒ Object
Returns the value of attribute signer_klass.
Class Method Summary collapse
Instance Method Summary collapse
- #call(objects) ⇒ Object
-
#initialize(endpoint:, headers: [], signer_klass: Signer, response_klass: Response) ⇒ Wrapper
constructor
A new instance of Wrapper.
Constructor Details
#initialize(endpoint:, headers: [], signer_klass: Signer, response_klass: Response) ⇒ Wrapper
Returns a new instance of Wrapper.
35 36 37 38 39 40 |
# File 'lib/akamai_ccu/wrapper.rb', line 35 def initialize(endpoint:, headers: [], signer_klass: Signer, response_klass: Response) @endpoint = endpoint @signer_klass = signer_klass @response_klass = response_klass @headers = headers end |
Class Attribute Details
.client ⇒ Object (readonly)
Returns the value of attribute client.
10 11 12 |
# File 'lib/akamai_ccu/wrapper.rb', line 10 def client @client end |
.logger ⇒ Object
Returns the value of attribute logger.
11 12 13 |
# File 'lib/akamai_ccu/wrapper.rb', line 11 def logger @logger end |
.secret ⇒ Object (readonly)
Returns the value of attribute secret.
10 11 12 |
# File 'lib/akamai_ccu/wrapper.rb', line 10 def secret @secret end |
Instance Attribute Details
#response_klass ⇒ Object
Returns the value of attribute response_klass.
33 34 35 |
# File 'lib/akamai_ccu/wrapper.rb', line 33 def response_klass @response_klass end |
#signer_klass ⇒ Object
Returns the value of attribute signer_klass.
33 34 35 |
# File 'lib/akamai_ccu/wrapper.rb', line 33 def signer_klass @signer_klass end |
Class Method Details
.setup(secret, client_klass = Client, logger = Logger.new(nil)) ⇒ Object
13 14 15 16 17 |
# File 'lib/akamai_ccu/wrapper.rb', line 13 def setup(secret, client_klass = Client, logger = Logger.new(nil)) @secret ||= secret @client ||= client_klass.new(host: @secret.host) @logger ||= logger end |
Instance Method Details
#call(objects) ⇒ Object
42 43 44 45 46 47 48 49 50 |
# File 'lib/akamai_ccu/wrapper.rb', line 42 def call(objects) response = self.class.client.call(path: @endpoint.path) do |request| request.body = { objects: objects }.to_json @signer_klass.new(request, self.class.secret.touch, @headers).call! self.class.logger.debug { "request: uri=#{request.path}; body=#{request.body}; authorization=#{request["Authorization"]}" } end self.class.logger.info { "response: inspect=#{response.inspect}; body=#{response.body}" } response_klass.new(response.body) end |