zombie_battleground-api 0.1.0 → 0.2.0

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.
Files changed (30) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +4 -0
  3. data/Gemfile.lock +29 -11
  4. data/README.md +4 -0
  5. data/Rakefile +62 -5
  6. data/lib/zombie_battleground/api.rb +108 -8
  7. data/lib/zombie_battleground/api/client.rb +157 -23
  8. data/lib/zombie_battleground/api/errors.rb +28 -0
  9. data/lib/zombie_battleground/api/models/card.rb +272 -32
  10. data/lib/zombie_battleground/api/models/deck.rb +234 -46
  11. data/lib/zombie_battleground/api/models/match.rb +211 -33
  12. data/lib/zombie_battleground/api/models/simple_card.rb +47 -11
  13. data/lib/zombie_battleground/api/requests/get_card_request.rb +45 -10
  14. data/lib/zombie_battleground/api/requests/get_cards_request.rb +203 -27
  15. data/lib/zombie_battleground/api/requests/get_deck_request.rb +43 -13
  16. data/lib/zombie_battleground/api/requests/get_decks_request.rb +141 -23
  17. data/lib/zombie_battleground/api/requests/get_match_request.rb +43 -13
  18. data/lib/zombie_battleground/api/requests/get_matches_request.rb +125 -21
  19. data/lib/zombie_battleground/api/requests/request_helper.rb +24 -10
  20. data/lib/zombie_battleground/api/responses/get_card_response.rb +50 -16
  21. data/lib/zombie_battleground/api/responses/get_cards_response.rb +103 -33
  22. data/lib/zombie_battleground/api/responses/get_deck_response.rb +49 -17
  23. data/lib/zombie_battleground/api/responses/get_decks_response.rb +103 -33
  24. data/lib/zombie_battleground/api/responses/get_match_response.rb +49 -17
  25. data/lib/zombie_battleground/api/responses/get_matches_response.rb +103 -33
  26. data/lib/zombie_battleground/api/responses/response_helper.rb +32 -16
  27. data/lib/zombie_battleground/api/validation_helper.rb +497 -0
  28. data/lib/zombie_battleground/api/version.rb +5 -1
  29. data/zombie_battleground-api.gemspec +6 -0
  30. metadata +71 -1
@@ -9,29 +9,61 @@ require 'zombie_battleground/api/responses/response_helper'
9
9
 
10
10
  module ZombieBattleground
11
11
  class Api
12
- ##
13
- # Response validator for GetMatch
14
- class GetMatchResponse
15
- include ActiveModel::Validations
16
- include ZombieBattleground::Api::ValidationHelper
17
- include ZombieBattleground::Api::ResponseHelper
12
+ class Responses
13
+ ##
14
+ # Response validator for GetMatch
15
+ class GetMatchResponse
16
+ include ActiveModel::Validations
17
+ include ZombieBattleground::Api::ValidationHelper
18
+ include ZombieBattleground::Api::Responses::ResponseHelper
18
19
 
19
- attr_reader :match
20
+ ##
21
+ # @!attribute [r] match
22
+ # the match
23
+ #
24
+ # @return [ZombieBattleground::Api::Models::Match]
25
+ #
26
+ # @example
27
+ # response.match #=> ZombieBattleground::Api::Models::Match
28
+ #
29
+ # @api public
30
+ attr_reader :match
20
31
 
21
- validate :match_is_a_match
32
+ validate :match_is_a_match
22
33
 
23
- def initialize(response)
24
- handle_errors(response)
34
+ ##
35
+ # Creates a new GetMatchResponse
36
+ #
37
+ # @param response [Faraday::Response] Faraday response from endpoint
38
+ #
39
+ # @return [ZombieBattleground::Api::GetMatchResponse]
40
+ #
41
+ # @example
42
+ # response = ZombieBattleground::Api::GetMatchResponse.new(faraday_response)
43
+ # # => ZombieBattleground::Api::GetMatchResponse
44
+ #
45
+ # @api public
46
+ def initialize(response)
47
+ handle_errors(response)
25
48
 
26
- @match = ZombieBattleground::Api::Match.new(JSON.parse(response.body))
27
- end
49
+ @match = ZombieBattleground::Api::Models::Match.new(JSON.parse(response.body))
50
+ end
51
+
52
+ private
28
53
 
29
- def match_is_a_match
30
- return if @match.is_a?(ZombieBattleground::Api::Match) &&
31
- @match.valid? &&
32
- @match.errors.size.zero?
54
+ ##
55
+ # Validator for match attribute
56
+ #
57
+ # @return [void]
58
+ #
59
+ # @api private
60
+ def match_is_a_match
61
+ return if @match.is_a?(ZombieBattleground::Api::Models::Match) &&
62
+ @match.valid? &&
63
+ @match.errors.size.zero?
33
64
 
34
- errors.add(:match, 'match must be a Match')
65
+ errors.add(:match, 'match must be a Match')
66
+ end
35
67
  end
