carddb 0.4.0 → 0.4.2

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: 0f5108551bc583cc7ea3ca56cc842683dc8a3f83313c7b236d8269521d1bc725
4
- data.tar.gz: b6e0ec28519dd9b78c4e4b863be089994fd0974f2cf2b440ccf209341c9ee81a
3
+ metadata.gz: f247b7c6235d03802c3588f77d60ac008ed8b9280c6fd96fefd5ef420bc05dcd
4
+ data.tar.gz: 4784a7ad84180437eb8a89e6e0fcba15bb9db13f7dd46eabba9b308c607a6e28
5
5
  SHA512:
6
- metadata.gz: 9f8fb9b7f0bce34e14dc47fb0459f6ea30138a3928dc6b66b6c4a7d747814f01cde6d4326aad2b7e3d30222b047ccb02d8a4eb9b321ec4f7cee5591141ac49a5
7
- data.tar.gz: c9bddb09ebc1db4670d0ed39e668b7600e9da0ef890ef3fdccbf3b88619bc4448b5a523161260da579a7ad75f473d6d3a60d54949315d40c976e85661f325cc4
6
+ metadata.gz: 4394585fa840e42bbda3fda868347a09fe346b87c08a4c1c9e5cfe92a4c1d09692f29a0e9c2037c5c87146124583b6b99ac50740dc99fe7c83ff54a456954f33
7
+ data.tar.gz: 88a39f9cfb6e81a949e58fdc8ba8f7d36538317dcf6b88aecf34b422534ba53848170e4783ac377a66fc3df4d930af377622aa485bfc6e54475dd7faf9848f37
data/.rspec_status CHANGED
@@ -1,184 +1,186 @@
1
1
  example_id | status | run_time |
2
2
  ---------------------------------------------------------- | ------ | --------------- |
3
- ./spec/carddb/client_spec.rb[1:1:1] | passed | 0.00026 seconds |
3
+ ./spec/carddb/client_spec.rb[1:1:1] | passed | 0.00025 seconds |
4
4
  ./spec/carddb/client_spec.rb[1:1:2] | passed | 0.00004 seconds |
5
5
  ./spec/carddb/client_spec.rb[1:1:3] | passed | 0.00004 seconds |
6
- ./spec/carddb/client_spec.rb[1:1:4] | passed | 0.00004 seconds |
7
- ./spec/carddb/client_spec.rb[1:2:1] | passed | 0.00013 seconds |
6
+ ./spec/carddb/client_spec.rb[1:1:4] | passed | 0.00003 seconds |
7
+ ./spec/carddb/client_spec.rb[1:2:1] | passed | 0.00014 seconds |
8
8
  ./spec/carddb/client_spec.rb[1:2:2] | passed | 0.00016 seconds |
9
9
  ./spec/carddb/client_spec.rb[1:3:1] | passed | 0.00003 seconds |
10
10
  ./spec/carddb/client_spec.rb[1:4:1] | passed | 0.00003 seconds |
11
- ./spec/carddb/client_spec.rb[1:5:1] | passed | 0.00003 seconds |
11
+ ./spec/carddb/client_spec.rb[1:5:1] | passed | 0.00004 seconds |
12
12
  ./spec/carddb/client_spec.rb[1:6:1] | passed | 0.00003 seconds |
13
13
  ./spec/carddb/client_spec.rb[1:7:1] | passed | 0.00003 seconds |
14
- ./spec/carddb/client_spec.rb[1:8:1] | passed | 0.00004 seconds |
14
+ ./spec/carddb/client_spec.rb[1:8:1] | passed | 0.00003 seconds |
15
15
  ./spec/carddb/client_spec.rb[1:9:1] | passed | 0.00003 seconds |
16
16
  ./spec/carddb/client_spec.rb[1:10:1] | passed | 0.00004 seconds |
17
17
  ./spec/carddb/client_spec.rb[1:11:1] | passed | 0.00003 seconds |
18
- ./spec/carddb/client_spec.rb[1:12:1] | passed | 0.00004 seconds |
19
- ./spec/carddb/client_spec.rb[1:13:1] | passed | 0.00025 seconds |
20
- ./spec/carddb/client_spec.rb[1:13:2] | passed | 0.00832 seconds |
21
- ./spec/carddb/collection_spec.rb[1:1:1] | passed | 0.00005 seconds |
22
- ./spec/carddb/collection_spec.rb[2:1:1] | passed | 0.00003 seconds |
23
- ./spec/carddb/collection_spec.rb[3:1:1] | passed | 0.00176 seconds |
24
- ./spec/carddb/collection_spec.rb[3:1:2] | passed | 0.00014 seconds |
25
- ./spec/carddb/collection_spec.rb[3:1:3] | passed | 0.00048 seconds |
26
- ./spec/carddb/collection_spec.rb[3:1:4] | passed | 0.00034 seconds |
18
+ ./spec/carddb/client_spec.rb[1:12:1] | passed | 0.00003 seconds |
19
+ ./spec/carddb/client_spec.rb[1:13:1] | passed | 0.00026 seconds |
20
+ ./spec/carddb/client_spec.rb[1:13:2] | passed | 0.00967 seconds |
21
+ ./spec/carddb/collection_spec.rb[1:1:1] | passed | 0.00006 seconds |
22
+ ./spec/carddb/collection_spec.rb[2:1:1] | passed | 0.00004 seconds |
23
+ ./spec/carddb/collection_spec.rb[3:1:1] | passed | 0.00204 seconds |
24
+ ./spec/carddb/collection_spec.rb[3:1:2] | passed | 0.00018 seconds |
25
+ ./spec/carddb/collection_spec.rb[3:1:3] | passed | 0.00053 seconds |
26
+ ./spec/carddb/collection_spec.rb[3:1:4] | passed | 0.00037 seconds |
27
27
  ./spec/carddb/collection_spec.rb[3:1:5] | passed | 0.00005 seconds |
