zyphr 0.1.3 → 0.1.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +4 -3
- data/docs/Category.md +4 -2
- data/docs/Device.md +10 -12
- data/docs/DeviceStats.md +3 -1
- data/docs/DevicesApi.md +3 -3
- data/docs/PushApi.md +3 -3
- data/docs/PushMessage.md +13 -7
- data/docs/PushMessageDetail.md +17 -15
- data/docs/PushMessageDetailAllOfActionButtons.md +24 -0
- data/docs/RegisterDeviceRequest.md +4 -14
- data/docs/SMSApi.md +4 -4
- data/docs/SendPushRequest.md +35 -15
- data/docs/SendPushRequestActionButtonsInner.md +24 -0
- data/docs/TemplatesApi.md +2 -2
- data/docs/TopicsApi.md +2 -2
- data/docs/WaaSApplication.md +4 -2
- data/docs/WaaSApplicationsApi.md +1 -1
- data/docs/{WebhookWorkspaceMetricsResponse.md → WebhookAccountMetricsResponse.md} +3 -3
- data/docs/WebhooksApi.md +70 -70
- data/lib/zyphr/api/devices_api.rb +4 -4
- data/lib/zyphr/api/push_api.rb +4 -4
- data/lib/zyphr/api/sms_api.rb +8 -8
- data/lib/zyphr/api/templates_api.rb +4 -4
- data/lib/zyphr/api/topics_api.rb +4 -4
- data/lib/zyphr/api/waa_s_applications_api.rb +2 -2
- data/lib/zyphr/api/webhooks_api.rb +59 -59
- data/lib/zyphr/models/category.rb +16 -7
- data/lib/zyphr/models/device.rb +34 -57
- data/lib/zyphr/models/device_stats.rb +13 -4
- data/lib/zyphr/models/push_message.rb +67 -36
- data/lib/zyphr/models/push_message_detail.rb +88 -75
- data/lib/zyphr/models/push_message_detail_all_of_action_buttons.rb +247 -0
- data/lib/zyphr/models/register_device_request.rb +43 -59
- data/lib/zyphr/models/send_push_request.rb +278 -91
- data/lib/zyphr/models/{push_payload.rb → send_push_request_action_buttons_inner.rb} +72 -73
- data/lib/zyphr/models/waa_s_application.rb +16 -7
- data/lib/zyphr/models/{webhook_workspace_metrics_response.rb → webhook_account_metrics_response.rb} +4 -4
- data/lib/zyphr.rb +3 -2
- data/spec/api/devices_api_spec.rb +2 -2
- data/spec/api/push_api_spec.rb +2 -2
- data/spec/api/sms_api_spec.rb +4 -4
- data/spec/api/templates_api_spec.rb +2 -2
- data/spec/api/topics_api_spec.rb +2 -2
- data/spec/api/waa_s_applications_api_spec.rb +1 -1
- data/spec/api/webhooks_api_spec.rb +12 -12
- data/spec/models/category_spec.rb +7 -1
- data/spec/models/device_spec.rb +5 -15
- data/spec/models/device_stats_spec.rb +6 -0
- data/spec/models/{push_payload_spec.rb → push_message_detail_all_of_action_buttons_spec.rb} +10 -34
- data/spec/models/push_message_detail_spec.rb +26 -20
- data/spec/models/push_message_spec.rb +26 -8
- data/spec/models/register_device_request_spec.rb +2 -32
- data/spec/models/send_push_request_action_buttons_inner_spec.rb +54 -0
- data/spec/models/send_push_request_spec.rb +67 -11
- data/spec/models/waa_s_application_spec.rb +7 -1
- data/spec/models/{webhook_workspace_metrics_response_spec.rb → webhook_account_metrics_response_spec.rb} +6 -6
- data/zyphr.gemspec +1 -1
- metadata +328 -324
- data/docs/PushPayload.md +0 -32
data/lib/zyphr/models/device.rb
CHANGED
|
@@ -17,21 +17,19 @@ module Zyphr
|
|
|
17
17
|
class Device
|
|
18
18
|
attr_accessor :id
|
|
19
19
|
|
|
20
|
-
attr_accessor :
|
|
20
|
+
attr_accessor :user_id
|
|
21
21
|
|
|
22
22
|
attr_accessor :platform
|
|
23
23
|
|
|
24
|
-
attr_accessor :
|
|
24
|
+
attr_accessor :token
|
|
25
25
|
|
|
26
|
-
attr_accessor :
|
|
26
|
+
attr_accessor :metadata
|
|
27
27
|
|
|
28
|
-
attr_accessor :
|
|
29
|
-
|
|
30
|
-
attr_accessor :status
|
|
28
|
+
attr_accessor :last_active_at
|
|
31
29
|
|
|
32
30
|
attr_accessor :created_at
|
|
33
31
|
|
|
34
|
-
attr_accessor :
|
|
32
|
+
attr_accessor :updated_at
|
|
35
33
|
|
|
36
34
|
class EnumAttributeValidator
|
|
37
35
|
attr_reader :datatype
|
|
@@ -59,14 +57,13 @@ module Zyphr
|
|
|
59
57
|
def self.attribute_map
|
|
60
58
|
{
|
|
61
59
|
:'id' => :'id',
|
|
62
|
-
:'
|
|
60
|
+
:'user_id' => :'user_id',
|
|
63
61
|
:'platform' => :'platform',
|
|
64
|
-
:'
|
|
65
|
-
:'
|
|
66
|
-
:'
|
|
67
|
-
:'status' => :'status',
|
|
62
|
+
:'token' => :'token',
|
|
63
|
+
:'metadata' => :'metadata',
|
|
64
|
+
:'last_active_at' => :'last_active_at',
|
|
68
65
|
:'created_at' => :'created_at',
|
|
69
|
-
:'
|
|
66
|
+
:'updated_at' => :'updated_at'
|
|
70
67
|
}
|
|
71
68
|
end
|
|
72
69
|
|
|
@@ -84,25 +81,20 @@ module Zyphr
|
|
|
84
81
|
def self.openapi_types
|
|
85
82
|
{
|
|
86
83
|
:'id' => :'String',
|
|
87
|
-
:'
|
|
84
|
+
:'user_id' => :'String',
|
|
88
85
|
:'platform' => :'String',
|
|
89
|
-
:'
|
|
90
|
-
:'
|
|
91
|
-
:'
|
|
92
|
-
:'status' => :'String',
|
|
86
|
+
:'token' => :'String',
|
|
87
|
+
:'metadata' => :'Hash<String, Object>',
|
|
88
|
+
:'last_active_at' => :'Time',
|
|
93
89
|
:'created_at' => :'Time',
|
|
94
|
-
:'
|
|
90
|
+
:'updated_at' => :'Time'
|
|
95
91
|
}
|
|
96
92
|
end
|
|
97
93
|
|
|
98
94
|
# List of attributes with nullable: true
|
|
99
95
|
def self.openapi_nullable
|
|
100
96
|
Set.new([
|
|
101
|
-
:'
|
|
102
|
-
:'app_version',
|
|
103
|
-
:'device_model',
|
|
104
|
-
:'os_version',
|
|
105
|
-
:'last_seen_at'
|
|
97
|
+
:'last_active_at',
|
|
106
98
|
])
|
|
107
99
|
end
|
|
108
100
|
|
|
@@ -126,36 +118,34 @@ module Zyphr
|
|
|
126
118
|
self.id = attributes[:'id']
|
|
127
119
|
end
|
|
128
120
|
|
|
129
|
-
if attributes.key?(:'
|
|
130
|
-
self.
|
|
121
|
+
if attributes.key?(:'user_id')
|
|
122
|
+
self.user_id = attributes[:'user_id']
|
|
131
123
|
end
|
|
132
124
|
|
|
133
125
|
if attributes.key?(:'platform')
|
|
134
126
|
self.platform = attributes[:'platform']
|
|
135
127
|
end
|
|
136
128
|
|
|
137
|
-
if attributes.key?(:'
|
|
138
|
-
self.
|
|
139
|
-
end
|
|
140
|
-
|
|
141
|
-
if attributes.key?(:'device_model')
|
|
142
|
-
self.device_model = attributes[:'device_model']
|
|
129
|
+
if attributes.key?(:'token')
|
|
130
|
+
self.token = attributes[:'token']
|
|
143
131
|
end
|
|
144
132
|
|
|
145
|
-
if attributes.key?(:'
|
|
146
|
-
|
|
133
|
+
if attributes.key?(:'metadata')
|
|
134
|
+
if (value = attributes[:'metadata']).is_a?(Hash)
|
|
135
|
+
self.metadata = value
|
|
136
|
+
end
|
|
147
137
|
end
|
|
148
138
|
|
|
149
|
-
if attributes.key?(:'
|
|
150
|
-
self.
|
|
139
|
+
if attributes.key?(:'last_active_at')
|
|
140
|
+
self.last_active_at = attributes[:'last_active_at']
|
|
151
141
|
end
|
|
152
142
|
|
|
153
143
|
if attributes.key?(:'created_at')
|
|
154
144
|
self.created_at = attributes[:'created_at']
|
|
155
145
|
end
|
|
156
146
|
|
|
157
|
-
if attributes.key?(:'
|
|
158
|
-
self.
|
|
147
|
+
if attributes.key?(:'updated_at')
|
|
148
|
+
self.updated_at = attributes[:'updated_at']
|
|
159
149
|
end
|
|
160
150
|
end
|
|
161
151
|
|
|
@@ -173,8 +163,6 @@ module Zyphr
|
|
|
173
163
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
174
164
|
platform_validator = EnumAttributeValidator.new('String', ["ios", "android", "web"])
|
|
175
165
|
return false unless platform_validator.valid?(@platform)
|
|
176
|
-
status_validator = EnumAttributeValidator.new('String', ["active", "inactive"])
|
|
177
|
-
return false unless status_validator.valid?(@status)
|
|
178
166
|
true
|
|
179
167
|
end
|
|
180
168
|
|
|
@@ -188,30 +176,19 @@ module Zyphr
|
|
|
188
176
|
@platform = platform
|
|
189
177
|
end
|
|
190
178
|
|
|
191
|
-
# Custom attribute writer method checking allowed values (enum).
|
|
192
|
-
# @param [Object] status Object to be assigned
|
|
193
|
-
def status=(status)
|
|
194
|
-
validator = EnumAttributeValidator.new('String', ["active", "inactive"])
|
|
195
|
-
unless validator.valid?(status)
|
|
196
|
-
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
197
|
-
end
|
|
198
|
-
@status = status
|
|
199
|
-
end
|
|
200
|
-
|
|
201
179
|
# Checks equality by comparing each attribute.
|
|
202
180
|
# @param [Object] Object to be compared
|
|
203
181
|
def ==(o)
|
|
204
182
|
return true if self.equal?(o)
|
|
205
183
|
self.class == o.class &&
|
|
206
184
|
id == o.id &&
|
|
207
|
-
|
|
185
|
+
user_id == o.user_id &&
|
|
208
186
|
platform == o.platform &&
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
status == o.status &&
|
|
187
|
+
token == o.token &&
|
|
188
|
+
metadata == o.metadata &&
|
|
189
|
+
last_active_at == o.last_active_at &&
|
|
213
190
|
created_at == o.created_at &&
|
|
214
|
-
|
|
191
|
+
updated_at == o.updated_at
|
|
215
192
|
end
|
|
216
193
|
|
|
217
194
|
# @see the `==` method
|
|
@@ -223,7 +200,7 @@ module Zyphr
|
|
|
223
200
|
# Calculates hash code according to all attributes.
|
|
224
201
|
# @return [Integer] Hash code
|
|
225
202
|
def hash
|
|
226
|
-
[id,
|
|
203
|
+
[id, user_id, platform, token, metadata, last_active_at, created_at, updated_at].hash
|
|
227
204
|
end
|
|
228
205
|
|
|
229
206
|
# Builds the object from hash
|
|
@@ -19,11 +19,14 @@ module Zyphr
|
|
|
19
19
|
|
|
20
20
|
attr_accessor :by_platform
|
|
21
21
|
|
|
22
|
+
attr_accessor :active30_days
|
|
23
|
+
|
|
22
24
|
# Attribute mapping from ruby-style variable name to JSON key.
|
|
23
25
|
def self.attribute_map
|
|
24
26
|
{
|
|
25
27
|
:'total' => :'total',
|
|
26
|
-
:'by_platform' => :'
|
|
28
|
+
:'by_platform' => :'byPlatform',
|
|
29
|
+
:'active30_days' => :'active30Days'
|
|
27
30
|
}
|
|
28
31
|
end
|
|
29
32
|
|
|
@@ -41,7 +44,8 @@ module Zyphr
|
|
|
41
44
|
def self.openapi_types
|
|
42
45
|
{
|
|
43
46
|
:'total' => :'Integer',
|
|
44
|
-
:'by_platform' => :'Hash<String, Integer>'
|
|
47
|
+
:'by_platform' => :'Hash<String, Integer>',
|
|
48
|
+
:'active30_days' => :'Integer'
|
|
45
49
|
}
|
|
46
50
|
end
|
|
47
51
|
|
|
@@ -76,6 +80,10 @@ module Zyphr
|
|
|
76
80
|
self.by_platform = value
|
|
77
81
|
end
|
|
78
82
|
end
|
|
83
|
+
|
|
84
|
+
if attributes.key?(:'active30_days')
|
|
85
|
+
self.active30_days = attributes[:'active30_days']
|
|
86
|
+
end
|
|
79
87
|
end
|
|
80
88
|
|
|
81
89
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -99,7 +107,8 @@ module Zyphr
|
|
|
99
107
|
return true if self.equal?(o)
|
|
100
108
|
self.class == o.class &&
|
|
101
109
|
total == o.total &&
|
|
102
|
-
by_platform == o.by_platform
|
|
110
|
+
by_platform == o.by_platform &&
|
|
111
|
+
active30_days == o.active30_days
|
|
103
112
|
end
|
|
104
113
|
|
|
105
114
|
# @see the `==` method
|
|
@@ -111,7 +120,7 @@ module Zyphr
|
|
|
111
120
|
# Calculates hash code according to all attributes.
|
|
112
121
|
# @return [Integer] Hash code
|
|
113
122
|
def hash
|
|
114
|
-
[total, by_platform].hash
|
|
123
|
+
[total, by_platform, active30_days].hash
|
|
115
124
|
end
|
|
116
125
|
|
|
117
126
|
# Builds the object from hash
|
|
@@ -19,22 +19,28 @@ module Zyphr
|
|
|
19
19
|
|
|
20
20
|
attr_accessor :device_id
|
|
21
21
|
|
|
22
|
-
attr_accessor :
|
|
22
|
+
attr_accessor :user_id
|
|
23
|
+
|
|
24
|
+
attr_accessor :platform
|
|
23
25
|
|
|
24
26
|
attr_accessor :title
|
|
25
27
|
|
|
26
28
|
attr_accessor :body
|
|
27
29
|
|
|
30
|
+
attr_accessor :data
|
|
31
|
+
|
|
28
32
|
attr_accessor :status
|
|
29
33
|
|
|
30
|
-
attr_accessor :
|
|
34
|
+
attr_accessor :tags
|
|
31
35
|
|
|
32
|
-
attr_accessor :
|
|
36
|
+
attr_accessor :queued_at
|
|
33
37
|
|
|
34
38
|
attr_accessor :sent_at
|
|
35
39
|
|
|
36
40
|
attr_accessor :delivered_at
|
|
37
41
|
|
|
42
|
+
attr_accessor :created_at
|
|
43
|
+
|
|
38
44
|
class EnumAttributeValidator
|
|
39
45
|
attr_reader :datatype
|
|
40
46
|
attr_reader :allowable_values
|
|
@@ -62,14 +68,17 @@ module Zyphr
|
|
|
62
68
|
{
|
|
63
69
|
:'id' => :'id',
|
|
64
70
|
:'device_id' => :'device_id',
|
|
65
|
-
:'
|
|
71
|
+
:'user_id' => :'user_id',
|
|
72
|
+
:'platform' => :'platform',
|
|
66
73
|
:'title' => :'title',
|
|
67
74
|
:'body' => :'body',
|
|
75
|
+
:'data' => :'data',
|
|
68
76
|
:'status' => :'status',
|
|
69
|
-
:'
|
|
70
|
-
:'
|
|
77
|
+
:'tags' => :'tags',
|
|
78
|
+
:'queued_at' => :'queued_at',
|
|
71
79
|
:'sent_at' => :'sent_at',
|
|
72
|
-
:'delivered_at' => :'delivered_at'
|
|
80
|
+
:'delivered_at' => :'delivered_at',
|
|
81
|
+
:'created_at' => :'created_at'
|
|
73
82
|
}
|
|
74
83
|
end
|
|
75
84
|
|
|
@@ -88,23 +97,26 @@ module Zyphr
|
|
|
88
97
|
{
|
|
89
98
|
:'id' => :'String',
|
|
90
99
|
:'device_id' => :'String',
|
|
91
|
-
:'
|
|
100
|
+
:'user_id' => :'String',
|
|
101
|
+
:'platform' => :'String',
|
|
92
102
|
:'title' => :'String',
|
|
93
103
|
:'body' => :'String',
|
|
104
|
+
:'data' => :'Hash<String, Object>',
|
|
94
105
|
:'status' => :'String',
|
|
95
|
-
:'
|
|
96
|
-
:'
|
|
106
|
+
:'tags' => :'Array<String>',
|
|
107
|
+
:'queued_at' => :'Time',
|
|
97
108
|
:'sent_at' => :'Time',
|
|
98
|
-
:'delivered_at' => :'Time'
|
|
109
|
+
:'delivered_at' => :'Time',
|
|
110
|
+
:'created_at' => :'Time'
|
|
99
111
|
}
|
|
100
112
|
end
|
|
101
113
|
|
|
102
114
|
# List of attributes with nullable: true
|
|
103
115
|
def self.openapi_nullable
|
|
104
116
|
Set.new([
|
|
105
|
-
:'
|
|
117
|
+
:'queued_at',
|
|
106
118
|
:'sent_at',
|
|
107
|
-
:'delivered_at'
|
|
119
|
+
:'delivered_at',
|
|
108
120
|
])
|
|
109
121
|
end
|
|
110
122
|
|
|
@@ -132,8 +144,12 @@ module Zyphr
|
|
|
132
144
|
self.device_id = attributes[:'device_id']
|
|
133
145
|
end
|
|
134
146
|
|
|
135
|
-
if attributes.key?(:'
|
|
136
|
-
self.
|
|
147
|
+
if attributes.key?(:'user_id')
|
|
148
|
+
self.user_id = attributes[:'user_id']
|
|
149
|
+
end
|
|
150
|
+
|
|
151
|
+
if attributes.key?(:'platform')
|
|
152
|
+
self.platform = attributes[:'platform']
|
|
137
153
|
end
|
|
138
154
|
|
|
139
155
|
if attributes.key?(:'title')
|
|
@@ -144,16 +160,24 @@ module Zyphr
|
|
|
144
160
|
self.body = attributes[:'body']
|
|
145
161
|
end
|
|
146
162
|
|
|
163
|
+
if attributes.key?(:'data')
|
|
164
|
+
if (value = attributes[:'data']).is_a?(Hash)
|
|
165
|
+
self.data = value
|
|
166
|
+
end
|
|
167
|
+
end
|
|
168
|
+
|
|
147
169
|
if attributes.key?(:'status')
|
|
148
170
|
self.status = attributes[:'status']
|
|
149
171
|
end
|
|
150
172
|
|
|
151
|
-
if attributes.key?(:'
|
|
152
|
-
|
|
173
|
+
if attributes.key?(:'tags')
|
|
174
|
+
if (value = attributes[:'tags']).is_a?(Array)
|
|
175
|
+
self.tags = value
|
|
176
|
+
end
|
|
153
177
|
end
|
|
154
178
|
|
|
155
|
-
if attributes.key?(:'
|
|
156
|
-
self.
|
|
179
|
+
if attributes.key?(:'queued_at')
|
|
180
|
+
self.queued_at = attributes[:'queued_at']
|
|
157
181
|
end
|
|
158
182
|
|
|
159
183
|
if attributes.key?(:'sent_at')
|
|
@@ -163,6 +187,10 @@ module Zyphr
|
|
|
163
187
|
if attributes.key?(:'delivered_at')
|
|
164
188
|
self.delivered_at = attributes[:'delivered_at']
|
|
165
189
|
end
|
|
190
|
+
|
|
191
|
+
if attributes.key?(:'created_at')
|
|
192
|
+
self.created_at = attributes[:'created_at']
|
|
193
|
+
end
|
|
166
194
|
end
|
|
167
195
|
|
|
168
196
|
# Show invalid properties with the reasons. Usually used together with valid?
|
|
@@ -177,23 +205,13 @@ module Zyphr
|
|
|
177
205
|
# @return true if the model is valid
|
|
178
206
|
def valid?
|
|
179
207
|
warn '[DEPRECATED] the `valid?` method is obsolete'
|
|
180
|
-
status_validator = EnumAttributeValidator.new('String', ["pending", "queued", "sent", "delivered", "failed"])
|
|
181
|
-
return false unless status_validator.valid?(@status)
|
|
182
208
|
platform_validator = EnumAttributeValidator.new('String', ["ios", "android", "web"])
|
|
183
209
|
return false unless platform_validator.valid?(@platform)
|
|
210
|
+
status_validator = EnumAttributeValidator.new('String', ["queued", "sending", "sent", "delivered", "failed", "expired"])
|
|
211
|
+
return false unless status_validator.valid?(@status)
|
|
184
212
|
true
|
|
185
213
|
end
|
|
186
214
|
|
|
187
|
-
# Custom attribute writer method checking allowed values (enum).
|
|
188
|
-
# @param [Object] status Object to be assigned
|
|
189
|
-
def status=(status)
|
|
190
|
-
validator = EnumAttributeValidator.new('String', ["pending", "queued", "sent", "delivered", "failed"])
|
|
191
|
-
unless validator.valid?(status)
|
|
192
|
-
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
193
|
-
end
|
|
194
|
-
@status = status
|
|
195
|
-
end
|
|
196
|
-
|
|
197
215
|
# Custom attribute writer method checking allowed values (enum).
|
|
198
216
|
# @param [Object] platform Object to be assigned
|
|
199
217
|
def platform=(platform)
|
|
@@ -204,6 +222,16 @@ module Zyphr
|
|
|
204
222
|
@platform = platform
|
|
205
223
|
end
|
|
206
224
|
|
|
225
|
+
# Custom attribute writer method checking allowed values (enum).
|
|
226
|
+
# @param [Object] status Object to be assigned
|
|
227
|
+
def status=(status)
|
|
228
|
+
validator = EnumAttributeValidator.new('String', ["queued", "sending", "sent", "delivered", "failed", "expired"])
|
|
229
|
+
unless validator.valid?(status)
|
|
230
|
+
fail ArgumentError, "invalid value for \"status\", must be one of #{validator.allowable_values}."
|
|
231
|
+
end
|
|
232
|
+
@status = status
|
|
233
|
+
end
|
|
234
|
+
|
|
207
235
|
# Checks equality by comparing each attribute.
|
|
208
236
|
# @param [Object] Object to be compared
|
|
209
237
|
def ==(o)
|
|
@@ -211,14 +239,17 @@ module Zyphr
|
|
|
211
239
|
self.class == o.class &&
|
|
212
240
|
id == o.id &&
|
|
213
241
|
device_id == o.device_id &&
|
|
214
|
-
|
|
242
|
+
user_id == o.user_id &&
|
|
243
|
+
platform == o.platform &&
|
|
215
244
|
title == o.title &&
|
|
216
245
|
body == o.body &&
|
|
246
|
+
data == o.data &&
|
|
217
247
|
status == o.status &&
|
|
218
|
-
|
|
219
|
-
|
|
248
|
+
tags == o.tags &&
|
|
249
|
+
queued_at == o.queued_at &&
|
|
220
250
|
sent_at == o.sent_at &&
|
|
221
|
-
delivered_at == o.delivered_at
|
|
251
|
+
delivered_at == o.delivered_at &&
|
|
252
|
+
created_at == o.created_at
|
|
222
253
|
end
|
|
223
254
|
|
|
224
255
|
# @see the `==` method
|
|
@@ -230,7 +261,7 @@ module Zyphr
|
|
|
230
261
|
# Calculates hash code according to all attributes.
|
|
231
262
|
# @return [Integer] Hash code
|
|
232
263
|
def hash
|
|
233
|
-
[id, device_id,
|
|
264
|
+
[id, device_id, user_id, platform, title, body, data, status, tags, queued_at, sent_at, delivered_at, created_at].hash
|
|
234
265
|
end
|
|
235
266
|
|
|
236
267
|
# Builds the object from hash
|