36
68
  end
37
69
  end
@@ -9,44 +9,114 @@ require 'zombie_battleground/api/responses/response_helper'
9
9
 
10
10
  module ZombieBattleground
11
11
  class Api
12
- ##
13
- # Response validator for GetMatches
14
- class GetMatchesResponse
15
- include ActiveModel::Validations
16
- include ZombieBattleground::Api::ValidationHelper
17
- include ZombieBattleground::Api::ResponseHelper
18
-
19
- attr_reader :total, :page, :limit, :matches
20
-
21
- validate :total_is_a_non_negative_integer
22
- validate :page_is_a_non_negative_integer
23
- validate :limit_is_a_non_negative_integer
24
- validate :matches_is_an_array_of_match
25
-
26
- def initialize(response)
27
- handle_errors(response)
28
-
29
- JSON.parse(response.body).each do |key, value|
30
- if key == 'matches'
31
- instance_variable_set("@#{key}".to_sym, value.map { |match| ZombieBattleground::Api::Match.new(match) })
32
- else
33
- instance_variable_set("@#{key}".to_sym, value)
12
+ class Responses
13
+ ##
14
+ # Response validator for GetMatches
15
+ class GetMatchesResponse
16
+ include ActiveModel::Validations
17
+ include ZombieBattleground::Api::ValidationHelper
18
+ include ZombieBattleground::Api::Responses::ResponseHelper
19
+
20
+ ##
21
+ # @!attribute [r] total
22
+ # the total number of results available
23
+ #
24
+ # @return [Integer]
25
+ #
26
+ # @example
27
+ # response.total #=> 1505
28
+ #
29
+ # @api public
30
+ attr_reader :total
31
+
32
+ ##
33
+ # @!attribute [r] page
34
+ # the page number of the results
35
+ #
36
+ # @return [Integer]
37
+ #
38
+ # @example
39
+ # response.page #=> 1
40
+ #
41
+ # @api public
42
+ attr_reader :page
43
+
44
+ ##
45
+ # @!attribute [r] limit
46
+ # the limit of results for the page
47
+ #
48
+ # @return [Integer]
49
+ #
50
+ # @example
51
+ # response.limit #=> 100
52
+ #
53
+ # @api public
54
+ attr_reader :limit
55
+
56
+ ##
57
+ # @!attribute [r] matches
58
+ # the matches found for the page and limit
59
+ #
60
+ # @return [Array<ZombieBattleground::Api::Models::Match>]
61
+ #
62
+ # @example
63
+ # response.matches #=> [ZombieBattleground::Api::Models::Match]
64
+ #
65
+ # @api public
66
+ attr_reader :matches
67
+
68
+ validate :total_is_a_non_negative_integer
69
+ validate :page_is_a_non_negative_integer
70
+ validate :limit_is_a_non_negative_integer
71
+ validate :matches_is_an_array_of_match
72
+
73
+ ##
74
+ # Creates a new GetMatchesResponse
75
+ #
76
+ # @param response [Faraday::Response] Faraday response from endpoint
77
+ #
78
+ # @return [ZombieBattleground::Api::GetMatchesResponse]
79
+ #
80
+ # @example
81
+ # response = ZombieBattleground::Api::GetMatchesResponse.new(faraday_response)
82
+ # # => ZombieBattleground::Api::GetMatchesResponse
83
+ #
84
+ # @api public
85
+ def initialize(response)
86
+ handle_errors(response)
87
+
88
+ JSON.parse(response.body).each do |key, value|
89
+ if key == 'matches'
90
+ instance_variable_set(
91
+ "@#{key}".to_sym, value.map { |match| ZombieBattleground::Api::Models::Match.new(match) }
92
+ )
93
+ else
94
+ instance_variable_set("@#{key}".to_sym, value)
95
+ end
34
96
  end
35
97
  end
36
- end
37
98
 
38
- def matches_is_an_array_of_match
39
- unless @matches.is_a?(Array)
40
- errors.add(:matches, 'Matchs must be an array')
41
- return
42
- end
99
+ private
43
100
 
44
- @matches.each do |match|
45
- next if match.is_a?(ZombieBattleground::Api::Match) &&
46
- match.valid? &&
47
- match.errors.size.zero?
101
+ ##
102
+ # Validator for matches attribute
103
+ #
104
+ # @return [void]
105
+ #
106
+ # @api private
107
+ def matches_is_an_array_of_match
108
+ unless @matches.is_a?(Array)
109
+ errors.add(:matches, 'Matchs must be an array')
110
+ return
111
+ end
112
+
113
+ @matches.each do |match|
114
+ next if match.is_a?(ZombieBattleground::Api::Models::Match) &&
115
+ match.valid? &&
116
+ match.errors.size.zero?
48
117
 
49
- errors.add(:matches, 'matches must be an array of Match')
118
+ errors.add(:matches, 'matches must be an array of Match')
119
+ end
50
120
  end
51
121
  end