28
- ./spec/carddb/collection_spec.rb[4:1:1] | passed | 0.00016 seconds |
29
- ./spec/carddb/collection_spec.rb[4:1:2] | passed | 0.00014 seconds |
30
- ./spec/carddb/collection_spec.rb[4:1:3] | passed | 0.00016 seconds |
28
+ ./spec/carddb/collection_spec.rb[4:1:1] | passed | 0.00014 seconds |
29
+ ./spec/carddb/collection_spec.rb[4:1:2] | passed | 0.00013 seconds |
30
+ ./spec/carddb/collection_spec.rb[4:1:3] | passed | 0.00015 seconds |
31
31
  ./spec/carddb/collection_spec.rb[4:1:4] | passed | 0.00004 seconds |
32
- ./spec/carddb/configuration_spec.rb[1:1:1] | passed | 0.00003 seconds |
32
+ ./spec/carddb/configuration_spec.rb[1:1:1] | passed | 0.00004 seconds |
33
33
  ./spec/carddb/configuration_spec.rb[1:1:2] | passed | 0.00003 seconds |
34
- ./spec/carddb/configuration_spec.rb[1:1:3] | passed | 0.00004 seconds |
34
+ ./spec/carddb/configuration_spec.rb[1:1:3] | passed | 0.00003 seconds |
35
35
  ./spec/carddb/configuration_spec.rb[1:1:4] | passed | 0.00004 seconds |
36
36
  ./spec/carddb/configuration_spec.rb[1:1:5] | passed | 0.00003 seconds |
37
- ./spec/carddb/configuration_spec.rb[1:1:6] | passed | 0.00003 seconds |
38
- ./spec/carddb/configuration_spec.rb[1:2:1:1] | passed | 0.00004 seconds |
37
+ ./spec/carddb/configuration_spec.rb[1:1:6] | passed | 0.00004 seconds |
38
+ ./spec/carddb/configuration_spec.rb[1:2:1:1] | passed | 0.00005 seconds |
39
39
  ./spec/carddb/configuration_spec.rb[1:2:2:1] | passed | 0.00003 seconds |
40
- ./spec/carddb/configuration_spec.rb[1:2:2:2] | passed | 0.00005 seconds |
41
- ./spec/carddb/configuration_spec.rb[1:3:1:1] | passed | 0.00003 seconds |
42
- ./spec/carddb/configuration_spec.rb[1:3:2:1] | passed | 0.00003 seconds |
40
+ ./spec/carddb/configuration_spec.rb[1:2:2:2] | passed | 0.00004 seconds |
41
+ ./spec/carddb/configuration_spec.rb[1:3:1:1] | passed | 0.00007 seconds |
42
+ ./spec/carddb/configuration_spec.rb[1:3:2:1] | passed | 0.00004 seconds |
43
43
  ./spec/carddb/configuration_spec.rb[1:3:2:2] | passed | 0.00004 seconds |
44
- ./spec/carddb/configuration_spec.rb[1:3:2:3] | passed | 0.00004 seconds |
45
- ./spec/carddb/configuration_spec.rb[1:4:1] | passed | 0.00003 seconds |
44
+ ./spec/carddb/configuration_spec.rb[1:3:2:3] | passed | 0.00003 seconds |
45
+ ./spec/carddb/configuration_spec.rb[1:4:1] | passed | 0.00005 seconds |
46
46
  ./spec/carddb/configuration_spec.rb[1:4:2] | passed | 0.00003 seconds |
47
47
  ./spec/carddb/configuration_spec.rb[1:5:1] | passed | 0.00003 seconds |
48
- ./spec/carddb/configuration_spec.rb[1:6:1] | passed | 0.00004 seconds |
49
- ./spec/carddb/configuration_spec.rb[1:6:2] | passed | 0.00003 seconds |
50
- ./spec/carddb/configuration_spec.rb[1:6:3] | passed | 0.00003 seconds |
48
+ ./spec/carddb/configuration_spec.rb[1:6:1] | passed | 0.00003 seconds |
49
+ ./spec/carddb/configuration_spec.rb[1:6:2] | passed | 0.00002 seconds |
50
+ ./spec/carddb/configuration_spec.rb[1:6:3] | passed | 0.00002 seconds |
51
51
  ./spec/carddb/configuration_spec.rb[1:7:1] | passed | 0.00003 seconds |
52
52
  ./spec/carddb/configuration_spec.rb[1:7:2] | passed | 0.00004 seconds |
53
- ./spec/carddb/configuration_spec.rb[1:7:3] | passed | 0.00004 seconds |
54
- ./spec/carddb/deck_tokens_spec.rb[1:1:1] | passed | 0.00063 seconds |
55
- ./spec/carddb/deck_tokens_spec.rb[1:2:1] | passed | 0.00068 seconds |
56
- ./spec/carddb/deck_tokens_spec.rb[1:2:2] | passed | 0.00022 seconds |
57
- ./spec/carddb/deck_tokens_spec.rb[1:2:3] | passed | 0.00006 seconds |
53
+ ./spec/carddb/configuration_spec.rb[1:7:3] | passed | 0.00003 seconds |
54
+ ./spec/carddb/deck_tokens_spec.rb[1:1:1] | passed | 0.00072 seconds |
55
+ ./spec/carddb/deck_tokens_spec.rb[1:2:1] | passed | 0.00069 seconds |
56
+ ./spec/carddb/deck_tokens_spec.rb[1:2:2] | passed | 0.0002 seconds |
57
+ ./spec/carddb/deck_tokens_spec.rb[1:2:3] | passed | 0.00007 seconds |
58
58
  ./spec/carddb/filter_builder_spec.rb[1:1:1] | passed | 0.00003 seconds |
