module EasyCompliance::Client

client for easycompliance.de/schnittstellen/api/

Constants

HEADERS

Public Instance Methods

check_now(record:, value:) click to toggle source

check if record is currently on a sanctions list @return [ EasyCompliance::Result ]

# File lib/easy_compliance/client.rb, line 12
def check_now(record:, value:)
  ref = EasyCompliance::Ref.for_record(record)
  post(method: 1, ref: ref, name: value)
end
fetch_list() click to toggle source

get matches of last 24 hours @return [ EasyCompliance::Result ]

# File lib/easy_compliance/client.rb, line 26
def fetch_list
  post(method: 3)
end
post(**body) click to toggle source

@return [ EasyCompliance::Result ]

# File lib/easy_compliance/client.rb, line 35
def post(**body)
  url = EasyCompliance.api_url or raise Error, "must set api_url"
  body[:api_key] = EasyCompliance.api_key or raise Error, "must set api_key"

  res = Excon.post(url, body: URI.encode_www_form(body), headers: HEADERS)
  res.status < 300 or raise Error, "#{res.status}: #{res.body}"

  EasyCompliance::Result.new(status: res.status, body: res.body)
rescue Excon::Error => e
  raise Error, "Network error: #{e.class.name} - #{e.message}"
end
submit(record:, value:) click to toggle source

like `#check_now`, but also adds to list for future automatic checks @return [ EasyCompliance::Result ]

# File lib/easy_compliance/client.rb, line 19
def submit(record:, value:)
  ref = EasyCompliance::Ref.for_record(record)
  post(method: 2, ref: ref, name: value)
end