52
122
  end
@@ -4,24 +4,40 @@ require 'zombie_battleground/api/errors'
4
4
 
5
5
  module ZombieBattleground
6
6
  class Api
7
- ##
8
- # Provides generic methods for response validator classes
9
- module ResponseHelper
10
- def handle_errors(response)
11
- return if response.status == 200
7
+ class Responses
8
+ ##
9
+ # Provides generic methods for response validator classes
10
+ module ResponseHelper
11
+ private
12
12
 
13
- case response.status
14
- when 404
15
- raise ZombieBattleground::Api::Errors::NotFound, response.body
16
- when 503
17
- raise ZombieBattleground::Api::Errors::ServiceUnavailable, response.body
18
- when 400..499
19
- raise ZombieBattleground::Api::Errors::BadRequest, response.body
20
- when 500..599
21
- raise ZombieBattleground::Api::Errors::InternalServerError, response.body
22
- end
13
+ ##
14
+ # Raises errors as needed from the response status code
15
+ #
16
+ # @param response [Faraday::Response] Faraday response from endpoint
17
+ #
18
+ # @return [void]
19
+ #
20
+ # @raise [ZombieBattleground::Api::Errors::NotFound, ZombieBattleground::Api::Errors::ServiceUnavailable,
21
+ # ZombieBattleground::Api::Errors::BadRequest, ZombieBattleground::Api::Errors::InternalServerError,
22
+ # ZombieBattleground::Api::Errors::UnknownResponse]
23
+ #
24
+ # @api private
25
+ def handle_errors(response)
26
+ return if response.status == 200
27
+
28
+ case response.status
29
+ when 404
30
+ raise ZombieBattleground::Api::Errors::NotFound, response.body
31
+ when 503
32
+ raise ZombieBattleground::Api::Errors::ServiceUnavailable, response.body
33
+ when 400..499
34
+ raise ZombieBattleground::Api::Errors::BadRequest, response.body
35
+ when 500..599
36
+ raise ZombieBattleground::Api::Errors::InternalServerError, response.body
37
+ end
23
38
 
24
- raise ZombieBattleground::Api::Errors::UnknownResponse, response.body
39
+ raise ZombieBattleground::Api::Errors::UnknownResponse, response.body
40
+ end
25
41
  end
26
42
  end
27
43
  end
@@ -5,12 +5,35 @@ module ZombieBattleground
5
5
  ##
6
6
  # Validation helpers for sanitizing inputs and ouputs
7
7
  module ValidationHelper
8
+ private
9
+
10
+ ##
11
+ # Appends an error to the model if the value is not the expected class
12
+ #
13
+ # @param target [Symbol]
14
+ # @param value [Object]
15
+ # @param nullable [Boolean]
16
+ # @param klass [Class]
17
+ #
18
+ # @return [void]
19
+ #
20
+ # @api private
8
21
  def value_is_a_class(target:, value:, nullable:, klass:)
9
22
  return if (nullable && value.nil?) || value.is_a?(klass)
10
23
 
11
24
  errors.add(target, "#{target} must be a #{klass}")
12
25
  end
13
26
 
27
+ ##
28
+ # Appends an error to the model if the value is not String
29
+ #
30
+ # @param target [Symbol]
31
+ # @param value [Object]
32
+ # @param nullable [Boolean]
33
+ #
34
+ # @return [void]
35
+ #
36
+ # @api private
14
37
  def value_is_a_string(target:, value:, nullable: true)
15
38
  value_is_a_class(
16
39
  target: target,
@@ -20,6 +43,16 @@ module ZombieBattleground
20
43
  )
21
44
  end
22
45
 
46
+ ##
47
+ # Appends an error to the model if the value is not Time
48
+ #
49
+ # @param target [Symbol]
50
+ # @param value [Object]
51
+ # @param nullable [Boolean]
52
+ #
53
+ # @return [void]
54
+ #
55
+ # @api private
23
56
  def value_is_a_time(target:, value:, nullable: true)
24
57
  value_is_a_class(
25
58
  target: target,
@@ -29,6 +62,16 @@ module ZombieBattleground
29
62
  )
30
63
  end
31
64
 
65
+ ##
66
+ # Appends an error to the model if the value is not Integer
67
+ #
68
+ # @param target [Symbol]
69
+ # @param value [Object]
70
+ # @param nullable [Boolean]
71
+ #
72
+ # @return [void]
73
+ #
74
+ # @api private
32
75
  def value_is_an_integer(target:, value:, nullable: true)
33
76
  value_is_a_class(
34
77
  target: target,
@@ -38,6 +81,16 @@ module ZombieBattleground
38
81
  )
39
82
  end
40
83
 
84
+ ##
85
+ # Appends an error to the model if the value is a negative Integer
86
+ #
87
+ # @param target [Symbol]
88
+ # @param value [Object]
89
+ # @param nullable [Boolean]
90
+ #
91
+ # @return [void]
92
+ #
93
+ # @api private
41
94
  def value_is_a_non_negative_integer(target:, value:, nullable: true)