59
- ./spec/carddb/filter_builder_spec.rb[1:1:2] | passed | 0.00004 seconds |
60
- ./spec/carddb/filter_builder_spec.rb[1:1:3] | passed | 0.00004 seconds |
59
+ ./spec/carddb/filter_builder_spec.rb[1:1:2] | passed | 0.00003 seconds |
60
+ ./spec/carddb/filter_builder_spec.rb[1:1:3] | passed | 0.00003 seconds |
61
61
  ./spec/carddb/filter_builder_spec.rb[1:1:4] | passed | 0.00003 seconds |
62
62
  ./spec/carddb/filter_builder_spec.rb[1:1:5] | passed | 0.00003 seconds |
63
- ./spec/carddb/filter_builder_spec.rb[1:1:6] | passed | 0.00004 seconds |
64
- ./spec/carddb/filter_builder_spec.rb[1:1:7] | passed | 0.00003 seconds |
65
- ./spec/carddb/filter_builder_spec.rb[1:1:8] | passed | 0.00003 seconds |
66
- ./spec/carddb/filter_builder_spec.rb[1:2:1] | passed | 0.00004 seconds |
67
- ./spec/carddb/filter_builder_spec.rb[1:2:2] | passed | 0.00003 seconds |
68
- ./spec/carddb/filter_builder_spec.rb[1:2:3] | passed | 0.00003 seconds |
63
+ ./spec/carddb/filter_builder_spec.rb[1:1:6] | passed | 0.00002 seconds |
64
+ ./spec/carddb/filter_builder_spec.rb[1:1:7] | passed | 0.00002 seconds |
65
+ ./spec/carddb/filter_builder_spec.rb[1:1:8] | passed | 0.00002 seconds |
66
+ ./spec/carddb/filter_builder_spec.rb[1:2:1] | passed | 0.00003 seconds |
67
+ ./spec/carddb/filter_builder_spec.rb[1:2:2] | passed | 0.00002 seconds |
68
+ ./spec/carddb/filter_builder_spec.rb[1:2:3] | passed | 0.00002 seconds |
69
69
  ./spec/carddb/filter_builder_spec.rb[1:2:4] | passed | 0.00003 seconds |
70
- ./spec/carddb/filter_builder_spec.rb[1:2:5] | passed | 0.00003 seconds |
71
- ./spec/carddb/filter_builder_spec.rb[1:2:6] | passed | 0.00003 seconds |
70
+ ./spec/carddb/filter_builder_spec.rb[1:2:5] | passed | 0.00002 seconds |
71
+ ./spec/carddb/filter_builder_spec.rb[1:2:6] | passed | 0.00002 seconds |
72
72
  ./spec/carddb/filter_builder_spec.rb[1:2:7] | passed | 0.00003 seconds |
73
- ./spec/carddb/filter_builder_spec.rb[1:2:8] | passed | 0.00004 seconds |
73
+ ./spec/carddb/filter_builder_spec.rb[1:2:8] | passed | 0.00002 seconds |
74
74
  ./spec/carddb/filter_builder_spec.rb[1:2:9] | passed | 0.00002 seconds |
75
- ./spec/carddb/filter_builder_spec.rb[1:2:10] | passed | 0.00003 seconds |
75
+ ./spec/carddb/filter_builder_spec.rb[1:2:10] | passed | 0.00005 seconds |
76
76
  ./spec/carddb/filter_builder_spec.rb[1:2:11] | passed | 0.00003 seconds |
77
77
  ./spec/carddb/filter_builder_spec.rb[1:2:12] | passed | 0.00003 seconds |
78
78
  ./spec/carddb/filter_builder_spec.rb[1:2:13] | passed | 0.00003 seconds |
79
- ./spec/carddb/query_builder_spec.rb[1:1:1] | passed | 0.00004 seconds |
80
- ./spec/carddb/query_builder_spec.rb[1:1:2] | passed | 0.00004 seconds |
81
- ./spec/carddb/query_builder_spec.rb[1:1:3] | passed | 0.00003 seconds |
82
- ./spec/carddb/query_builder_spec.rb[1:2:1:1] | passed | 0.00004 seconds |
79
+ ./spec/carddb/query_builder_spec.rb[1:1:1] | passed | 0.00006 seconds |
80
+ ./spec/carddb/query_builder_spec.rb[1:1:2] | passed | 0.00005 seconds |
81
+ ./spec/carddb/query_builder_spec.rb[1:1:3] | passed | 0.00004 seconds |
82
+ ./spec/carddb/query_builder_spec.rb[1:2:1:1] | passed | 0.00005 seconds |
83
83
  ./spec/carddb/query_builder_spec.rb[1:2:2:1] | passed | 0.00004 seconds |
84
- ./spec/carddb/query_builder_spec.rb[1:3:1] | passed | 0.00022 seconds |
85
- ./spec/carddb/query_builder_spec.rb[1:3:2] | passed | 0.00006 seconds |
86
- ./spec/carddb/query_builder_spec.rb[1:4:1] | passed | 0.00004 seconds |
87
- ./spec/carddb/query_builder_spec.rb[1:4:2] | passed | 0.00003 seconds |
88
- ./spec/carddb/query_builder_spec.rb[1:5:1] | passed | 0.00003 seconds |
84
+ ./spec/carddb/query_builder_spec.rb[1:3:1] | passed | 0.00004 seconds |
85
+ ./spec/carddb/query_builder_spec.rb[1:3:2] | passed | 0.00004 seconds |
86
+ ./spec/carddb/query_builder_spec.rb[1:4:1] | passed | 0.00006 seconds |
87
+ ./spec/carddb/query_builder_spec.rb[1:4:2] | passed | 0.00004 seconds |
88
+ ./spec/carddb/query_builder_spec.rb[1:5:1] | passed | 0.00004 seconds |
89
89
  ./spec/carddb/query_builder_spec.rb[1:5:2] | passed | 0.00005 seconds |
