carddb 0.4.6 → 0.5.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f029ccc69d199c05a4acb44a2c1f040e49c7d64e877b0b78adfe61d901c40bbf
4
- data.tar.gz: cac9ba5a750b2d030a6132c25c51dc00d440437763810692f01158c637dffafb
3
+ metadata.gz: ceef6d739c3216a5580fbdb226d56bb0e06f0ac383bf602338116f6373f3d6f8
4
+ data.tar.gz: 27d48679aa8a00933df584e9879e3edfa9d15f6e66c85657741a950fae7fb89a
5
5
  SHA512:
6
- metadata.gz: 40b2647b7f48c0fad81799e2e7bcfa802e31c445a60483e31bb04a1846b093567ee6f7eadaaed2bd030345822ad38bd67d6c927fe3cc1a3a8dfe6aa04e39c856
7
- data.tar.gz: dd83ff1b5e28951ac8c0cda5a3da65cf5ee0d5555bc84cf03c24863385daba1b5843fd9b6eb94c0f47edaed9c585613e89d8e1955c4e82f10d9edb49f88890d8
6
+ metadata.gz: 503f9bec588094aab1460dca8128f352108c60bd95ece2ab4316a6fc1989f0b5b96a935bbb210cac3b70e9148a847bd812646eaf5594ae055e0f203d5733ed06
7
+ data.tar.gz: 91f1ba2dcf4401a31c03b581fa756e5dc4a3fa039809bc40ea008651b04766f62f9df53cc5da2d8f24799f807d5b2e4f2ce244bd643ff0d57f8f67c55488f1d3
data/.rspec_status CHANGED
@@ -1,51 +1,51 @@
1
1
  example_id | status | run_time |
2
2
  ---------------------------------------------------------- | ------ | --------------- |
3
- ./spec/carddb/batch_spec.rb[1:1] | passed | 0.00818 seconds |
4
- ./spec/carddb/client_spec.rb[1:1:1] | passed | 0.00004 seconds |
3
+ ./spec/carddb/batch_spec.rb[1:1] | passed | 0.00897 seconds |
4
+ ./spec/carddb/client_spec.rb[1:1:1] | passed | 0.00005 seconds |
5
5
  ./spec/carddb/client_spec.rb[1:1:2] | passed | 0.00003 seconds |
6
- ./spec/carddb/client_spec.rb[1:1:3] | passed | 0.00004 seconds |
6
+ ./spec/carddb/client_spec.rb[1:1:3] | passed | 0.00003 seconds |
7
7
  ./spec/carddb/client_spec.rb[1:1:4] | passed | 0.00003 seconds |
8
- ./spec/carddb/client_spec.rb[1:2:1] | passed | 0.00014 seconds |
9
- ./spec/carddb/client_spec.rb[1:2:2] | passed | 0.00016 seconds |
10
- ./spec/carddb/client_spec.rb[1:3:1] | passed | 0.00004 seconds |
8
+ ./spec/carddb/client_spec.rb[1:2:1] | passed | 0.00013 seconds |
9
+ ./spec/carddb/client_spec.rb[1:2:2] | passed | 0.00035 seconds |
10
+ ./spec/carddb/client_spec.rb[1:3:1] | passed | 0.00003 seconds |
11
11
  ./spec/carddb/client_spec.rb[1:4:1] | passed | 0.00003 seconds |
12
- ./spec/carddb/client_spec.rb[1:5:1] | passed | 0.00003 seconds |
13
- ./spec/carddb/client_spec.rb[1:6:1] | passed | 0.00003 seconds |
12
+ ./spec/carddb/client_spec.rb[1:5:1] | passed | 0.00004 seconds |
13
+ ./spec/carddb/client_spec.rb[1:6:1] | passed | 0.00004 seconds |
14
14
  ./spec/carddb/client_spec.rb[1:7:1] | passed | 0.00003 seconds |
15
15
  ./spec/carddb/client_spec.rb[1:8:1] | passed | 0.00003 seconds |
16
16
  ./spec/carddb/client_spec.rb[1:9:1] | passed | 0.00003 seconds |
17
17
  ./spec/carddb/client_spec.rb[1:10:1] | passed | 0.00003 seconds |
18
18
  ./spec/carddb/client_spec.rb[1:11:1] | passed | 0.00003 seconds |
19
- ./spec/carddb/client_spec.rb[1:12:1] | passed | 0.00003 seconds |
19
+ ./spec/carddb/client_spec.rb[1:12:1] | passed | 0.00004 seconds |
20
20
  ./spec/carddb/client_spec.rb[1:13:1] | passed | 0.00003 seconds |
21
- ./spec/carddb/client_spec.rb[1:14:1] | passed | 0.00029 seconds |
22
- ./spec/carddb/client_spec.rb[1:14:2] | passed | 0.0037 seconds |
23
- ./spec/carddb/collection_spec.rb[1:1:1] | passed | 0.00004 seconds |
21
+ ./spec/carddb/client_spec.rb[1:14:1] | passed | 0.00041 seconds |
22
+ ./spec/carddb/client_spec.rb[1:14:2] | passed | 0.0038 seconds |
23
+ ./spec/carddb/collection_spec.rb[1:1:1] | passed | 0.00005 seconds |
24
24
  ./spec/carddb/collection_spec.rb[2:1:1] | passed | 0.00003 seconds |
