Class: Dadata::ProfileClient

Inherits:
ClientBase show all
Defined in:
lib/dadata/client/profile.rb

Overview

Client for managing DaData subscriber profile

Constant Summary collapse

BASE_URL =
'https://dadata.ru/api/v2/'

Constants inherited from ClientBase

ClientBase::ERRORS, ClientBase::STATUS_ERRORS

Constants included from SensitiveData

SensitiveData::SENSITIVE_HEADERS

Instance Method Summary collapse

Methods inherited from ClientBase

#close, #submit

Methods included from SensitiveData

#sanitize_headers, #sanitize_message

Constructor Details

#initialize(token = Dadata.api_key, secret = Dadata.secret_key) ⇒ ProfileClient

Returns a new instance of ProfileClient.



11
12
13
# File 'lib/dadata/client/profile.rb', line 11

def initialize(token = Dadata.api_key, secret = Dadata.secret_key)
  super(BASE_URL, token, secret)
end

Instance Method Details

#balanceNumeric?

Get current balance

Returns:

  • (Numeric, nil)

    Current balance or nil if request failed



18
19
20
21
# File 'lib/dadata/client/profile.rb', line 18

def balance
  response = submit('profile/balance', {}, :get)
  response&.fetch('balance', nil)
end

#daily_stats(date = nil) ⇒ Hash?

Get daily statistics

Parameters:

  • date (String, nil) (defaults to: nil)

    Date to get statistics for (ISO 8601 format)

Returns:

  • (Hash, nil)

    Daily statistics or nil if request failed



27
28
29
30
# File 'lib/dadata/client/profile.rb', line 27

def daily_stats(date = nil)
  date = date.nil? ? Date.today : handle_date(date)
  submit('stat/daily', { date: date.iso8601 }, :get)
end

#versionsHash?

Get API versions

Returns:

  • (Hash, nil)

    Version information or nil if request failed



35
36
37
# File 'lib/dadata/client/profile.rb', line 35

def versions
  submit('version', {}, :get)
end