90
90
  ./spec/carddb/query_builder_spec.rb[1:5:3] | passed | 0.00004 seconds |
91
- ./spec/carddb/query_builder_spec.rb[1:5:4] | passed | 0.00003 seconds |
92
- ./spec/carddb/query_builder_spec.rb[1:5:5] | passed | 0.00004 seconds |
93
- ./spec/carddb/query_builder_spec.rb[1:5:6] | passed | 0.00003 seconds |
94
- ./spec/carddb/query_builder_spec.rb[1:5:7] | passed | 0.00004 seconds |
95
- ./spec/carddb/query_builder_spec.rb[1:6:1] | passed | 0.00005 seconds |
91
+ ./spec/carddb/query_builder_spec.rb[1:5:4] | passed | 0.00004 seconds |
92
+ ./spec/carddb/query_builder_spec.rb[1:5:5] | passed | 0.00005 seconds |
93
+ ./spec/carddb/query_builder_spec.rb[1:5:6] | passed | 0.00004 seconds |
94
+ ./spec/carddb/query_builder_spec.rb[1:5:7] | passed | 0.00384 seconds |
95
+ ./spec/carddb/query_builder_spec.rb[1:6:1] | passed | 0.0001 seconds |
96
96
  ./spec/carddb/query_builder_spec.rb[1:6:2] | passed | 0.00005 seconds |
97
- ./spec/carddb/query_builder_spec.rb[1:6:3] | passed | 0.00004 seconds |
98
- ./spec/carddb/query_builder_spec.rb[1:6:4] | passed | 0.00003 seconds |
97
+ ./spec/carddb/query_builder_spec.rb[1:6:3] | passed | 0.00005 seconds |
98
+ ./spec/carddb/query_builder_spec.rb[1:6:4] | passed | 0.00004 seconds |
99
99
  ./spec/carddb/query_builder_spec.rb[1:6:5] | passed | 0.00003 seconds |