25
- ./spec/carddb/collection_spec.rb[3:1:1] | passed | 0.0017 seconds |
26
- ./spec/carddb/collection_spec.rb[3:1:2] | passed | 0.00013 seconds |
27
- ./spec/carddb/collection_spec.rb[3:1:3] | passed | 0.00035 seconds |
28
- ./spec/carddb/collection_spec.rb[3:1:4] | passed | 0.0003 seconds |
25
+ ./spec/carddb/collection_spec.rb[3:1:1] | passed | 0.00266 seconds |
26
+ ./spec/carddb/collection_spec.rb[3:1:2] | passed | 0.00014 seconds |
27
+ ./spec/carddb/collection_spec.rb[3:1:3] | passed | 0.00038 seconds |
28
+ ./spec/carddb/collection_spec.rb[3:1:4] | passed | 0.00048 seconds |
29
29
  ./spec/carddb/collection_spec.rb[3:1:5] | passed | 0.00004 seconds |
30
- ./spec/carddb/collection_spec.rb[4:1:1] | passed | 0.00019 seconds |
31
- ./spec/carddb/collection_spec.rb[4:1:2] | passed | 0.00017 seconds |
32
- ./spec/carddb/collection_spec.rb[4:1:3] | passed | 0.00016 seconds |
30
+ ./spec/carddb/collection_spec.rb[4:1:1] | passed | 0.00014 seconds |
31
+ ./spec/carddb/collection_spec.rb[4:1:2] | passed | 0.00014 seconds |
32
+ ./spec/carddb/collection_spec.rb[4:1:3] | passed | 0.00014 seconds |
33
33
  ./spec/carddb/collection_spec.rb[4:1:4] | passed | 0.00004 seconds |
34
- ./spec/carddb/configuration_spec.rb[1:1:1] | passed | 0.00004 seconds |
34
+ ./spec/carddb/configuration_spec.rb[1:1:1] | passed | 0.00003 seconds |
35
35
  ./spec/carddb/configuration_spec.rb[1:1:2] | passed | 0.00003 seconds |
36
36
  ./spec/carddb/configuration_spec.rb[1:1:3] | passed | 0.00003 seconds |
37
- ./spec/carddb/configuration_spec.rb[1:1:4] | passed | 0.00003 seconds |
37
+ ./spec/carddb/configuration_spec.rb[1:1:4] | passed | 0.00004 seconds |
38
38
  ./spec/carddb/configuration_spec.rb[1:1:5] | passed | 0.00003 seconds |
39
39
  ./spec/carddb/configuration_spec.rb[1:1:6] | passed | 0.00003 seconds |
40
- ./spec/carddb/configuration_spec.rb[1:2:1:1] | passed | 0.00005 seconds |
41
- ./spec/carddb/configuration_spec.rb[1:2:2:1] | passed | 0.00004 seconds |
40
+ ./spec/carddb/configuration_spec.rb[1:2:1:1] | passed | 0.00004 seconds |
41
+ ./spec/carddb/configuration_spec.rb[1:2:2:1] | passed | 0.00003 seconds |
42
42
  ./spec/carddb/configuration_spec.rb[1:2:2:2] | passed | 0.00004 seconds |
43
43
  ./spec/carddb/configuration_spec.rb[1:3:1:1] | passed | 0.00003 seconds |
44
44
  ./spec/carddb/configuration_spec.rb[1:3:2:1] | passed | 0.00003 seconds |
45
- ./spec/carddb/configuration_spec.rb[1:3:2:2] | passed | 0.00004 seconds |
46
- ./spec/carddb/configuration_spec.rb[1:3:2:3] | passed | 0.00004 seconds |
45
+ ./spec/carddb/configuration_spec.rb[1:3:2:2] | passed | 0.00005 seconds |
46
+ ./spec/carddb/configuration_spec.rb[1:3:2:3] | passed | 0.00003 seconds |
47
47
  ./spec/carddb/configuration_spec.rb[1:4:1] | passed | 0.00003 seconds |
48
- ./spec/carddb/configuration_spec.rb[1:4:2] | passed | 0.00004 seconds |
48
+ ./spec/carddb/configuration_spec.rb[1:4:2] | passed | 0.00003 seconds |
49
49
  ./spec/carddb/configuration_spec.rb[1:5:1] | passed | 0.00003 seconds |
50
50
  ./spec/carddb/configuration_spec.rb[1:6:1] | passed | 0.00003 seconds |
51
51
  ./spec/carddb/configuration_spec.rb[1:6:2] | passed | 0.00003 seconds |
@@ -53,16 +53,16 @@ example_id | status | run_time
53
53
  ./spec/carddb/configuration_spec.rb[1:7:1] | passed | 0.00003 seconds |
54
54
  ./spec/carddb/configuration_spec.rb[1:7:2] | passed | 0.00004 seconds |
55
55
  ./spec/carddb/configuration_spec.rb[1:7:3] | passed | 0.00004 seconds |
56
- ./spec/carddb/deck_tokens_spec.rb[1:1:1] | passed | 0.00073 seconds |
57
- ./spec/carddb/deck_tokens_spec.rb[1:2:1] | passed | 0.00077 seconds |
58
- ./spec/carddb/deck_tokens_spec.rb[1:2:2] | passed | 0.00026 seconds |
59
- ./spec/carddb/deck_tokens_spec.rb[1:2:3] | passed | 0.00007 seconds |
56
+ ./spec/carddb/deck_tokens_spec.rb[1:1:1] | passed | 0.00085 seconds |
57
+ ./spec/carddb/deck_tokens_spec.rb[1:2:1] | passed | 0.00073 seconds |
58
+ ./spec/carddb/deck_tokens_spec.rb[1:2:2] | passed | 0.00024 seconds |
59
+ ./spec/carddb/deck_tokens_spec.rb[1:2:3] | passed | 0.00006 seconds |
60
60
  ./spec/carddb/filter_builder_spec.rb[1:1:1] | passed | 0.00004 seconds |
