Class: Verizon::V1DeviceListItem

Inherits:
BaseModel
  • Object
show all
Defined in:
lib/verizon/models/v1_device_list_item.rb

Overview

A JSON object for each device that was included in the request, showing the device IMEI, the status of the addition or removal, and additional information about the status.

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Methods inherited from BaseModel

#check_for_conflict, #process_additional_properties, #process_array, #process_basic_value, #process_hash, #to_hash, #to_json

Constructor Details

#initialize(device_id: SKIP, status: SKIP, reason: SKIP, additional_properties: nil) ⇒ V1DeviceListItem

Returns a new instance of V1DeviceListItem.



49
50
51
52
53
54
55
56
57
58
# File 'lib/verizon/models/v1_device_list_item.rb', line 49

def initialize(device_id: SKIP, status: SKIP, reason: SKIP,
               additional_properties: nil)
  # Add additional model properties to the instance
  additional_properties = {} if additional_properties.nil?

  @device_id = device_id unless device_id == SKIP
  @status = status unless status == SKIP
  @reason = reason unless reason == SKIP
  @additional_properties = additional_properties
end

Instance Attribute Details

#device_idString

Device IMEI.

Returns:

  • (String)


16
17
18
# File 'lib/verizon/models/v1_device_list_item.rb', line 16

def device_id
  @device_id
end

#reasonString

Additional details about the status.

Returns:

  • (String)


24
25
26
# File 'lib/verizon/models/v1_device_list_item.rb', line 24

def reason
  @reason
end

#statusString

Whether the device was successfully added or removed from the campaign.

Returns:

  • (String)


20
21
22
# File 'lib/verizon/models/v1_device_list_item.rb', line 20

def status
  @status
end

Class Method Details

.from_hash(hash) ⇒ Object

Creates an instance of the object from a hash.



61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
# File 'lib/verizon/models/v1_device_list_item.rb', line 61

def self.from_hash(hash)
  return nil unless hash

  # Extract variables from the hash.
  device_id = hash.key?('deviceId') ? hash['deviceId'] : SKIP
  status = hash.key?('status') ? hash['status'] : SKIP
  reason = hash.key?('Reason') ? hash['Reason'] : SKIP

  # Create a new hash for additional properties, removing known properties.
  new_hash = hash.reject { |k, _| names.value?(k) }

  additional_properties = APIHelper.get_additional_properties(
    new_hash, proc { |value| value }
  )

  # Create object from extracted values.
  V1DeviceListItem.new(device_id: device_id,
                       status: status,
                       reason: reason,
                       additional_properties: additional_properties)
end

.namesObject

A mapping from model property names to API property names.



27
28
29
30
31
32
33
# File 'lib/verizon/models/v1_device_list_item.rb', line 27

def self.names
  @_hash = {} if @_hash.nil?
  @_hash['device_id'] = 'deviceId'
  @_hash['status'] = 'status'
  @_hash['reason'] = 'Reason'
  @_hash
end

.nullablesObject

An array for nullable fields



45
46
47
# File 'lib/verizon/models/v1_device_list_item.rb', line 45

def self.nullables
  []
end

.optionalsObject

An array for optional fields



36
37
38
39
40
41
42
# File 'lib/verizon/models/v1_device_list_item.rb', line 36

def self.optionals
  %w[
    device_id
    status
    reason
  ]
end

Instance Method Details

#inspectObject

Provides a debugging-friendly string with detailed object information.



91
92
93
94
95
# File 'lib/verizon/models/v1_device_list_item.rb', line 91

def inspect
  class_name = self.class.name.split('::').last
  "<#{class_name} device_id: #{@device_id.inspect}, status: #{@status.inspect}, reason:"\
  " #{@reason.inspect}, additional_properties: #{@additional_properties}>"
end

#to_sObject

Provides a human-readable string representation of the object.



84
85
86
87
88
# File 'lib/verizon/models/v1_device_list_item.rb', line 84

def to_s
  class_name = self.class.name.split('::').last
  "<#{class_name} device_id: #{@device_id}, status: #{@status}, reason: #{@reason},"\
  " additional_properties: #{@additional_properties}>"
end