100
- ./spec/carddb/resources/datasets_spec.rb[1:1:1] | passed | 0.00427 seconds |
101
- ./spec/carddb/resources/datasets_spec.rb[1:1:2] | passed | 0.00417 seconds |
102
- ./spec/carddb/resources/datasets_spec.rb[1:2:1] | passed | 0.00404 seconds |
103
- ./spec/carddb/resources/decks_spec.rb[1:1:1] | passed | 0.00371 seconds |
104
- ./spec/carddb/resources/decks_spec.rb[1:1:2] | passed | 0.00397 seconds |
105
- ./spec/carddb/resources/decks_spec.rb[1:1:3] | passed | 0.00385 seconds |
106
- ./spec/carddb/resources/decks_spec.rb[1:1:4] | passed | 0.00362 seconds |
107
- ./spec/carddb/resources/decks_spec.rb[1:2:1] | passed | 0.00417 seconds |
108
- ./spec/carddb/resources/decks_spec.rb[1:2:2] | passed | 0.00768 seconds |
109
- ./spec/carddb/resources/decks_spec.rb[1:2:3] | passed | 0.00007 seconds |
110
- ./spec/carddb/resources/decks_spec.rb[1:3:1] | passed | 0.00373 seconds |
111
- ./spec/carddb/resources/decks_spec.rb[1:4:1] | passed | 0.00361 seconds |
112
- ./spec/carddb/resources/decks_spec.rb[1:5:1] | passed | 0.0038 seconds |
113
- ./spec/carddb/resources/decks_spec.rb[1:6:1] | passed | 0.00369 seconds |
114
- ./spec/carddb/resources/decks_spec.rb[1:7:1] | passed | 0.00369 seconds |
115
- ./spec/carddb/resources/decks_spec.rb[1:8:1] | passed | 0.00421 seconds |
116
- ./spec/carddb/resources/decks_spec.rb[1:9:1] | passed | 0.0037 seconds |
117
- ./spec/carddb/resources/decks_spec.rb[1:10:1] | passed | 0.00392 seconds |
118
- ./spec/carddb/resources/decks_spec.rb[1:11:1] | passed | 0.00391 seconds |
119
- ./spec/carddb/resources/decks_spec.rb[1:11:2] | passed | 0.00364 seconds |
120
- ./spec/carddb/resources/decks_spec.rb[1:11:3] | passed | 0.00465 seconds |
121
- ./spec/carddb/resources/decks_spec.rb[1:11:4] | passed | 0.00812 seconds |
122
- ./spec/carddb/resources/decks_spec.rb[1:12:1] | passed | 0.00379 seconds |
123
- ./spec/carddb/resources/decks_spec.rb[1:13:1] | passed | 0.00405 seconds |
124
- ./spec/carddb/resources/decks_spec.rb[1:14:1] | passed | 0.00374 seconds |
125
- ./spec/carddb/resources/decks_spec.rb[1:14:2] | passed | 0.00404 seconds |
126
- ./spec/carddb/resources/decks_spec.rb[1:14:3] | passed | 0.00377 seconds |
127
- ./spec/carddb/resources/decks_spec.rb[1:15:1] | passed | 0.00375 seconds |
128
- ./spec/carddb/resources/decks_spec.rb[1:16:1] | passed | 0.00369 seconds |
129
- ./spec/carddb/resources/decks_spec.rb[1:17:1] | passed | 0.00372 seconds |
130
- ./spec/carddb/resources/decks_spec.rb[1:17:2] | passed | 0.00435 seconds |
131
- ./spec/carddb/resources/decks_spec.rb[1:17:3] | passed | 0.00418 seconds |
132
- ./spec/carddb/resources/decks_spec.rb[1:18:1] | passed | 0.00503 seconds |
133
- ./spec/carddb/resources/decks_spec.rb[1:19:1] | passed | 0.00366 seconds |
134
- ./spec/carddb/resources/decks_spec.rb[1:20:1] | passed | 0.00392 seconds |
135
- ./spec/carddb/resources/decks_spec.rb[1:21:1] | passed | 0.00433 seconds |
136
- ./spec/carddb/resources/decks_spec.rb[1:22:1] | passed | 0.00363 seconds |
137
- ./spec/carddb/resources/decks_spec.rb[1:23:1] | passed | 0.00359 seconds |
138
- ./spec/carddb/resources/decks_spec.rb[1:24:1] | passed | 0.00459 seconds |
139
- ./spec/carddb/resources/decks_spec.rb[1:25:1] | passed | 0.00363 seconds |
140
- ./spec/carddb/resources/games_spec.rb[1:1:1] | passed | 0.00349 seconds |
100
+ ./spec/carddb/query_builder_spec.rb[1:6:6] | passed | 0.00003 seconds |
101
+ ./spec/carddb/resources/datasets_spec.rb[1:1:1] | passed | 0.00454 seconds |
102
+ ./spec/carddb/resources/datasets_spec.rb[1:1:2] | passed | 0.00439 seconds |
103
+ ./spec/carddb/resources/datasets_spec.rb[1:2:1] | passed | 0.00444 seconds |
104
+ ./spec/carddb/resources/decks_spec.rb[1:1:1] | passed | 0.00414 seconds |
105
+ ./spec/carddb/resources/decks_spec.rb[1:1:2] | passed | 0.00441 seconds |
106
+ ./spec/carddb/resources/decks_spec.rb[1:1:3] | passed | 0.00413 seconds |
107
+ ./spec/carddb/resources/decks_spec.rb[1:1:4] | passed | 0.00406 seconds |
108
+ ./spec/carddb/resources/decks_spec.rb[1:2:1] | passed | 0.00474 seconds |
109
+ ./spec/carddb/resources/decks_spec.rb[1:2:2] | passed | 0.00919 seconds |
110
+ ./spec/carddb/resources/decks_spec.rb[1:2:3] | passed | 0.00008 seconds |
111
+ ./spec/carddb/resources/decks_spec.rb[1:3:1] | passed | 0.00405 seconds |
112
+ ./spec/carddb/resources/decks_spec.rb[1:4:1] | passed | 0.00424 seconds |
113
+ ./spec/carddb/resources/decks_spec.rb[1:5:1] | passed | 0.00413 seconds |
114
+ ./spec/carddb/resources/decks_spec.rb[1:6:1] | passed | 0.00417 seconds |
115
+ ./spec/carddb/resources/decks_spec.rb[1:7:1] | passed | 0.00426 seconds |
116
+ ./spec/carddb/resources/decks_spec.rb[1:8:1] | passed | 0.00394 seconds |
117
+ ./spec/carddb/resources/decks_spec.rb[1:9:1] | passed | 0.00395 seconds |
118
+ ./spec/carddb/resources/decks_spec.rb[1:10:1] | passed | 0.00441 seconds |
119
+ ./spec/carddb/resources/decks_spec.rb[1:11:1] | passed | 0.00405 seconds |
120
+ ./spec/carddb/resources/decks_spec.rb[1:11:2] | passed | 0.00397 seconds |
121
+ ./spec/carddb/resources/decks_spec.rb[1:11:3] | passed | 0.00445 seconds |
122
+ ./spec/carddb/resources/decks_spec.rb[1:11:4] | passed | 0.00424 seconds |
123
+ ./spec/carddb/resources/decks_spec.rb[1:12:1] | passed | 0.00404 seconds |
124
+ ./spec/carddb/resources/decks_spec.rb[1:13:1] | passed | 0.00444 seconds |
125
+ ./spec/carddb/resources/decks_spec.rb[1:14:1] | passed | 0.0041 seconds |
126
+ ./spec/carddb/resources/decks_spec.rb[1:14:2] | passed | 0.00422 seconds |
127
+ ./spec/carddb/resources/decks_spec.rb[1:14:3] | passed | 0.00453 seconds |
128
+ ./spec/carddb/resources/decks_spec.rb[1:15:1] | passed | 0.0041 seconds |
129
+ ./spec/carddb/resources/decks_spec.rb[1:16:1] | passed | 0.00395 seconds |
130
+ ./spec/carddb/resources/decks_spec.rb[1:17:1] | passed | 0.00486 seconds |
131
+ ./spec/carddb/resources/decks_spec.rb[1:17:2] | passed | 0.00507 seconds |
132
+ ./spec/carddb/resources/decks_spec.rb[1:17:3] | passed | 0.00422 seconds |
133
+ ./spec/carddb/resources/decks_spec.rb[1:18:1] | passed | 0.00454 seconds |
134
+ ./spec/carddb/resources/decks_spec.rb[1:19:1] | passed | 0.00818 seconds |
135
+ ./spec/carddb/resources/decks_spec.rb[1:20:1] | passed | 0.00406 seconds |
136
+ ./spec/carddb/resources/decks_spec.rb[1:21:1] | passed | 0.00522 seconds |
137
+ ./spec/carddb/resources/decks_spec.rb[1:22:1] | passed | 0.00414 seconds |
138
+ ./spec/carddb/resources/decks_spec.rb[1:23:1] | passed | 0.00493 seconds |
139
+ ./spec/carddb/resources/decks_spec.rb[1:24:1] | passed | 0.004 seconds |
140
+ ./spec/carddb/resources/decks_spec.rb[1:25:1] | passed | 0.00424 seconds |
141
+ ./spec/carddb/resources/games_spec.rb[1:1:1] | passed | 0.00508 seconds |
141
142
  ./spec/carddb/resources/games_spec.rb[1:1:2] | passed | 0.00007 seconds |