42
95
  value_is_an_integer(target: target, value: value, nullable: nullable)
43
96
  return unless errors.messages.empty?
@@ -47,298 +100,742 @@ module ZombieBattleground
47
100
  errors.add(target, "#{target} must be not negative")
48
101
  end
49
102
 
103
+ ##
104
+ # Appends an error to the model if id is a negative Integer
105
+ #
106
+ # @return [void]
107
+ #
108
+ # @api private
50
109
  def id_is_a_non_negative_integer
51
110
  value_is_a_non_negative_integer(target: :id, value: id)
52
111
  end
53
112
 
113
+ ##
114
+ # Appends an error to the model if id is a negative Integer or nil
115
+ #
116
+ # @return [void]
117
+ #
118
+ # @api private
54
119
  def id_is_a_non_negative_integer_and_not_null
55
120
  value_is_a_non_negative_integer(target: :id, value: id, nullable: false)
56
121
  end
57
122
 
123
+ ##
124
+ # Appends an error to the model if user_id is not a String
125
+ #
126
+ # @return [void]
127
+ #
128
+ # @api private
58
129
  def user_id_is_a_string
59
130
  value_is_a_string(target: :user_id, value: user_id)
60
131
  end
61
132
 
133
+ ##
134
+ # Appends an error to the model if user_id is not a String or nil
135
+ #
136
+ # @return [void]
137
+ #
138
+ # @api private
62
139
  def user_id_is_a_string_and_not_null
63
140
  value_is_a_string(target: :user_id, value: user_id, nullable: false)
64
141
  end
65
142
 
143
+ ##
144
+ # Appends an error to the model if deck_id is a negative Integer
145
+ #
146
+ # @return [void]
147
+ #
148
+ # @api private
66
149
  def deck_id_is_a_non_negative_integer
67
150
  value_is_a_non_negative_integer(target: :deck_id, value: deck_id)
68
151
  end
69
152
 
153
+ ##
154
+ # Appends an error to the model if deck_id is a negative Integer or nil
155
+ #
156
+ # @return [void]
157
+ #
158
+ # @api private
70
159
  def deck_id_is_a_non_negative_integer_and_not_null
71
160
  value_is_a_non_negative_integer(target: :deck_id, value: deck_id, nullable: false)
72
161
  end
73
162
 
163
+ ##
164
+ # Appends an error to the model if name is not a String
165
+ #
166
+ # @return [void]
167
+ #
168
+ # @api private
74
169
  def name_is_a_string
75
170
  value_is_a_string(target: :name, value: name)
76
171
  end
77
172
 
173
+ ##
174
+ # Appends an error to the model if name is not a String or nil
175
+ #
176
+ # @return [void]
177
+ #
178
+ # @api private
78
179
  def name_is_a_string_and_not_null
79
180
  value_is_a_string(target: :name, value: name, nullable: false)
80
181
  end
81
182
 
183
+ ##
184
+ # Appends an error to the model if hero_id is a negative Integer
185
+ #
186
+ # @return [void]
187
+ #
188
+ # @api private
82
189
  def hero_id_is_a_non_negative_integer
83
190
  value_is_a_non_negative_integer(target: :hero_id, value: hero_id)
84
191
  end
85
192
 
193
+ ##
194
+ # Appends an error to the model if hero_id is a negative Integer or nil
195
+ #
196
+ # @return [void]
197
+ #
198
+ # @api private
86
199
  def hero_id_is_a_non_negative_integer_and_not_null
87
200
  value_is_a_non_negative_integer(target: :hero_id, value: hero_id, nullable: false)
88
201
  end
89
202
 
203
+ ##
204
+ # Appends an error to the model if primary_skill_id is a negative Integer
205
+ #
206
+ # @return [void]
207
+ #
208
+ # @api private
90
209
  def primary_skill_id_is_a_non_negative_integer
91
210
  value_is_a_non_negative_integer(target: :primary_skill_id, value: primary_skill_id)
92
211
  end
93
212
 
213
+ ##
214
+ # Appends an error to the model if primary_skill_id is a negative Integer or nil
215
+ #
216
+ # @return [void]
217
+ #
218
+ # @api private
94
219
  def primary_skill_id_is_a_non_negative_integer_and_not_null
95
220
  value_is_a_non_negative_integer(target: :primary_skill_id, value: primary_skill_id, nullable: false)
96
221
  end
97
222
 
223
+ ##
224
+ # Appends an error to the model if secondary_skill_id is a negative Integer
225
+ #
226
+ # @return [void]
227
+ #
228
+ # @api private
98
229
  def secondary_skill_id_is_a_non_negative_integer
99
230
  value_is_a_non_negative_integer(target: :secondary_skill_id, value: secondary_skill_id)
100
231
  end
101
232
 
