Class: Comet::DeviceConfig
- Inherits:
-
Object
- Object
- Comet::DeviceConfig
- Defined in:
- lib/comet/models/device_config.rb
Overview
DeviceConfig is a typed class wrapper around the underlying Comet Server API data structure.
Instance Attribute Summary collapse
-
#friendly_name ⇒ Object
Returns the value of attribute friendly_name.
-
#platform_version ⇒ Object
Returns the value of attribute platform_version.
-
#sources ⇒ Object
Returns the value of attribute sources.
-
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
Instance Method Summary collapse
- #clear ⇒ Object
- #from_hash(obj) ⇒ Object
- #from_json(json_string) ⇒ Object
-
#initialize ⇒ DeviceConfig
constructor
A new instance of DeviceConfig.
-
#to_h ⇒ Hash
The complete object as a Ruby hash.
-
#to_hash ⇒ Hash
The complete object as a Ruby hash.
-
#to_json(options = {}) ⇒ String
The complete object as a JSON string.
Constructor Details
#initialize ⇒ DeviceConfig
Returns a new instance of DeviceConfig.
29 30 31 |
# File 'lib/comet/models/device_config.rb', line 29 def initialize clear end |
Instance Attribute Details
#friendly_name ⇒ Object
Returns the value of attribute friendly_name.
18 19 20 |
# File 'lib/comet/models/device_config.rb', line 18 def friendly_name @friendly_name end |
#platform_version ⇒ Object
Returns the value of attribute platform_version.
21 22 23 |
# File 'lib/comet/models/device_config.rb', line 21 def platform_version @platform_version end |
#sources ⇒ Object
Returns the value of attribute sources.
24 25 26 |
# File 'lib/comet/models/device_config.rb', line 24 def sources @sources end |
#unknown_json_fields ⇒ Object
Returns the value of attribute unknown_json_fields.
27 28 29 |
# File 'lib/comet/models/device_config.rb', line 27 def unknown_json_fields @unknown_json_fields end |
Instance Method Details
#clear ⇒ Object
33 34 35 36 37 38 |
# File 'lib/comet/models/device_config.rb', line 33 def clear @friendly_name = '' @platform_version = Comet::OSInfo.new @sources = {} @unknown_json_fields = {} end |
#from_hash(obj) ⇒ Object
48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# File 'lib/comet/models/device_config.rb', line 48 def from_hash(obj) raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash obj.each do |k, v| case k when 'FriendlyName' raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String @friendly_name = v when 'PlatformVersion' @platform_version = Comet::OSInfo.new @platform_version.from_hash(v) when 'Sources' @sources = {} if v.nil? @sources = {} else v.each do |k1, v1| @sources[k1] = Comet::SourceBasicInfo.new @sources[k1].from_hash(v1) end end else @unknown_json_fields[k] = v end end end |
#from_json(json_string) ⇒ Object
41 42 43 44 45 |
# File 'lib/comet/models/device_config.rb', line 41 def from_json(json_string) raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String from_hash(JSON.parse(json_string)) end |
#to_h ⇒ Hash
Returns The complete object as a Ruby hash.
93 94 95 |
# File 'lib/comet/models/device_config.rb', line 93 def to_h to_hash end |
#to_hash ⇒ Hash
Returns The complete object as a Ruby hash.
77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/comet/models/device_config.rb', line 77 def to_hash ret = {} ret['FriendlyName'] = @friendly_name unless @platform_version.nil? ret['PlatformVersion'] = @platform_version end unless @sources.nil? ret['Sources'] = @sources end @unknown_json_fields.each do |k, v| ret[k] = v end ret end |
#to_json(options = {}) ⇒ String
Returns The complete object as a JSON string.
98 99 100 |
# File 'lib/comet/models/device_config.rb', line 98 def to_json( = {}) to_hash.to_json() end |