142
- ./spec/carddb/resources/games_spec.rb[1:2:1] | passed | 0.00462 seconds |
143
- ./spec/carddb/resources/games_spec.rb[1:2:2] | passed | 0.00465 seconds |
144
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:1] | passed | 0.00408 seconds |
145
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:2] | passed | 0.0036 seconds |
146
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:3] | passed | 0.0046 seconds |
147
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:1] | passed | 0.00499 seconds |
148
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:2] | passed | 0.00006 seconds |
149
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:1] | passed | 0.00415 seconds |
150
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:2] | passed | 0.00401 seconds |
151
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:3] | passed | 0.00375 seconds |
152
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:1] | passed | 0.00402 seconds |
153
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:2] | passed | 0.00536 seconds |
154
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:3] | passed | 0.00484 seconds |
155
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:1] | passed | 0.00445 seconds |
156
- ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:2] | passed | 0.00367 seconds |
157
- ./spec/carddb/resources/publishers_spec.rb[1:1:1] | passed | 0.0041 seconds |
158
- ./spec/carddb/resources/publishers_spec.rb[1:2:1] | passed | 0.00473 seconds |
159
- ./spec/carddb/resources/records_spec.rb[1:1:1] | passed | 0.00355 seconds |
160
- ./spec/carddb/resources/records_spec.rb[1:1:2] | passed | 0.00436 seconds |
161
- ./spec/carddb/resources/records_spec.rb[1:1:3] | passed | 0.0001 seconds |
143
+ ./spec/carddb/resources/games_spec.rb[1:2:1] | passed | 0.00406 seconds |
144
+ ./spec/carddb/resources/games_spec.rb[1:2:2] | passed | 0.0041 seconds |
145
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:1] | passed | 0.00415 seconds |
146
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:2] | passed | 0.00405 seconds |
147
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:1:3] | passed | 0.00491 seconds |
148
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:1] | passed | 0.00524 seconds |
149
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:2:2] | passed | 0.00011 seconds |
150
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:1] | passed | 0.0052 seconds |
151
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:2] | passed | 0.00394 seconds |
152
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:3:3] | passed | 0.00393 seconds |
153
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:1] | passed | 0.00498 seconds |
154
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:2] | passed | 0.00552 seconds |
155
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:4:3] | passed | 0.00419 seconds |
156
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:1] | passed | 0.00501 seconds |
157
+ ./spec/carddb/resources/publisher_workflows_spec.rb[1:5:2] | passed | 0.00418 seconds |
158
+ ./spec/carddb/resources/publishers_spec.rb[1:1:1] | passed | 0.00406 seconds |
159
+ ./spec/carddb/resources/publishers_spec.rb[1:2:1] | passed | 0.00387 seconds |
160
+ ./spec/carddb/resources/records_spec.rb[1:1:1] | passed | 0.0039 seconds |
161
+ ./spec/carddb/resources/records_spec.rb[1:1:2] | passed | 0.00396 seconds |
162
+ ./spec/carddb/resources/records_spec.rb[1:1:3] | passed | 0.00011 seconds |
162
163
  ./spec/carddb/resources/records_spec.rb[1:1:4] | passed | 0.00005 seconds |
163
- ./spec/carddb/resources/records_spec.rb[1:2:1] | passed | 0.00364 seconds |
164
- ./spec/carddb/resources/records_spec.rb[1:2:2] | passed | 0.00386 seconds |
165
- ./spec/carddb/resources/records_spec.rb[1:2:3] | passed | 0.00389 seconds |
166
- ./spec/carddb/resources/records_spec.rb[1:3:1] | passed | 0.00417 seconds |
167
- ./spec/carddb/resources/records_spec.rb[1:3:2] | passed | 0.00011 seconds |
168
- ./spec/carddb/resources/records_spec.rb[1:4:1] | passed | 0.00371 seconds |
169
- ./spec/carddb/resources/records_spec.rb[1:4:2] | passed | 0.00004 seconds |
170
- ./spec/carddb/resources/records_spec.rb[1:4:3] | passed | 0.0007 seconds |
171
- ./spec/carddb/resources/rules_spec.rb[1:1:1] | passed | 0.00377 seconds |
172
- ./spec/carddb/resources/rules_spec.rb[1:2:1] | passed | 0.00364 seconds |
173
- ./spec/carddb/resources/scans_spec.rb[1:1] | passed | 0.00756 seconds |
174
- ./spec/carddb/resources/scans_spec.rb[1:2] | passed | 0.00403 seconds |
175
- ./spec/carddb/resources/scans_spec.rb[1:3] | passed | 0.00443 seconds |
176
- ./spec/carddb/resources/scans_spec.rb[1:4] | passed | 0.00381 seconds |
177
- ./spec/carddb/resources/scans_spec.rb[1:5] | passed | 0.00477 seconds |
178
- ./spec/carddb/resources/scans_spec.rb[1:6] | passed | 0.00343 seconds |
179
- ./spec/carddb/resources/scans_spec.rb[1:7] | passed | 0.00089 seconds |
164
+ ./spec/carddb/resources/records_spec.rb[1:2:1] | passed | 0.00385 seconds |
165
+ ./spec/carddb/resources/records_spec.rb[1:2:2] | passed | 0.00391 seconds |
166
+ ./spec/carddb/resources/records_spec.rb[1:2:3] | passed | 0.00383 seconds |
167
+ ./spec/carddb/resources/records_spec.rb[1:3:1] | passed | 0.00381 seconds |
168
+ ./spec/carddb/resources/records_spec.rb[1:3:2] | passed | 0.00012 seconds |
169
+ ./spec/carddb/resources/records_spec.rb[1:4:1] | passed | 0.0038 seconds |
170
+ ./spec/carddb/resources/records_spec.rb[1:4:2] | passed | 0.00005 seconds |
171
+ ./spec/carddb/resources/records_spec.rb[1:4:3] | passed | 0.00008 seconds |
172
+ ./spec/carddb/resources/rules_spec.rb[1:1:1] | passed | 0.00391 seconds |
173
+ ./spec/carddb/resources/rules_spec.rb[1:2:1] | passed | 0.00431 seconds |
174
+ ./spec/carddb/resources/scans_spec.rb[1:1] | passed | 0.00453 seconds |
175
+ ./spec/carddb/resources/scans_spec.rb[1:2] | passed | 0.00832 seconds |
176
+ ./spec/carddb/resources/scans_spec.rb[1:3] | passed | 0.00411 seconds |
177
+ ./spec/carddb/resources/scans_spec.rb[1:4] | passed | 0.00436 seconds |
178
+ ./spec/carddb/resources/scans_spec.rb[1:5] | passed | 0.00787 seconds |
179
+ ./spec/carddb/resources/scans_spec.rb[1:6] | passed | 0.0059 seconds |
180
+ ./spec/carddb/resources/scans_spec.rb[1:7] | passed | 0.005 seconds |
181
+ ./spec/carddb/resources/scans_spec.rb[1:8] | passed | 0.00012 seconds |
180
182
  ./spec/carddb_spec.rb[1:1] | passed | 0.00003 seconds |