233
+ ##
234
+ # Appends an error to the model if secondary_skill_id is a negative Integer or nil
235
+ #
236
+ # @return [void]
237
+ #
238
+ # @api private
102
239
  def secondary_skill_id_is_a_non_negative_integer_and_not_null
103
240
  value_is_a_non_negative_integer(target: :secondary_skill_id, value: secondary_skill_id, nullable: false)
104
241
  end
105
242
 
243
+ ##
244
+ # Appends an error to the model if version is not a String
245
+ #
246
+ # @return [void]
247
+ #
248
+ # @api private
106
249
  def version_is_a_string
107
250
  value_is_a_string(target: :version, value: version)
108
251
  end
109
252
 
253
+ ##
254
+ # Appends an error to the model if version is not a String or nil
255
+ #
256
+ # @return [void]
257
+ #
258
+ # @api private
110
259
  def version_is_a_string_and_not_null
111
260
  value_is_a_string(target: :version, value: version, nullable: false)
112
261
  end
113
262
 
263
+ ##
264
+ # Appends an error to the model if total is a negative Integer
265
+ #
266
+ # @return [void]
267
+ #
268
+ # @api private
114
269
  def total_is_a_non_negative_integer
115
270
  value_is_a_non_negative_integer(target: :total, value: total)
116
271
  end
117
272
 
273
+ ##
274
+ # Appends an error to the model if total is a negative Integer or nil
275
+ #
276
+ # @return [void]
277
+ #
278
+ # @api private
118
279
  def total_is_a_non_negative_integer_and_not_null
119
280
  value_is_a_non_negative_integer(target: :total, value: total, nullable: false)
120
281
  end
121
282
 
283
+ ##
284
+ # Appends an error to the model if page is a negative Integer
285
+ #
286
+ # @return [void]
287
+ #
288
+ # @api private
122
289
  def page_is_a_non_negative_integer
123
290
  value_is_a_non_negative_integer(target: :page, value: page)
124
291
  end
125
292
 
293
+ ##
294
+ # Appends an error to the model if page is a negative Integer or nil
295
+ #
296
+ # @return [void]
297
+ #
298
+ # @api private
126
299
  def page_is_a_non_negative_integer_and_not_null
127
300
  value_is_a_non_negative_integer(target: :page, value: page, nullable: false)
128
301
  end
129
302
 
303
+ ##
304
+ # Appends an error to the model if limit is a negative Integer
305
+ #
306
+ # @return [void]
307
+ #
308
+ # @api private
130
309
  def limit_is_a_non_negative_integer
131
310
  value_is_a_non_negative_integer(target: :limit, value: limit)
132
311
  end
133
312
 
313
+ ##
314
+ # Appends an error to the model if limit is a negative Integer or nil
315
+ #
316
+ # @return [void]
317
+ #
318
+ # @api private
134
319
  def limit_is_a_non_negative_integer_and_not_null
135
320
  value_is_a_non_negative_integer(target: :limit, value: limit, nullable: false)
136
321
  end
137
322
 
323
+ ##
324
+ # Appends an error to the model if card_name is not a String
325
+ #
326
+ # @return [void]
327
+ #
328
+ # @api private
138
329
  def card_name_is_a_string
139
330
  value_is_a_string(target: :card_name, value: card_name)
140
331
  end
141
332
 
333
+ ##
334
+ # Appends an error to the model if card_name is not a String or nil
335
+ #
336
+ # @return [void]
337
+ #
338
+ # @api private
142
339
  def card_name_is_a_string_and_not_null
143
340
  value_is_a_string(target: :card_name, value: card_name, nullable: false)
144
341
  end
145
342
 
343
+ ##
344
+ # Appends an error to the model if amount is a negative Integer
345
+ #
346
+ # @return [void]
347
+ #
348
+ # @api private
146
349
  def amount_is_a_non_negative_integer
147
350
  value_is_a_non_negative_integer(target: :amount, value: amount)
148
351
  end
149
352
 
353
+ ##
354
+ # Appends an error to the model if amount is a negative Integer or nil
355
+ #
356
+ # @return [void]
357
+ #
358
+ # @api private
150
359
  def amount_is_a_non_negative_integer_and_not_null
151
360
  value_is_a_non_negative_integer(target: :amount, value: amount, nullable: false)
152
361
  end
153
362
 
363
+ ##
364
+ # Appends an error to the model if sender_address is not a String
365
+ #
366
+ # @return [void]
367
+ #
368
+ # @api private
154
369
  def sender_address_is_a_string
155
370
  value_is_a_string(target: :sender_address, value: sender_address)
156
371
  end
157
372
 
373
+ ##
374
+ # Appends an error to the model if sender_address is not a String or nil
375
+ #
376
+ # @return [void]
377
+ #
378
+ # @api private
158
379
  def sender_address_is_a_string_and_not_null
159
380
  value_is_a_string(target: :sender_address, value: sender_address, nullable: false)
160
381
  end
161
382
 
