zombie_battleground-api 0.1.0 → 0.2.0

Sign up to get free protection for your applications and to get access to all the features.
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