181
- ./spec/carddb_spec.rb[1:2:1] | passed | 0.00004 seconds |
183
+ ./spec/carddb_spec.rb[1:2:1] | passed | 0.00003 seconds |
182
184
  ./spec/carddb_spec.rb[1:3:1] | passed | 0.00003 seconds |
183
185
  ./spec/carddb_spec.rb[1:4:1] | passed | 0.00004 seconds |
184
186
  ./spec/carddb_spec.rb[1:5:1] | passed | 0.00003 seconds |
data/CHANGELOG.md CHANGED
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.4.1] - 2026-06-22
11
+
12
+ ### Added
13
+
14
+ - Scan-specific upload helpers for publishable-key scan workflows: `client.scans.create_upload_session` and `client.scans.confirm_upload`.
15
+
16
+ ### Changed
17
+
18
+ - README scan examples now use scan-specific upload mutations instead of the server-side generic file upload helpers.
19
+
10
20
  ## [0.4.0] - 2026-06-22
11
21
 
12
22
  ### Added
data/README.md CHANGED
@@ -268,15 +268,32 @@ export = client.exports.wait_for_job(export.id)
268
268
  puts export.download_url
269
269
  ```
270
270
 
271
- Card scanning uses the same direct-upload pattern. GraphQL requests and confirms the file metadata, while image bytes go directly to object storage:
271
+ Card scanning uses scan-specific upload mutations that work with a publishable key carrying `scans:write`. Image bytes still go directly to object storage, then GraphQL confirms the file and creates the scan job:
272
272
 
273
273
  ```ruby