383
+ ##
384
+ # Appends an error to the model if created_at is not a Time
385
+ #
386
+ # @return [void]
387
+ #
388
+ # @api private
162
389
  def created_at_is_a_time
163
390
  value_is_a_time(target: :created_at, value: created_at)
164
391
  end
165
392
 
393
+ ##
394
+ # Appends an error to the model if created_at is not a Time or nil
395
+ #
396
+ # @return [void]
397
+ #
398
+ # @api private
166
399
  def created_at_is_a_time_and_not_null
167
400
  value_is_a_time(target: :created_at, value: created_at, nullable: false)
168
401
  end
169
402
 
403
+ ##
404
+ # Appends an error to the model if updated_at is not a Time
405
+ #
406
+ # @return [void]
407
+ #
408
+ # @api private
170
409
  def updated_at_is_a_time
171
410
  value_is_a_time(target: :updated_at, value: updated_at)
172
411
  end
173
412
 
413
+ ##
414
+ # Appends an error to the model if updated_at is not a Time or nil
415
+ #
416
+ # @return [void]
417
+ #
418
+ # @api private
174
419
  def updated_at_is_a_time_and_not_null
175
420
  value_is_a_time(target: :updated_at, value: updated_at, nullable: false)
176
421
  end
177
422
 
423
+ ##
424
+ # Appends an error to the model if block_height is a negative Integer
425
+ #
426
+ # @return [void]
427
+ #
428
+ # @api private
178
429
  def block_height_is_a_non_negative_integer
179
430
  value_is_a_non_negative_integer(target: :block_height, value: block_height)
180
431
  end
181
432
 
433
+ ##
434
+ # Appends an error to the model if block_height is a negative Integer or nil
435
+ #
436
+ # @return [void]
437
+ #
438
+ # @api private
182
439
  def block_height_is_a_non_negative_integer_and_not_null
183
440
  value_is_a_non_negative_integer(target: :block_height, value: block_height, nullable: false)
184
441
  end
185
442
 
443
+ ##
444
+ # Appends an error to the model if player1_id is not a String
445
+ #
446
+ # @return [void]
447
+ #
448
+ # @api private
186
449
  def player1_id_is_a_string
187
450
  value_is_a_string(target: :player1_id, value: player1_id)
188
451
  end
189
452
 
453
+ ##
454
+ # Appends an error to the model if player1_id is not a String or nil
455
+ #
456
+ # @return [void]
457
+ #
458
+ # @api private
190
459
  def player1_id_is_a_string_and_not_null
191
460
  value_is_a_string(target: :player1_id, value: player1_id, nullable: false)
192
461
  end
193
462
 
463
+ ##
464
+ # Appends an error to the model if player2_id is not a String
465
+ #
466
+ # @return [void]
467
+ #
468
+ # @api private
194
469
  def player2_id_is_a_string
195
470
  value_is_a_string(target: :player2_id, value: player2_id)
196
471
  end
197
472
 
473
+ ##
474
+ # Appends an error to the model if player2_id is not a String or nil
475
+ #
476
+ # @return [void]
477
+ #
478
+ # @api private
198
479
  def player2_id_is_a_string_and_not_null
199
480
  value_is_a_string(target: :player2_id, value: player2_id, nullable: false)
200
481
  end
201
482
 
483
+ ##
484
+ # Appends an error to the model if player1_deck_id is a negative Integer
485
+ #
486
+ # @return [void]
487
+ #
488
+ # @api private
202
489
  def player1_deck_id_is_a_non_negative_integer
203
490
  value_is_a_non_negative_integer(target: :player1_deck_id, value: player1_deck_id)
204
491
  end
205
492
 
493
+ ##
494
+ # Appends an error to the model if player1_deck_id is a negative Integer or nil
495
+ #
496
+ # @return [void]
497
+ #
498
+ # @api private
206
499
  def player1_deck_id_is_a_non_negative_integer_and_not_null
207
500
  value_is_a_non_negative_integer(target: :player1_deck_id, value: player1_deck_id, nullable: false)
208
501
  end
209
502
 
503
+ ##
504
+ # Appends an error to the model if player2_deck_id is a negative Integer
505
+ #
506
+ # @return [void]
507
+ #
508
+ # @api private
210
509
  def player2_deck_id_is_a_non_negative_integer
211
510
  value_is_a_non_negative_integer(target: :player2_deck_id, value: player2_deck_id)
212
511
  end
213
512
 
513
+ ##
514
+ # Appends an error to the model if player2_deck_id is a negative Integer or nil
515
+ #
516
+ # @return [void]
517
+ #
518
+ # @api private
214
519
  def player2_deck_id_is_a_non_negative_integer_and_not_null
215
520
  value_is_a_non_negative_integer(target: :player2_deck_id, value: player2_deck_id, nullable: false)
216
521
  end
217
522
 
523
+ ##
524
+ # Appends an error to the model if random_seed is a negative Integer
525
+ #
526
+ # @return [void]
527
+ #
528
+ # @api private
218
529
  def random_seed_is_a_non_negative_integer
