Class: DeviceAtlasApi::Client

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

Instance Method Summary collapse

Constructor Details

#initialize(request) ⇒ Client

Returns a new instance of Client.



19
20
21
22
23
24
25
26
27
28
29
# File 'lib/deviceatlasapi.rb', line 19

def initialize request
  @user_agent = request.env['HTTP_USER_AGENT']
  @headers = prepare_headers request

  if is_cookie_set?(request)
    @headers['X-DA-Client-Properties'] = get_client_properties request
  end

  @cloud_host = 'api.deviceatlascloud.com'
  @cookie_name = 'DAPROPS'
end

Instance Method Details

#get_client_properties(request) ⇒ Object



51
52
53
# File 'lib/deviceatlasapi.rb', line 51

def get_client_properties request
  request.cookies['DAPROPS'].gsub /^"|"$/, '' if !request.cookies['DAPROPS'].nil?
end

#get_device_dataObject



31
32
33
34
35
36
37
38
39
40
41
# File 'lib/deviceatlasapi.rb', line 31

def get_device_data
  if !is_debug?
    url = prepare_url
    return HTTParty.get(url, :headers => @headers)["properties"]
  else
    return {
      'model' => ENV['DEBUG_DEVICE_ATLAS_MODEL'],
      'vendor' => ENV['DEBUG_DEVICE_ATLAS_VENDOR']
    }
  end
end

Returns:

  • (Boolean)


47
48
49
# File 'lib/deviceatlasapi.rb', line 47

def is_cookie_set? request
  request.cookies[@cookie_name].nil?
end

#is_debug?Boolean

Returns:

  • (Boolean)


43
44
45
# File 'lib/deviceatlasapi.rb', line 43

def is_debug?
  ENV['DEBUG_DEVICE_ATLAS'] == 'true'
end