61
- ./spec/carddb/filter_builder_spec.rb[1:1:2] | passed | 0.00004 seconds |
62
- ./spec/carddb/filter_builder_spec.rb[1:1:3] | passed | 0.00003 seconds |
61
+ ./spec/carddb/filter_builder_spec.rb[1:1:2] | passed | 0.00003 seconds |
62
+ ./spec/carddb/filter_builder_spec.rb[1:1:3] | passed | 0.00364 seconds |
63
63
  ./spec/carddb/filter_builder_spec.rb[1:1:4] | passed | 0.00004 seconds |
64
64
  ./spec/carddb/filter_builder_spec.rb[1:1:5] | passed | 0.00003 seconds |
65
- ./spec/carddb/filter_builder_spec.rb[1:1:6] | passed | 0.00004 seconds |
65
+ ./spec/carddb/filter_builder_spec.rb[1:1:6] | passed | 0.00003 seconds |
66
66
  ./spec/carddb/filter_builder_spec.rb[1:1:7] | passed | 0.00003 seconds |
67
67
  ./spec/carddb/filter_builder_spec.rb[1:1:8] | passed | 0.00003 seconds |
68
68
  ./spec/carddb/filter_builder_spec.rb[1:2:1] | passed | 0.00003 seconds |
@@ -78,125 +78,127 @@ example_id | status | run_time
78
78
  ./spec/carddb/filter_builder_spec.rb[1:2:11] | passed | 0.00003 seconds |
79
79
  ./spec/carddb/filter_builder_spec.rb[1:2:12] | passed | 0.00003 seconds |
80
80
  ./spec/carddb/filter_builder_spec.rb[1:2:13] | passed | 0.00003 seconds |
81
- ./spec/carddb/query_builder_spec.rb[1:1:1] | passed | 0.00004 seconds |
82
- ./spec/carddb/query_builder_spec.rb[1:1:2] | passed | 0.00005 seconds |
83
- ./spec/carddb/query_builder_spec.rb[1:1:3] | passed | 0.00003 seconds |
81
+ ./spec/carddb/query_builder_spec.rb[1:1:1] | passed | 0.00005 seconds |
82
+ ./spec/carddb/query_builder_spec.rb[1:1:2] | passed | 0.00004 seconds |
83
+ ./spec/carddb/query_builder_spec.rb[1:1:3] | passed | 0.00004 seconds |
84
84
  ./spec/carddb/query_builder_spec.rb[1:2:1:1] | passed | 0.00004 seconds |
85
85
  ./spec/carddb/query_builder_spec.rb[1:2:2:1] | passed | 0.00004 seconds |
86
- ./spec/carddb/query_builder_spec.rb[1:3:1] | passed | 0.00005 seconds |
86
+ ./spec/carddb/query_builder_spec.rb[1:3:1] | passed | 0.00004 seconds |
87
87
  ./spec/carddb/query_builder_spec.rb[1:3:2] | passed | 0.00004 seconds |
88
88
  ./spec/carddb/query_builder_spec.rb[1:4:1] | passed | 0.00004 seconds |
89
- ./spec/carddb/query_builder_spec.rb[1:4:2] | passed | 0.00005 seconds |
89
+ ./spec/carddb/query_builder_spec.rb[1:4:2] | passed | 0.00004 seconds |
90
90
  ./spec/carddb/query_builder_spec.rb[1:5:1] | passed | 0.00003 seconds |
91
91
  ./spec/carddb/query_builder_spec.rb[1:5:2] | passed | 0.00004 seconds |
92
92
  ./spec/carddb/query_builder_spec.rb[1:5:3] | passed | 0.00004 seconds |
93
93
  ./spec/carddb/query_builder_spec.rb[1:5:4] | passed | 0.00003 seconds |
94
- ./spec/carddb/query_builder_spec.rb[1:5:5] | passed | 0.00005 seconds |
94
+ ./spec/carddb/query_builder_spec.rb[1:5:5] | passed | 0.00004 seconds |
95
95
  ./spec/carddb/query_builder_spec.rb[1:5:6] | passed | 0.00003 seconds |
96
96
  ./spec/carddb/query_builder_spec.rb[1:5:7] | passed | 0.00003 seconds |
97
97
  ./spec/carddb/query_builder_spec.rb[1:5:8] | passed | 0.00003 seconds |
98
- ./spec/carddb/query_builder_spec.rb[1:5:9] | passed | 0.00005 seconds |
99
- ./spec/carddb/query_builder_spec.rb[1:6:1] | passed | 0.00004 seconds |
100
- ./spec/carddb/query_builder_spec.rb[1:6:2] | passed | 0.00004 seconds |
98
+ ./spec/carddb/query_builder_spec.rb[1:5:9] | passed | 0.00004 seconds |
99
+ ./spec/carddb/query_builder_spec.rb[1:6:1] | passed | 0.0001 seconds |
100
+ ./spec/carddb/query_builder_spec.rb[1:6:2] | passed | 0.00003 seconds |
101
101
  ./spec/carddb/query_builder_spec.rb[1:6:3] | passed | 0.00004 seconds |
102
- ./spec/carddb/query_builder_spec.rb[1:6:4] | passed | 0.00004 seconds |
102
+ ./spec/carddb/query_builder_spec.rb[1:6:4] | passed | 0.00003 seconds |
103
103
  ./spec/carddb/query_builder_spec.rb[1:6:5] | passed | 0.00005 seconds |
