class AusPostAPI::Endpoint
Public Class Methods
new(attributes, config, uri_handler = AusPostAPI::UriHandler)
click to toggle source
# File lib/aus_post_api/endpoint.rb, line 18 def initialize(attributes, config, uri_handler = AusPostAPI::UriHandler) @config = config @attributes = attributes @uri_handler = uri_handler set_attributes end
Public Instance Methods
execute()
click to toggle source
# File lib/aus_post_api/endpoint.rb, line 26 def execute @uri_handler.call(uri, headers) end
Private Instance Methods
headers()
click to toggle source
# File lib/aus_post_api/endpoint.rb, line 36 def headers raise ImplementationError.new("headers") end
set_attributes()
click to toggle source
# File lib/aus_post_api/endpoint.rb, line 40 def set_attributes required_param = -> (attr) { raise RequiredArgumentError.new(attr) } required_attributes.each do |attr| self.send("#{attr}=", @attributes.fetch(attr, &required_param)) end optional_attributes.each do |attr| if @attributes.has_key?(attr) self.send("#{attr}=", @attributes.fetch(attr)) end end end
uri()
click to toggle source
# File lib/aus_post_api/endpoint.rb, line 32 def uri raise ImplementationError.new("uri") end