class Postnord::Base

Public Class Methods

call(params) click to toggle source
# File lib/postnord/base.rb, line 5
def self.call(params)
  validate_params(params)

  client.do_request(service, endpoint, params)
end
client() click to toggle source
# File lib/postnord/base.rb, line 11
def self.client
  @client ||= Client.new
end

Private Class Methods

action() click to toggle source
# File lib/postnord/base.rb, line 25
def self.action
  self.name.split('::').last.tap { |e| e[0] = e[0].downcase }
end
endpoint() click to toggle source
# File lib/postnord/base.rb, line 33
def self.endpoint
  fail NotImplementedError, 'endpoint'
end
mandatory_params() click to toggle source
# File lib/postnord/base.rb, line 29
def self.mandatory_params
  fail NotImplementedError, 'mandatory_params'
end
validate_params(params) click to toggle source
# File lib/postnord/base.rb, line 17
def self.validate_params(params)
  missing_params = (mandatory_params - params.keys.map(&:to_s))

  unless missing_params.empty?
    fail MissingMandatoryParameters, missing_params
  end
end