104
- ./spec/carddb/query_builder_spec.rb[1:6:6] | passed | 0.00006 seconds |
105
- ./spec/carddb/query_builder_spec.rb[1:6:7] | passed | 0.00006 seconds |
104
+ ./spec/carddb/query_builder_spec.rb[1:6:6] | passed | 0.00005 seconds |
105
+ ./spec/carddb/query_builder_spec.rb[1:6:7] | passed | 0.00005 seconds |
106
106
  ./spec/carddb/query_builder_spec.rb[1:6:8] | passed | 0.00003 seconds |
107
- ./spec/carddb/query_builder_spec.rb[1:6:9] | passed | 0.00004 seconds |
108
- ./spec/carddb/query_builder_spec.rb[1:6:10] | passed | 0.00004 seconds |
109
- ./spec/carddb/resources/datasets_spec.rb[1:1:1] | passed | 0.0039 seconds |
110
- ./spec/carddb/resources/datasets_spec.rb[1:1:2] | passed | 0.00382 seconds |
111
- ./spec/carddb/resources/datasets_spec.rb[1:2:1] | passed | 0.00393 seconds |
112
- ./spec/carddb/resources/decks_spec.rb[1:1:1] | passed | 0.00386 seconds |
113
- ./spec/carddb/resources/decks_spec.rb[1:1:2] | passed | 0.00381 seconds |
114
- ./spec/carddb/resources/decks_spec.rb[1:1:3] | passed | 0.00385 seconds |
115
- ./spec/carddb/resources/decks_spec.rb[1:1:4] | passed | 0.00374 seconds |
116
- ./spec/carddb/resources/decks_spec.rb[1:2:1] | passed | 0.00412 seconds |
117
- ./spec/carddb/resources/decks_spec.rb[1:2:2] | passed | 0.00757 seconds |
118
- ./spec/carddb/resources/decks_spec.rb[1:2:3] | passed | 0.00006 seconds |
107
+ ./spec/carddb/query_builder_spec.rb[1:6:9] | passed | 0.00003 seconds |
108
+ ./spec/carddb/query_builder_spec.rb[1:6:10] | passed | 0.00003 seconds |
109
+ ./spec/carddb/resources/datasets_spec.rb[1:1:1] | passed | 0.0043 seconds |
110
+ ./spec/carddb/resources/datasets_spec.rb[1:1:2] | passed | 0.00394 seconds |
111
+ ./spec/carddb/resources/datasets_spec.rb[1:2:1] | passed | 0.00387 seconds |
112
+ ./spec/carddb/resources/datasets_spec.rb[1:3:1] | passed | 0.0042 seconds |
113
+ ./spec/carddb/resources/datasets_spec.rb[1:3:2] | passed | 0.00388 seconds |
114
+ ./spec/carddb/resources/decks_spec.rb[1:1:1] | passed | 0.00414 seconds |
115
+ ./spec/carddb/resources/decks_spec.rb[1:1:2] | passed | 0.00394 seconds |
116
+ ./spec/carddb/resources/decks_spec.rb[1:1:3] | passed | 0.00389 seconds |
117
+ ./spec/carddb/resources/decks_spec.rb[1:1:4] | passed | 0.00396 seconds |
118
+ ./spec/carddb/resources/decks_spec.rb[1:2:1] | passed | 0.00435 seconds |
119
+ ./spec/carddb/resources/decks_spec.rb[1:2:2] | passed | 0.00785 seconds |
120
+ ./spec/carddb/resources/decks_spec.rb[1:2:3] | passed | 0.00007 seconds |
119
121
  ./spec/carddb/resources/decks_spec.rb[1:3:1] | passed | 0.00387 seconds |
