Class: Truelist::Client

Inherits:
Object
  • Object
show all
Defined in:
lib/truelist/client.rb

Instance Method Summary collapse

Constructor Details

#initialize(config: Truelist.configuration) ⇒ Client

Returns a new instance of Client.



9
10
11
# File 'lib/truelist/client.rb', line 9

def initialize(config: Truelist.configuration)
  @config = config
end

Instance Method Details

#accountObject



22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
# File 'lib/truelist/client.rb', line 22

def 
  uri = URI("#{@config.base_url}/me")
  http = build_http(uri)

  request = Net::HTTP::Get.new(uri)
  request['Authorization'] = "Bearer #{@config.api_key!}"
  request['Accept'] = 'application/json'

  response = http.request(request)
  handle_status!(response)
  JSON.parse(response.body)
rescue Truelist::AuthenticationError
  raise
rescue StandardError => e
  raise e if @config.raise_on_error

  nil
end

#validate(email) ⇒ Object



13
14
15
16
17
18
19
20
# File 'lib/truelist/client.rb', line 13

def validate(email)
  cached = read_cache(email)
  return cached if cached

  result = perform_request(email)
  write_cache(email, result) unless result.unknown?
  result
end