class IngramMicro::Configuration

Attributes

api_root[RW]
customer_id[RW]
debug[RW]
log_request_body[RW]
logger[RW]
partner_name[RW]
partner_password[RW]
proxy[RW]

Public Instance Methods

assert_valid() click to toggle source
# File lib/ingram_micro/configuration.rb, line 9
def assert_valid
  assert_present :partner_name
  assert_present :api_root
  assert_present :customer_id
  fail Error.new('logger must be set if debug is set') unless logger_valid?
  fail Error.new('customer_id must be an integer') unless customer_id_valid?
  fail Error.new('proxy must have protocol http://') unless proxy_valid?
end

Private Instance Methods

assert_present(field_name) click to toggle source
# File lib/ingram_micro/configuration.rb, line 20
def assert_present(field_name)
  fail Error.new("#{field_name} is required") unless present?(field_name)
end
customer_id_valid?() click to toggle source
# File lib/ingram_micro/configuration.rb, line 30
def customer_id_valid?
  customer_id.to_s =~ /^\d+$/
end
logger_valid?() click to toggle source
# File lib/ingram_micro/configuration.rb, line 24
def logger_valid?
  return true unless debug

  present?(:logger)
end
present?(field_name) click to toggle source
# File lib/ingram_micro/configuration.rb, line 40
def present?(field_name)
  !send(field_name).nil?
end
proxy_valid?() click to toggle source
# File lib/ingram_micro/configuration.rb, line 34
def proxy_valid?
  return true if proxy.nil?

  proxy =~ /^http:\/\//
end