120
- ./spec/carddb/resources/decks_spec.rb[1:4:1] | passed | 0.00383 seconds |
121
- ./spec/carddb/resources/decks_spec.rb[1:5:1] | passed | 0.00386 seconds |
122
- ./spec/carddb/resources/decks_spec.rb[1:6:1] | passed | 0.00399 seconds |
123
- ./spec/carddb/resources/decks_spec.rb[1:6:2] | passed | 0.00384 seconds |
124
- ./spec/carddb/resources/decks_spec.rb[1:6:3] | passed | 0.00376 seconds |
125
- ./spec/carddb/resources/decks_spec.rb[1:6:4] | passed | 0.00008 seconds |
126
- ./spec/carddb/resources/decks_spec.rb[1:7:1] | passed | 0.00378 seconds |
127
- ./spec/carddb/resources/decks_spec.rb[1:8:1] | passed | 0.00372 seconds |
128
- ./spec/carddb/resources/decks_spec.rb[1:9:1] | passed | 0.00388 seconds |
129
- ./spec/carddb/resources/decks_spec.rb[1:10:1] | passed | 0.00394 seconds |
130
- ./spec/carddb/resources/decks_spec.rb[1:10:2] | passed | 0.00376 seconds |
131
- ./spec/carddb/resources/decks_spec.rb[1:10:3] | passed | 0.00738 seconds |
132
- ./spec/carddb/resources/decks_spec.rb[1:10:4] | passed | 0.0043 seconds |
133
- ./spec/carddb/resources/decks_spec.rb[1:11:1] | passed | 0.00375 seconds |
134
- ./spec/carddb/resources/decks_spec.rb[1:12:1] | passed | 0.00411 seconds |
135
- ./spec/carddb/resources/decks_spec.rb[1:12:2] | passed | 0.00373 seconds |
136
- ./spec/carddb/resources/decks_spec.rb[1:12:3] | passed | 0.00423 seconds |
137
- ./spec/carddb/resources/decks_spec.rb[1:12:4] | passed | 0.00007 seconds |
138
- ./spec/carddb/resources/decks_spec.rb[1:13:1] | passed | 0.00368 seconds |
139
- ./spec/carddb/resources/decks_spec.rb[1:14:1] | passed | 0.00378 seconds |
140
- ./spec/carddb/resources/decks_spec.rb[1:15:1] | passed | 0.00401 seconds |
141
- ./spec/carddb/resources/decks_spec.rb[1:15:2] | passed | 0.00423 seconds |
142
- ./spec/carddb/resources/decks_spec.rb[1:15:3] | passed | 0.00406 seconds |
143
- ./spec/carddb/resources/decks_spec.rb[1:16:1] | passed | 0.00463 seconds |
144
- ./spec/carddb/resources/decks_spec.rb[1:17:1] | passed | 0.00469 seconds |
145
- ./spec/carddb/resources/decks_spec.rb[1:18:1] | passed | 0.00366 seconds |
146
- ./spec/carddb/resources/decks_spec.rb[1:19:1] | passed | 0.00364 seconds |
147
- ./spec/carddb/resources/decks_spec.rb[1:20:1] | passed | 0.00351 seconds |
148
- ./spec/carddb/resources/decks_spec.rb[1:21:1] | passed | 0.00369 seconds |
149
- ./spec/carddb/resources/games_spec.rb[1:1:1] | passed | 0.00367 seconds |
122
+ ./spec/carddb/resources/decks_spec.rb[1:4:1] | passed | 0.00382 seconds |
123
+ ./spec/carddb/resources/decks_spec.rb[1:5:1] | passed | 0.0038 seconds |
124
+ ./spec/carddb/resources/decks_spec.rb[1:6:1] | passed | 0.00393 seconds |
125
+ ./spec/carddb/resources/decks_spec.rb[1:6:2] | passed | 0.00383 seconds |
126
+ ./spec/carddb/resources/decks_spec.rb[1:6:3] | passed | 0.00409 seconds |
127
+ ./spec/carddb/resources/decks_spec.rb[1:6:4] | passed | 0.00009 seconds |
128
+ ./spec/carddb/resources/decks_spec.rb[1:7:1] | passed | 0.00391 seconds |
129
+ ./spec/carddb/resources/decks_spec.rb[1:8:1] | passed | 0.00383 seconds |
130
+ ./spec/carddb/resources/decks_spec.rb[1:9:1] | passed | 0.00425 seconds |
131
+ ./spec/carddb/resources/decks_spec.rb[1:10:1] | passed | 0.00384 seconds |
132
+ ./spec/carddb/resources/decks_spec.rb[1:10:2] | passed | 0.00424 seconds |
133
+ ./spec/carddb/resources/decks_spec.rb[1:10:3] | passed | 0.00471 seconds |
134
+ ./spec/carddb/resources/decks_spec.rb[1:10:4] | passed | 0.00372 seconds |
135
+ ./spec/carddb/resources/decks_spec.rb[1:11:1] | passed | 0.00411 seconds |
136
+ ./spec/carddb/resources/decks_spec.rb[1:12:1] | passed | 0.00397 seconds |
137
+ ./spec/carddb/resources/decks_spec.rb[1:12:2] | passed | 0.00377 seconds |
138
+ ./spec/carddb/resources/decks_spec.rb[1:12:3] | passed | 0.00406 seconds |
139
+ ./spec/carddb/resources/decks_spec.rb[1:12:4] | passed | 0.00006 seconds |
140
+ ./spec/carddb/resources/decks_spec.rb[1:13:1] | passed | 0.00398 seconds |
141
+ ./spec/carddb/resources/decks_spec.rb[1:14:1] | passed | 0.00762 seconds |
142
+ ./spec/carddb/resources/decks_spec.rb[1:15:1] | passed | 0.004 seconds |
143
+ ./spec/carddb/resources/decks_spec.rb[1:15:2] | passed | 0.00526 seconds |
144
+ ./spec/carddb/resources/decks_spec.rb[1:15:3] | passed | 0.00459 seconds |
145
+ ./spec/carddb/resources/decks_spec.rb[1:16:1] | passed | 0.005 seconds |
146
+ ./spec/carddb/resources/decks_spec.rb[1:17:1] | passed | 0.0048 seconds |
147
+ ./spec/carddb/resources/decks_spec.rb[1:18:1] | passed | 0.00368 seconds |
148
+ ./spec/carddb/resources/decks_spec.rb[1:19:1] | passed | 0.00485 seconds |
149
+ ./spec/carddb/resources/decks_spec.rb[1:20:1] | passed | 0.00364 seconds |
150
+ ./spec/carddb/resources/decks_spec.rb[1:21:1] | passed | 0.00383 seconds |
151
+ ./spec/carddb/resources/games_spec.rb[1:1:1] | passed | 0.00459 seconds |
150
152
  ./spec/carddb/resources/games_spec.rb[1:1:2] | passed | 0.00006 seconds |
151
- ./spec/carddb/resources/games_spec.rb[1:2:1] | passed | 0.00466 seconds |
152
- ./spec/carddb/resources/games_spec.rb[1:2:2] | passed | 0.00366 seconds |
153
+ ./spec/carddb/resources/games_spec.rb[1:2:1] | passed | 0.00368 seconds |
154
+ ./spec/carddb/resources/games_spec.rb[1:2:2] | passed | 0.00472 seconds |
153
155
  ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:1] | passed | 0.00368 seconds |
