zombie_battleground-api 0.4.0 → 0.4.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +2 -5
- data/lib/zombie_battleground/api/extensions/cards.rb +32 -19
- data/lib/zombie_battleground/api/version.rb +1 -1
- data/lib/zombie_battleground/api.rb +6 -6
- metadata +2 -3
- data/LICENSE.txt +0 -21
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 11df9750d399535b01b26d87d68a25297f330f51dd0e347d31d1c0dbda43a032
|
4
|
+
data.tar.gz: 0c293f96164be6fe65eb072e56d7ff23d616d8e7f4d421a3e182cec36319ddaa
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 727b93807b5a4ff030c2cb9877a38390a1c6dccb2b4a0a322348502fb9284fbaf593f1f3ee64e59ad7fd203d70ca41843c1e8f6974e9f49bc6ba67fdf153b663
|
7
|
+
data.tar.gz: 0f50bf8ea5c3af8523941303405486d23851c7e4b0f72c4d346a4f8d5f72afb199e78aacf63ff492597dfa88a5fc3edc2f1eab115ef9c07748a1305f55def3c2
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -26,10 +26,10 @@ Or install it yourself as:
|
|
26
26
|
|
27
27
|
## Usage
|
28
28
|
|
29
|
-
See the [API documentation](https://www.rubydoc.info/gems/zombie_battleground-api/0.4.
|
29
|
+
See the [API documentation](https://www.rubydoc.info/gems/zombie_battleground-api/0.4.1).
|
30
30
|
Every API call returns a response object that contains a complete modeled Ruby object of the response.
|
31
31
|
|
32
|
-
Use the singleton class `ZombieBattleground::Api
|
32
|
+
Use the singleton class `ZombieBattleground::Api`. The singleton has additional extentions, the client implements the public API as is.
|
33
33
|
|
34
34
|
```ruby
|
35
35
|
require 'zombie_battleground/api'
|
@@ -50,9 +50,6 @@ client = ZombieBattleground::Api::Client.new
|
|
50
50
|
|
51
51
|
client.decks_request(limit: 1)
|
52
52
|
# => ZombieBattleground::Api::Responses::GetDecksResponse
|
53
|
-
|
54
|
-
client.decks(limit: 1)
|
55
|
-
# => [ZombieBattleground::Api::Models::Decks]
|
56
53
|
```
|
57
54
|
|
58
55
|
## Development
|
@@ -4,46 +4,59 @@ require 'zombie_battleground/api/constants'
|
|
4
4
|
|
5
5
|
module ZombieBattleground
|
6
6
|
class Api
|
7
|
-
##
|
8
|
-
# API Extensions
|
9
7
|
module Extensions
|
10
8
|
##
|
11
9
|
# API Extensions for Cards
|
12
10
|
module Cards
|
13
11
|
##
|
14
|
-
#
|
12
|
+
# Returns an enumerator for all available cards, accepts a block for yields
|
15
13
|
#
|
16
|
-
# @return [
|
14
|
+
# @return [Enumerator]
|
17
15
|
#
|
18
|
-
# @example
|
19
|
-
#
|
16
|
+
# @example Get an enumerator for the cards
|
17
|
+
# ZombieBattleground::Api.all_cards
|
18
|
+
# # => Enumerator
|
19
|
+
#
|
20
|
+
# @example Dump all cards as an array
|
21
|
+
# ZombieBattleground::Api.all_cards.to_a
|
20
22
|
# # => [ZombieBattleground::Api::Models::Card]
|
21
23
|
#
|
24
|
+
# @example Return the first card
|
25
|
+
# ZombieBattleground::Api.all_cards.first
|
26
|
+
# # => ZombieBattleground::Api::Models::Card
|
27
|
+
#
|
28
|
+
# @example Pass it a block
|
29
|
+
# ZombieBattleground::Api.all_cards do |card|
|
30
|
+
# do_something_with(card) if card.mould_id == "1" && card.version == "v3"
|
31
|
+
# end
|
32
|
+
# # => nil
|
33
|
+
#
|
22
34
|
# @api public
|
23
35
|
def all_cards(**args)
|
36
|
+
args.delete(:limit) # query as many as possible
|
37
|
+
return enum_for(:all_cards) unless block_given?
|
38
|
+
|
24
39
|
page = 1
|
25
|
-
cards = []
|
26
40
|
|
27
41
|
loop do
|
28
42
|
response = @client.cards_request(args.merge(page: page))
|
29
|
-
|
43
|
+
response.cards.each { |card| yield card }
|
44
|
+
|
30
45
|
break if response.cards.size < PAGE_MAX
|
31
46
|
# :nocov:
|
32
47
|
page += 1
|
33
48
|
# :nocov:
|
34
49
|
end
|
35
|
-
|
36
|
-
cards
|
37
50
|
end
|
38
51
|
|
39
52
|
##
|
40
|
-
# Fetches all
|
53
|
+
# Fetches all card kinds
|
41
54
|
#
|
42
|
-
# @return [Array<
|
55
|
+
# @return [Array<String>]
|
43
56
|
#
|
44
57
|
# @example
|
45
|
-
# cards = ZombieBattleground::Api.
|
46
|
-
# # => [
|
58
|
+
# cards = ZombieBattleground::Api.card_kinds
|
59
|
+
# # => [String]
|
47
60
|
#
|
48
61
|
# @api public
|
49
62
|
def card_kinds
|
@@ -119,7 +132,7 @@ module ZombieBattleground
|
|
119
132
|
#
|
120
133
|
# @api public
|
121
134
|
def cards_by_kind(kind:)
|
122
|
-
all_cards(kind: kind)
|
135
|
+
all_cards(kind: kind).to_a
|
123
136
|
end
|
124
137
|
|
125
138
|
##
|
@@ -135,7 +148,7 @@ module ZombieBattleground
|
|
135
148
|
#
|
136
149
|
# @api public
|
137
150
|
def cards_by_rank(rank:)
|
138
|
-
all_cards(rank: rank)
|
151
|
+
all_cards(rank: rank).to_a
|
139
152
|
end
|
140
153
|
|
141
154
|
##
|
@@ -151,7 +164,7 @@ module ZombieBattleground
|
|
151
164
|
#
|
152
165
|
# @api public
|
153
166
|
def cards_by_set(set:)
|
154
|
-
all_cards(set: set)
|
167
|
+
all_cards(set: set).to_a
|
155
168
|
end
|
156
169
|
|
157
170
|
##
|
@@ -167,7 +180,7 @@ module ZombieBattleground
|
|
167
180
|
#
|
168
181
|
# @api public
|
169
182
|
def cards_by_type(type:)
|
170
|
-
all_cards(type: type)
|
183
|
+
all_cards(type: type).to_a
|
171
184
|
end
|
172
185
|
|
173
186
|
##
|
@@ -183,7 +196,7 @@ module ZombieBattleground
|
|
183
196
|
#
|
184
197
|
# @api public
|
185
198
|
def cards_by_rarity(rarity:)
|
186
|
-
all_cards(rarity: rarity)
|
199
|
+
all_cards(rarity: rarity).to_a
|
187
200
|
end
|
188
201
|
end
|
189
202
|
end
|
@@ -59,7 +59,7 @@ module ZombieBattleground
|
|
59
59
|
#
|
60
60
|
# @api public
|
61
61
|
def decks(**args)
|
62
|
-
|
62
|
+
decks_request(**args).decks
|
63
63
|
end
|
64
64
|
|
65
65
|
##
|
@@ -91,7 +91,7 @@ module ZombieBattleground
|
|
91
91
|
#
|
92
92
|
# @api public
|
93
93
|
def deck(**args)
|
94
|
-
|
94
|
+
deck_request(**args).deck
|
95
95
|
end
|
96
96
|
|
97
97
|
##
|
@@ -137,7 +137,7 @@ module ZombieBattleground
|
|
137
137
|
#
|
138
138
|
# @api public
|
139
139
|
def matches(**args)
|
140
|
-
|
140
|
+
matches_request(**args).matches
|
141
141
|
end
|
142
142
|
|
143
143
|
##
|
@@ -169,7 +169,7 @@ module ZombieBattleground
|
|
169
169
|
#
|
170
170
|
# @api public
|
171
171
|
def match(**args)
|
172
|
-
|
172
|
+
match_request(**args).match
|
173
173
|
end
|
174
174
|
|
175
175
|
##
|
@@ -227,7 +227,7 @@ module ZombieBattleground
|
|
227
227
|
#
|
228
228
|
# @api public
|
229
229
|
def cards(**args)
|
230
|
-
|
230
|
+
cards_request(**args).cards
|
231
231
|
end
|
232
232
|
|
233
233
|
##
|
@@ -261,7 +261,7 @@ module ZombieBattleground
|
|
261
261
|
#
|
262
262
|
# @api public
|
263
263
|
def card(**args)
|
264
|
-
|
264
|
+
card_request(**args).card
|
265
265
|
end
|
266
266
|
end
|
267
267
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: zombie_battleground-api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- John Shields
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-02-
|
11
|
+
date: 2019-02-16 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -236,7 +236,6 @@ files:
|
|
236
236
|
- Gemfile
|
237
237
|
- Gemfile.lock
|
238
238
|
- LICENSE
|
239
|
-
- LICENSE.txt
|
240
239
|
- README.md
|
241
240
|
- Rakefile
|
242
241
|
- bin/console
|
data/LICENSE.txt
DELETED
@@ -1,21 +0,0 @@
|
|
1
|
-
The MIT License (MIT)
|
2
|
-
|
3
|
-
Copyright (c) 2019 John Shields
|
4
|
-
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
7
|
-
in the Software without restriction, including without limitation the rights
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
10
|
-
furnished to do so, subject to the following conditions:
|
11
|
-
|
12
|
-
The above copyright notice and this permission notice shall be included in
|
13
|
-
all copies or substantial portions of the Software.
|
14
|
-
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
21
|
-
THE SOFTWARE.
|