Class: Aptabase::SystemProperties

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

Overview

System properties automatically collected by the SDK and attached to every event. Mirrors the fields sent by the other Aptabase SDKs.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(app_version: "1.0.0", is_debug: false) ⇒ SystemProperties

Returns a new instance of SystemProperties.



12
13
14
15
16
17
18
19
20
21
# File 'lib/aptabase/system_properties.rb', line 12

def initialize(app_version: "1.0.0", is_debug: false)
  uname = Etc.uname
  @locale = detect_locale
  @os_name = uname[:sysname]
  @os_version = uname[:release]
  @device_model = uname[:machine]
  @is_debug = is_debug
  @app_version = app_version
  @sdk_version = "aptabase-ruby@#{VERSION}"
end

Instance Attribute Details

#app_versionObject (readonly)

Returns the value of attribute app_version.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def app_version
  @app_version
end

#device_modelObject (readonly)

Returns the value of attribute device_model.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def device_model
  @device_model
end

#is_debugObject (readonly)

Returns the value of attribute is_debug.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def is_debug
  @is_debug
end

#localeObject (readonly)

Returns the value of attribute locale.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def locale
  @locale
end

#os_nameObject (readonly)

Returns the value of attribute os_name.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def os_name
  @os_name
end

#os_versionObject (readonly)

Returns the value of attribute os_version.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def os_version
  @os_version
end

#sdk_versionObject (readonly)

Returns the value of attribute sdk_version.



9
10
11
# File 'lib/aptabase/system_properties.rb', line 9

def sdk_version
  @sdk_version
end

Instance Method Details

#to_hObject



23
24
25
26
27
28
29
30
31
32
33
# File 'lib/aptabase/system_properties.rb', line 23

def to_h
  {
    "locale" => locale,
    "osName" => os_name,
    "osVersion" => os_version,
    "deviceModel" => device_model,
    "isDebug" => is_debug,
    "appVersion" => app_version,
    "sdkVersion" => sdk_version
  }
end