module Experian

Constants

VERSION

Attributes

eai[RW]
op_initials[RW]
password[RW]
preamble[RW]
subcode[RW]
test_mode[RW]
user[RW]
vendor_number[RW]

Public Class Methods

assert_experian_domain() click to toggle source
# File lib/experian.rb, line 61
def assert_experian_domain
  unless @net_connect_uri.host.end_with?('.experian.com')
    @net_connect_uri = nil
    raise Experian::ClientError, "Could not authenticate connection to Experian, unexpected host name."
  end
end
configure() { |self| ... } click to toggle source
# File lib/experian.rb, line 19
def configure
  yield self
end
ecals_lookup_required?() click to toggle source
# File lib/experian.rb, line 57
def ecals_lookup_required?
  @net_connect_uri.nil? || @ecals_last_update.nil? || Time.now - @ecals_last_update > Experian::ECALS_TIMEOUT
end
ecals_uri() click to toggle source
# File lib/experian.rb, line 27
def ecals_uri
  uri = URI(Experian::LOOKUP_SERVLET_URL)
  uri.query = URI.encode_www_form(
    'lookupServiceName' => Experian::LOOKUP_SERVICE_NAME,
    'lookupServiceVersion' => Experian::LOOKUP_SERVICE_VERSION,
    'serviceName' => service_name,
    'serviceVersion' => Experian::SERVICE_VERSION,
    'responseType' => 'text/plain'
  )
  uri
end
net_connect_uri() click to toggle source
# File lib/experian.rb, line 39
def net_connect_uri
  perform_ecals_lookup if ecals_lookup_required?

  # setup basic authentication
  @net_connect_uri.user = Experian.user
  @net_connect_uri.password = Experian.password

  @net_connect_uri
end
perform_ecals_lookup() click to toggle source
# File lib/experian.rb, line 49
def perform_ecals_lookup
  @net_connect_uri = URI.parse(Excon.get(ecals_uri.to_s).body)
  assert_experian_domain
  @ecals_last_update = Time.now
rescue Excon::Errors::SocketError => e
  raise Experian::ClientError, "Could not connect to Experian: #{e.message}"
end
service_name() click to toggle source
# File lib/experian.rb, line 68
def service_name
  test_mode? ? Experian::SERVICE_NAME_TEST : Experian::SERVICE_NAME
end
test_mode?() click to toggle source
# File lib/experian.rb, line 23
def test_mode?
  !!test_mode
end