154
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:2] | passed | 0.00464 seconds |
155
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:3] | passed | 0.00397 seconds |
156
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:1] | passed | 0.00507 seconds |
157
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:2] | passed | 0.00006 seconds |
158
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:1] | passed | 0.0041 seconds |
159
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:2] | passed | 0.00383 seconds |
160
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:3] | passed | 0.00368 seconds |
161
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:1] | passed | 0.00382 seconds |
162
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:2] | passed | 0.00422 seconds |
163
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:3] | passed | 0.00385 seconds |
164
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:1] | passed | 0.00374 seconds |
165
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:2] | passed | 0.00362 seconds |
166
- ./spec/carddb/resources/publishers_spec.rb[1:1:1] | passed | 0.00354 seconds |
167
- ./spec/carddb/resources/publishers_spec.rb[1:2:1] | passed | 0.00367 seconds |
168
- ./spec/carddb/resources/records_spec.rb[1:1:1] | passed | 0.00369 seconds |
169
- ./spec/carddb/resources/records_spec.rb[1:1:2] | passed | 0.0037 seconds |
170
- ./spec/carddb/resources/records_spec.rb[1:1:3] | passed | 0.00009 seconds |
171
- ./spec/carddb/resources/records_spec.rb[1:1:4] | passed | 0.00005 seconds |
172
- ./spec/carddb/resources/records_spec.rb[1:2:1] | passed | 0.00372 seconds |
173
- ./spec/carddb/resources/records_spec.rb[1:2:2] | passed | 0.00363 seconds |
174
- ./spec/carddb/resources/records_spec.rb[1:2:3] | passed | 0.00376 seconds |
175
- ./spec/carddb/resources/records_spec.rb[1:3:1] | passed | 0.00365 seconds |
176
- ./spec/carddb/resources/records_spec.rb[1:3:2] | passed | 0.0001 seconds |
177
- ./spec/carddb/resources/records_spec.rb[1:4:1] | passed | 0.00369 seconds |
178
- ./spec/carddb/resources/records_spec.rb[1:4:2] | passed | 0.00003 seconds |
179
- ./spec/carddb/resources/records_spec.rb[1:4:3] | passed | 0.00008 seconds |
180
- ./spec/carddb/resources/rules_spec.rb[1:1:1] | passed | 0.00675 seconds |
181
- ./spec/carddb/resources/rules_spec.rb[1:2:1] | passed | 0.00354 seconds |
182
- ./spec/carddb/resources/rulesets_spec.rb[1:1:1] | passed | 0.00458 seconds |
183
- ./spec/carddb/resources/rulesets_spec.rb[1:1:2] | passed | 0.00487 seconds |
184
- ./spec/carddb/resources/rulesets_spec.rb[1:2:1] | passed | 0.00357 seconds |
185
- ./spec/carddb/resources/rulesets_spec.rb[1:2:2] | passed | 0.00466 seconds |
186
- ./spec/carddb/resources/rulesets_spec.rb[1:3:1] | passed | 0.00476 seconds |
156
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:2] | passed | 0.00422 seconds |
157
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:3] | passed | 0.00385 seconds |
158
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:1] | passed | 0.00466 seconds |
159
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:2] | passed | 0.00005 seconds |
160
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:1] | passed | 0.00496 seconds |
161
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:2] | passed | 0.00421 seconds |
162
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:3] | passed | 0.00431 seconds |
163
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:1] | passed | 0.00405 seconds |
164
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:2] | passed | 0.00522 seconds |
165
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:3] | passed | 0.005 seconds |
166
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:1] | passed | 0.00488 seconds |
167
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:2] | passed | 0.00414 seconds |
168
+ ./spec/carddb/resources/publishers_spec.rb[1:1:1] | passed | 0.00418 seconds |
169
+ ./spec/carddb/resources/publishers_spec.rb[1:2:1] | passed | 0.00443 seconds |
170
+ ./spec/carddb/resources/records_spec.rb[1:1:1] | passed | 0.0045 seconds |
171
+ ./spec/carddb/resources/records_spec.rb[1:1:2] | passed | 0.0038 seconds |
172
+ ./spec/carddb/resources/records_spec.rb[1:1:3] | passed | 0.00008 seconds |
173
+ ./spec/carddb/resources/records_spec.rb[1:1:4] | passed | 0.0001 seconds |
174
+ ./spec/carddb/resources/records_spec.rb[1:2:1] | passed | 0.00426 seconds |
175
+ ./spec/carddb/resources/records_spec.rb[1:2:2] | passed | 0.00376 seconds |
176
+ ./spec/carddb/resources/records_spec.rb[1:2:3] | passed | 0.00454 seconds |
177
+ ./spec/carddb/resources/records_spec.rb[1:3:1] | passed | 0.00363 seconds |
178
+ ./spec/carddb/resources/records_spec.rb[1:3:2] | passed | 0.00046 seconds |
179
+ ./spec/carddb/resources/records_spec.rb[1:4:1] | passed | 0.00366 seconds |
180
+ ./spec/carddb/resources/records_spec.rb[1:4:2] | passed | 0.00004 seconds |
181
+ ./spec/carddb/resources/records_spec.rb[1:4:3] | passed | 0.00012 seconds |
182
+ ./spec/carddb/resources/rules_spec.rb[1:1:1] | passed | 0.00381 seconds |
183
+ ./spec/carddb/resources/rules_spec.rb[1:2:1] | passed | 0.00378 seconds |
184
+ ./spec/carddb/resources/rulesets_spec.rb[1:1:1] | passed | 0.00372 seconds |
185
+ ./spec/carddb/resources/rulesets_spec.rb[1:1:2] | passed | 0.00538 seconds |
186
+ ./spec/carddb/resources/rulesets_spec.rb[1:2:1] | passed | 0.00444 seconds |
187
+ ./spec/carddb/resources/rulesets_spec.rb[1:2:2] | passed | 0.00384 seconds |
188
+ ./spec/carddb/resources/rulesets_spec.rb[1:3:1] | passed | 0.00493 seconds |
187
189
  ./spec/carddb/resources/rulesets_spec.rb[1:3:2] | passed | 0.00005 seconds |
