Class: Tanita::Api::Client::BaseApiClient

Inherits:
Object
  • Object
show all
Includes:
HttpHelper
Defined in:
lib/tanita/api/client/base_api_client.rb

Direct Known Subclasses

Innerscan, Pedometer, Smug, Sphygmomanometer

Class Method Summary collapse

Instance Method Summary collapse

Methods included from HttpHelper

#generate_uri, #parse_json, #request, #time_format

Constructor Details

#initialize(access_token: nil, date_type: DATE_TYPE_MEASURED_AT) ⇒ BaseApiClient

Returns a new instance of BaseApiClient.

Raises:



23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/tanita/api/client/base_api_client.rb', line 23

def initialize(access_token: nil, date_type: DATE_TYPE_MEASURED_AT)
  config = Tanita::Api::Client.configuration
  @access_token = access_token || config.access_token
  raise Error.new("param:'access_token' is required.'") if @access_token.nil?

  @date_type = date_type
  unless [DATE_TYPE_REGISTERD_AT, DATE_TYPE_MEASURED_AT].include? date_type
    raise Error.new("param:'date_type' is invalid.'")
  end

  ClassBuilder.load
end

Class Method Details

.endpointObject

Raises:

  • (NotImplementedError)


15
16
17
# File 'lib/tanita/api/client/base_api_client.rb', line 15

def self.endpoint
  raise NotImplementedError
end

.propertiesObject

Raises:

  • (NotImplementedError)


19
20
21
# File 'lib/tanita/api/client/base_api_client.rb', line 19

def self.properties
  raise NotImplementedError
end

Instance Method Details

#inspectObject



52
53
54
# File 'lib/tanita/api/client/base_api_client.rb', line 52

def inspect
  "\#<#{self.class}:#{object_id}>"
end

#status(from: nil, to: nil) ⇒ Object



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
# File 'lib/tanita/api/client/base_api_client.rb', line 36

def status(
  from: nil,
  to: nil
)
  tags = self.class.properties.values.map { |i| i[:code] }.join(',')
  params = {
    access_token: @access_token,
    date: @date_type,
    tag: tags
  }
  params[:from] = time_format(from) unless from.nil?
  params[:to] = time_format(to) unless to.nil?
  res = request(self.class.endpoint, params)
  build_result(res)
end