219
530
  value_is_a_non_negative_integer(target: :random_seed, value: random_seed)
220
531
  end
221
532
 
533
+ ##
534
+ # Appends an error to the model if random_seed is a negative Integer or nil
535
+ #
536
+ # @return [void]
537
+ #
538
+ # @api private
222
539
  def random_seed_is_a_non_negative_integer_and_not_null
223
540
  value_is_a_non_negative_integer(target: :random_seed, value: random_seed, nullable: false)
224
541
  end
225
542
 
543
+ ##
544
+ # Appends an error to the model if status is not a String
545
+ #
546
+ # @return [void]
547
+ #
548
+ # @api private
226
549
  def status_is_a_string
227
550
  value_is_a_string(target: :status, value: status)
228
551
  end
229
552
 
553
+ ##
554
+ # Appends an error to the model if status is not a String or nil
555
+ #
556
+ # @return [void]
557
+ #
558
+ # @api private
230
559
  def status_is_a_string_and_not_null
231
560
  value_is_a_string(target: :status, value: status, nullable: false)
232
561
  end
233
562
 
563
+ ##
564
+ # Appends an error to the model if winner_id is not a String
565
+ #
566
+ # @return [void]
567
+ #
568
+ # @api private
234
569
  def winner_id_is_a_string
235
570
  value_is_a_string(target: :winner_id, value: winner_id)
236
571
  end
237
572
 
573
+ ##
574
+ # Appends an error to the model if winner_id is not a String or nil
575
+ #
576
+ # @return [void]
577
+ #
578
+ # @api private
238
579
  def winner_id_is_a_string_and_not_null
239
580
  value_is_a_string(target: :winner_id, value: winner_id, nullable: false)
240
581
  end
241
582
 
583
+ ##
584
+ # Appends an error to the model if mould_id is not a String
585
+ #
586
+ # @return [void]
587
+ #
588
+ # @api private
242
589
  def mould_id_is_a_string
243
590
  value_is_a_string(target: :mould_id, value: mould_id)
244
591
  end
245
592
 
593
+ ##
594
+ # Appends an error to the model if mould_id is not a String or nil
595
+ #
596
+ # @return [void]
597
+ #
598
+ # @api private
246
599
  def mould_id_is_a_string_and_not_null
247
600
  value_is_a_string(target: :mould_id, value: mould_id, nullable: false)
248
601
  end
249
602
 
603
+ ##
604
+ # Appends an error to the model if kind is not a String
605
+ #
606
+ # @return [void]
607
+ #
608
+ # @api private
250
609
  def kind_is_a_string
251
610
  value_is_a_string(target: :kind, value: kind)
252
611
  end
253
612
 
613
+ ##
614
+ # Appends an error to the model if kind is not a String or nil
615
+ #
616
+ # @return [void]
617
+ #
618
+ # @api private
254
619
  def kind_is_a_string_and_not_null
255
620
  value_is_a_string(target: :kind, value: kind, nullable: false)
256
621
  end
257
622
 
623
+ ##
624
+ # Appends an error to the model if set is not a String
625
+ #
626
+ # @return [void]
627
+ #
628
+ # @api private
258
629
  def set_is_a_string
259
630
  value_is_a_string(target: :set, value: set)
260
631
  end
261
632
 
633
+ ##
634
+ # Appends an error to the model if set is not a String or nil
635
+ #
636
+ # @return [void]
637
+ #
638
+ # @api private
262
639
  def set_is_a_string_and_not_null
263
640
  value_is_a_string(target: :set, value: set, nullable: false)
264
641
  end
265
642
 
643
+ ##
644
+ # Appends an error to the model if description is not a String
645
+ #
646
+ # @return [void]
647
+ #
648
+ # @api private
266
649
  def description_is_a_string
267
650
  value_is_a_string(target: :description, value: description)
268
651
  end
269
652
 
653
+ ##
654
+ # Appends an error to the model if description is not a String or nil
655
+ #
656
+ # @return [void]
657
+ #
658
+ # @api private
270
659
  def description_is_a_string_and_not_null
271
660
  value_is_a_string(target: :description, value: description, nullable: false)
272
661
  end
273
662
 
663
+ ##
664
+ # Appends an error to the model if rank is not a String
665
+ #
666
+ # @return [void]
667
+ #
668
+ # @api private
274
669
  def rank_is_a_string
275
670
  value_is_a_string(target: :rank, value: rank)
276
671
  end
277
672
 
673
+ ##
674
+ # Appends an error to the model if rank is not a String or nil
675
+ #
676
+ # @return [void]
677
+ #
678
+ # @api private
278
679
  def rank_is_a_string_and_not_null
279
680
  value_is_a_string(target: :rank, value: rank, nullable: false)
280
681
  end
281
682
 
683
+ ##
684
+ # Appends an error to the model if type is not a String
685
+ #
686
+ # @return [void]
687
+ #
688
+ # @api private
282
689
  def type_is_a_string