188
- ./spec/carddb/resources/scans_spec.rb[1:1] | passed | 0.00368 seconds |
189
- ./spec/carddb/resources/scans_spec.rb[1:2] | passed | 0.00827 seconds |
190
- ./spec/carddb/resources/scans_spec.rb[1:3] | passed | 0.00432 seconds |
191
- ./spec/carddb/resources/scans_spec.rb[1:4] | passed | 0.00432 seconds |
192
- ./spec/carddb/resources/scans_spec.rb[1:5] | passed | 0.00359 seconds |
193
- ./spec/carddb/resources/scans_spec.rb[1:6] | passed | 0.00517 seconds |
194
- ./spec/carddb/resources/scans_spec.rb[1:7] | passed | 0.0035 seconds |
195
- ./spec/carddb/resources/scans_spec.rb[1:8] | passed | 0.00008 seconds |
196
- ./spec/carddb_spec.rb[1:1] | passed | 0.00004 seconds |
190
+ ./spec/carddb/resources/scans_spec.rb[1:1] | passed | 0.00447 seconds |
191
+ ./spec/carddb/resources/scans_spec.rb[1:2] | passed | 0.00791 seconds |
192
+ ./spec/carddb/resources/scans_spec.rb[1:3] | passed | 0.00388 seconds |
193
+ ./spec/carddb/resources/scans_spec.rb[1:4] | passed | 0.00451 seconds |
194
+ ./spec/carddb/resources/scans_spec.rb[1:5] | passed | 0.0047 seconds |
195
+ ./spec/carddb/resources/scans_spec.rb[1:6] | passed | 0.00406 seconds |
196
+ ./spec/carddb/resources/scans_spec.rb[1:7] | passed | 0.00361 seconds |
197
+ ./spec/carddb/resources/scans_spec.rb[1:8] | passed | 0.00009 seconds |
198
+ ./spec/carddb_spec.rb[1:1] | passed | 0.00003 seconds |
197
199
  ./spec/carddb_spec.rb[1:2:1] | passed | 0.00004 seconds |
198
- ./spec/carddb_spec.rb[1:3:1] | passed | 0.00145 seconds |
199
- ./spec/carddb_spec.rb[1:4:1] | passed | 0.00005 seconds |
200
+ ./spec/carddb_spec.rb[1:3:1] | passed | 0.00003 seconds |
201
+ ./spec/carddb_spec.rb[1:4:1] | passed | 0.00004 seconds |
200
202
  ./spec/carddb_spec.rb[1:5:1] | passed | 0.00003 seconds |
201
203
  ./spec/carddb_spec.rb[1:6:1] | passed | 0.00003 seconds |
202
204
  ./spec/carddb_spec.rb[1:7:1] | passed | 0.00003 seconds |
data/CHANGELOG.md CHANGED
@@ -7,6 +7,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.5.0] - 2026-07-06
11
+
12
+ ### Added
13
+
14
+ - Dataset filter value lookup with paginated field facets and optional counts.
15
+
10
16
  ## [0.4.1] - 2026-06-22
11
17
 
12
18
  ### Added
@@ -656,6 +656,56 @@ module CardDB
656
656
  end
657
657
  end
658
658
 
659
+ # Wrapper for distinct values returned for a single filter field.
660
+ class DatasetFilterValueConnection
661
+ attr_reader :data
662
+
663
+ def initialize(data)
664
+ @data = data || {}
665
+ end
666
+
667
+ def field
668
+ data['field']
669
+ end
670
+
671
+ def edges
672
+ data['edges'] || []
673
+ end
674
+
675
+ def values
676
+ @values ||= edges.map { |edge| DatasetFilterValue.new(edge['node']) }
677
+ end
678
+
679
+ def page_info
680
+ data['pageInfo'] || {}
681
+ end
682
+
683
+ def has_next_page?
684
+ !!page_info['hasNextPage']
685
+ end
686
+
687
+ def end_cursor
688
+ page_info['endCursor']
689
+ end
690
+ end
691
+
692
+ # Wrapper for one distinct filter value.
693
+ class DatasetFilterValue
694
+ attr_reader :data
695
+
696
+ def initialize(data)
697
+ @data = data || {}
698
+ end
699
+
700
+ def value
701
+ data['value']
702
+ end
703
+
704
+ def count
705
+ data['count']
706
+ end
707
+ end
708
+
659
709
  # Wrapper for FieldInfo
660
710
  class FieldInfo
661
711
  attr_reader :data
@@ -219,6 +219,42 @@ module CardDB
219
219
  GRAPHQL
220
220
  end
221
221
 