274
- scan_image = client.files.upload(
274
+ image = File.open('scan.jpg', 'rb')
275
+ content_type = 'image/jpeg'
276
+
277
+ upload = client.scans.create_upload_session(
278
+ publisher_slug: 'pokemon-company',
279
+ game_key: 'pokemon-tcg',
280
+ dataset_key: 'cards',
275
281
  filename: 'scan.jpg',
276
- content_type: 'image/jpeg',
277
- body: File.open('scan.jpg', 'rb'),
278
- purpose: 'scan_image',
279
- publisher_id: 'publisher_uuid'
282
+ content_type: content_type,
283
+ size: image.stat.size
284
+ )
285
+
286
+ response = Faraday.put(upload.upload_url) do |request|
287
+ request.headers['Content-Type'] = content_type
288
+ request.body = image
289
+ end
290
+ raise "Upload failed with #{response.status}" unless response.success?
291
+
292
+ scan_image = client.scans.confirm_upload(
293
+ publisher_slug: 'pokemon-company',
294
+ game_key: 'pokemon-tcg',
295
+ dataset_key: 'cards',
296
+ file_id: upload.file.id
280
297
  )
281
298
 
282
299
  created = client.scans.create_job(
@@ -309,6 +326,8 @@ metrics = client.scans.metrics(
309
326
  puts metrics.feedback.accuracy
310
327
  ```
311
328
 
329
+ The generic file APIs (`client.files.request_upload`, `client.files.confirm_upload`, and `client.files.upload`) remain server-side helpers for trusted publisher workflows.
330
+
312
331
  Scan-capable clients can discover publisher-defined regions and manage templates. Template editing uses scan semantic types such as `card_name`, `collector_number`, `set_code`, and `set_name`.
313
332
 
314
333
  ```ruby
@@ -1067,8 +1067,14 @@ module CardDB
1067
1067
  def job_count = data['jobCount']
1068
1068
  def completed_jobs = data['completedJobs']
1069
1069
  def failed_jobs = data['failedJobs']
1070
+ def no_match_count = data['noMatchCount']
1070
1071
  def average_confidence = data['averageConfidence']
1071
1072
  def average_shortlist_size = data['averageShortlistSize']
1073
+ def vector_query_count = data['vectorQueryCount']
1074
+ def vector_fallback_count = data['vectorFallbackCount']
1075
+ def average_vector_candidates = data['averageVectorCandidates']
1076
+ def average_vector_query_ms = data['averageVectorQueryMs']
1077
+ def average_embedding_ms = data['averageEmbeddingMs']
1072
1078
  def feedback_count = data['feedbackCount']
1073
1079
  def correct_feedback = data['correctFeedback']
1074
1080
  def corrected_feedback = data['correctedFeedback']
@@ -1086,7 +1092,14 @@ module CardDB
1086
1092
  def completed_jobs = data['completedJobs']
1087
1093
  def failed_jobs = data['failedJobs']
1088
1094
  def failure_rate = data['failureRate']
1095
+ def no_match_count = data['noMatchCount']
1096
+ def no_match_rate = data['noMatchRate']
1089
1097
  def average_shortlist_size = data['averageShortlistSize']
1098
+ def vector_query_count = data['vectorQueryCount']
1099
+ def vector_fallback_count = data['vectorFallbackCount']
1100
+ def average_vector_candidates = data['averageVectorCandidates']
1101
+ def average_vector_query_ms = data['averageVectorQueryMs']
1102
+ def average_embedding_ms = data['averageEmbeddingMs']
1090
1103
  def confidence_distribution = data['confidenceDistribution'] || {}
1091
1104
 
1092
1105
  def feedback
@@ -680,6 +680,26 @@ module CardDB
680
680
  GRAPHQL
681
681
  end
682
682
 
683
+ def create_scan_upload_session
684
+ <<~GRAPHQL
685
+ mutation CreateScanUploadSession($input: CreateScanUploadSessionInput!) {
686
+ createScanUploadSession(input: $input) {
687
+ #{presigned_upload_fields}
688
+ }
689
+ }
690
+ GRAPHQL
691
+ end
692
+
693
+ def confirm_scan_upload
694
+ <<~GRAPHQL
695
+ mutation ConfirmScanUpload($input: ConfirmScanUploadInput!) {
696
+ confirmScanUpload(input: $input) {
697
+ #{file_fields}
698
+ }
699
+ }
700
+ GRAPHQL
701
+ end
702
+
683
703
  def create_scan_job
684
704
  <<~GRAPHQL
685
705
  mutation CreateScanJob($input: CreateScanJobInput!) {
@@ -2459,7 +2479,14 @@ module CardDB
2459
2479
  completedJobs
2460
2480
  failedJobs
2461
2481
  failureRate
2482
+ noMatchCount
2483
+ noMatchRate
2462
2484
  averageShortlistSize
2485
+ vectorQueryCount
2486
+ vectorFallbackCount
2487
+ averageVectorCandidates
2488
+ averageVectorQueryMs
2489
+ averageEmbeddingMs
2463
2490
  confidenceDistribution
2464
2491
  feedback {
2465
2492
  total
@@ -2473,8 +2500,14 @@ module CardDB
2473
2500
  jobCount
2474
2501
  completedJobs
2475
2502
  failedJobs
2503
+ noMatchCount
2476
2504
  averageConfidence
2477
2505
  averageShortlistSize
2506
+ vectorQueryCount
2507
+ vectorFallbackCount
2508
+ averageVectorCandidates
2509
+ averageVectorQueryMs
2510
+ averageEmbeddingMs
2478
2511
  feedbackCount
2479
2512
  correctFeedback
2480
2513
  correctedFeedback
@@ -22,6 +22,20 @@ module CardDB
22
22
  webhook_secret: 'webhookSecret'
23
23
  }.freeze
24
24
 
25
+ UPLOAD_SESSION_KEY_MAP = {
26
+ publisher_slug: 'publisherSlug',
27
+ game_key: 'gameKey',
28
+ dataset_key: 'datasetKey',
29
+ content_type: 'contentType'
30
+ }.freeze
31
+
32
+ CONFIRM_UPLOAD_KEY_MAP = {
33
+ publisher_slug: 'publisherSlug',
34
+ game_key: 'gameKey',
35
+ dataset_key: 'datasetKey',
36
+ file_id: 'fileId'
37
+ }.freeze
38
+
25
39
  FEEDBACK_KEY_MAP = {
26
40
  job_id: 'jobId',
27
41
  selected_record_id: 'selectedRecordId'
@@ -33,6 +47,22 @@ module CardDB
33
47
  dataset_key: 'datasetKey'
34
48
  }.freeze
35
49
 
50
+ # Create a scan image upload session using a scan-scoped credential.
51
+ def create_upload_session(input: nil, **params)
52
+ request = scoped_input(graphql_input(input || params, UPLOAD_SESSION_KEY_MAP))
53
+ data = connection.execute(QueryBuilder.create_scan_upload_session, { input: request })
54
+
55
+ PresignedUpload.new(data['createScanUploadSession'], client: client)
56
+ end
57
+
58
+ # Confirm that a scan image upload completed and return the uploaded file.
59
+ def confirm_upload(input: nil, **params)
60
+ request = scoped_input(graphql_input(input || params, CONFIRM_UPLOAD_KEY_MAP))
61
+ data = connection.execute(QueryBuilder.confirm_scan_upload, { input: request })
62
+
63
+ File.new(data['confirmScanUpload'], client: client)
64
+ end
65
+
36
66
  # Create a scan job for an already uploaded image file.
37
67
  def create_job(input: nil, **params)
38
68
  request = scoped_input(graphql_input(input || params, CREATE_JOB_KEY_MAP))
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module CardDB
4
- VERSION = '0.4.0'
4
+ VERSION = '0.4.2'
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.0
4
+ version: 0.4.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - CardDB Team
@@ -121,7 +121,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubygems_version: 4.0.9
124
+ rubygems_version: 4.0.14
125
125
  specification_version: 4
126
126
  summary: Ruby client for the CardDB API
127
127
  test_files: []