283
690
  value_is_a_string(target: :type, value: type)
284
691
  end
285
692
 
693
+ ##
694
+ # Appends an error to the model if type is not a String or nil
695
+ #
696
+ # @return [void]
697
+ #
698
+ # @api private
286
699
  def type_is_a_string_and_not_null
287
700
  value_is_a_string(target: :type, value: type, nullable: false)
288
701
  end
289
702
 
703
+ ##
704
+ # Appends an error to the model if rarity is not a String
705
+ #
706
+ # @return [void]
707
+ #
708
+ # @api private
290
709
  def rarity_is_a_string
291
710
  value_is_a_string(target: :rarity, value: rarity)
292
711
  end
293
712
 
713
+ ##
714
+ # Appends an error to the model if rarity is not a String or nil
715
+ #
716
+ # @return [void]
717
+ #
718
+ # @api private
294
719
  def rarity_is_a_string_and_not_null
295
720
  value_is_a_string(target: :rarity, value: rarity, nullable: false)
296
721
  end
297
722
 
723
+ ##
724
+ # Appends an error to the model if frame is not a String
725
+ #
726
+ # @return [void]
727
+ #
728
+ # @api private
298
729
  def frame_is_a_string
299
730
  value_is_a_string(target: :frame, value: frame)
300
731
  end
301
732
 
733
+ ##
734
+ # Appends an error to the model if frame is not a String or nil
735
+ #
736
+ # @return [void]
737
+ #
738
+ # @api private
302
739
  def frame_is_a_string_and_not_null
303
740
  value_is_a_string(target: :frame, value: frame, nullable: false)
304
741
  end
305
742
 
743
+ ##
744
+ # Appends an error to the model if damage is a negative Integer
745
+ #
746
+ # @return [void]
747
+ #
748
+ # @api private
306
749
  def damage_is_a_non_negative_integer
307
750
  value_is_a_non_negative_integer(target: :damage, value: damage)
308
751
  end
309
752
 
753
+ ##
754
+ # Appends an error to the model if damage is a negative Integer or nil
755
+ #
756
+ # @return [void]
757
+ #
758
+ # @api private
310
759
  def damage_is_a_non_negative_integer_and_not_null
311
760
  value_is_a_non_negative_integer(target: :damage, value: damage, nullable: false)
312
761
  end
313
762
 
763
+ ##
764
+ # Appends an error to the model if health is a negative Integer
765
+ #
766
+ # @return [void]
767
+ #
768
+ # @api private
314
769
  def health_is_a_non_negative_integer
315
770
  value_is_a_non_negative_integer(target: :health, value: health)
316
771
  end
317
772
 
773
+ ##
774
+ # Appends an error to the model if health is a negative Integer or nil
775
+ #
776
+ # @return [void]
777
+ #
778
+ # @api private
318
779
  def health_is_a_non_negative_integer_and_not_null
319
780
  value_is_a_non_negative_integer(target: :health, value: health, nullable: false)
320
781
  end
321
782
 
783
+ ##
784
+ # Appends an error to the model if cost is a negative Integer
785
+ #
786
+ # @return [void]
787
+ #
788
+ # @api private
322
789
  def cost_is_a_non_negative_integer
323
790
  value_is_a_non_negative_integer(target: :cost, value: cost)
324
791
  end
325
792
 
793
+ ##
794
+ # Appends an error to the model if cost is a negative Integer or nil
795
+ #
796
+ # @return [void]
797
+ #
798
+ # @api private
326
799
  def cost_is_a_non_negative_integer_and_not_null
327
800
  value_is_a_non_negative_integer(target: :cost, value: cost, nullable: false)
328
801
  end
329
802
 
803
+ ##
804
+ # Appends an error to the model if ability is not a String
805
+ #
806
+ # @return [void]
807
+ #
808
+ # @api private
330
809
  def ability_is_a_string
331
810
  value_is_a_string(target: :ability, value: ability)
332
811
  end
333
812
 
813
+ ##
814
+ # Appends an error to the model if ability is not a String or nil
815
+ #
816
+ # @return [void]
817
+ #
818
+ # @api private
334
819
  def ability_is_a_string_and_not_null
335
820
  value_is_a_string(target: :ability, value: ability, nullable: false)
336
821
  end
337
822
 
823
+ ##
824
+ # Appends an error to the model if image_url is not a String
825
+ #
826
+ # @return [void]
827
+ #
828
+ # @api private
338
829
  def image_url_is_a_string
339
830
  value_is_a_string(target: :image_url, value: image_url)
340
831
  end
341
832
 
833
+ ##
834
+ # Appends an error to the model if image_url is not a String or nil
835
+ #
836
+ # @return [void]
837
+ #
838
+ # @api private
342
839
  def image_url_is_a_string_and_not_null
343
840
  value_is_a_string(target: :image_url, value: image_url, nullable: false)
344
841
  end