222
+ def dataset_filter_values(
223
+ fields:,
224
+ id: nil,
225
+ publisher_slug: nil,
226
+ game_key: nil,
227
+ dataset_key: nil,
228
+ search: nil,
229
+ include_counts: nil,
230
+ first: nil,
231
+ after: nil
232
+ )
233
+ raise ArgumentError, 'fields must contain at least one field key' if fields.empty?
234
+
235
+ dataset_lookup = dataset_filter_values_lookup(
236
+ id: id,
237
+ publisher_slug: publisher_slug,
238
+ game_key: game_key,
239
+ dataset_key: dataset_key
240
+ )
241
+ filter_params = { fields: fields, search: search, includeCounts: include_counts, first: first, after: after }.compact
242
+ args = build_args(dataset_lookup.merge(filter_params), required: dataset_lookup.keys + [:fields])
243
+
244
+ dataset_args = graphql_variable_calls(dataset_lookup.keys)
245
+ filter_args = graphql_variable_calls(filter_params.keys)
246
+
247
+ <<~GRAPHQL
248
+ query FetchDatasetFilterValues#{args[:definition]} {
249
+ fetchDataset(#{dataset_args}) {
250
+ filterValues(#{filter_args}) {
251
+ #{dataset_filter_value_connection_fields}
252
+ }
253
+ }
254
+ }
255
+ GRAPHQL
256
+ end
257
+
222
258
  def list_datasets(
223
259
  publisher_id:,
224
260
  game_id: nil,
@@ -1741,6 +1777,8 @@ module CardDB
1741
1777
  status: 'String',
1742
1778
  level: 'String',
1743
1779
  key: 'String',
1780
+ fields: '[String!]',
1781
+ includeCounts: 'Boolean',
1744
1782
  id: 'UUID!',
1745
1783
  ids: '[UUID!]!'
1746
1784
  }
@@ -1760,6 +1798,18 @@ module CardDB
1760
1798
  end
1761
1799
  # rubocop:enable Metrics/MethodLength
1762
1800
 
1801
+ def dataset_filter_values_lookup(id:, publisher_slug:, game_key:, dataset_key:)
1802
+ return { id: id } if id
1803
+
1804
+ raise ArgumentError, 'provide either id or publisher_slug, game_key, and dataset_key' unless [publisher_slug, game_key, dataset_key].all?
1805
+
1806
+ { publisherSlug: publisher_slug, gameKey: game_key, datasetKey: dataset_key }
1807
+ end
1808
+
1809
+ def graphql_variable_calls(keys)
1810
+ keys.map { |key| "#{key}: $#{key}" }.join(', ')
1811
+ end
1812
+
1763
1813
  def file_fields
1764
1814
  <<~FIELDS
1765
1815
  id
@@ -1930,6 +1980,25 @@ module CardDB
1930
1980
  FIELDS
1931
1981
  end
1932
1982
 
1983
+ def dataset_filter_value_connection_fields
1984
+ <<~FIELDS
1985
+ field
1986
+ edges {
1987
+ cursor
1988
+ node {
1989
+ value
1990
+ count
1991
+ }
1992
+ }
1993
+ pageInfo {
1994
+ hasNextPage
1995
+ hasPreviousPage
1996
+ startCursor
1997
+ endCursor
1998
+ }
1999
+ FIELDS
2000
+ end
2001
+
1933
2002
  # rubocop:disable Metrics/MethodLength
1934
2003
  def field_info_fields(depth:)
1935
2004
  nested_fields = if depth.positive?
@@ -186,6 +186,65 @@ module CardDB
186
186
  (data['fetchDatasets'] || []).map { |d| Dataset.new(d, client: client) }
187
187
  end
188
188
 
189
+ # Get distinct values for one or more filterable fields on a dataset.
190
+ #
191
+ # @param fields [Array<String, Symbol>] Field keys to fetch values for
192
+ # @param id [String, nil] Dataset UUID. Provide either id or dataset_key.
193
+ # @param dataset_key [String, nil] Dataset key when looking up by publisher/game keys
194
+ # @param publisher_slug [String, nil] Publisher slug (uses default if not provided)
195
+ # @param game_key [String, nil] Game key (uses default if not provided)
196
+ # @param search [String, nil] Optional case-insensitive search within values
197
+ # @param include_counts [Boolean, nil] Include per-value counts
198
+ # @param first [Integer, nil] Maximum values per field (max 500)
199
+ # @param after [String, nil] Cursor for pagination. Applies to each field.
200
+ # @return [Array<DatasetFilterValueConnection>]
201
+ def filter_values(
202
+ fields:,
203
+ id: nil,
204
+ dataset_key: nil,
205
+ publisher_slug: nil,
206
+ game_key: nil,
207
+ search: nil,
208
+ include_counts: nil,
209
+ first: nil,
210
+ after: nil,
211
+ cache: nil
212
+ )
213
+ field_keys = fields.map(&:to_s)
214
+ resolved_publisher = id ? nil : resolve_publisher(publisher_slug)
215
+ resolved_game = id ? nil : resolve_game(game_key)
216
+
217
+ validate_access!(resolved_publisher, resolved_game) unless id
218
+
219
+ query = QueryBuilder.dataset_filter_values(
220
+ id: id,
221
+ publisher_slug: resolved_publisher,
222
+ game_key: resolved_game,
223
+ dataset_key: dataset_key,
224
+ fields: field_keys,
225
+ search: search,
226
+ include_counts: include_counts,
227
+ first: first,
228
+ after: after
229
+ )
230
+ variables = build_variables(
231
+ id: id,
232
+ publisherSlug: resolved_publisher,
233
+ gameKey: resolved_game,
234
+ datasetKey: dataset_key,
235
+ fields: field_keys,
236
+ search: search,
237
+ includeCounts: include_counts,
238
+ first: first,
239
+ after: after
240
+ )
241
+ key = cache_key('datasets', 'filter_values', **variables)
242
+
243
+ data = with_cache(key, resource: :datasets, cache: cache) { connection.execute(query, variables) }
244
+ filter_values = data.dig('fetchDataset', 'filterValues') || []
245
+ filter_values.map { |value| DatasetFilterValueConnection.new(value) }
246
+ end
247
+
189
248
  # Get the schema for a dataset
190
249
  #
191
250
  # @param dataset_key [String] Dataset key
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CardDB
4
- VERSION = '0.4.6'
4
+ VERSION = '0.5.0'
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carddb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.6
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - CardDB Team