mtg_sdk 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (47) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +23 -0
  3. data/Gemfile +4 -0
  4. data/LICENSE.txt +22 -0
  5. data/README.md +155 -0
  6. data/Rakefile +16 -0
  7. data/lib/mtg_sdk.rb +32 -0
  8. data/lib/mtg_sdk/card.rb +48 -0
  9. data/lib/mtg_sdk/changelog.rb +29 -0
  10. data/lib/mtg_sdk/configuration.rb +9 -0
  11. data/lib/mtg_sdk/foreign_name.rb +10 -0
  12. data/lib/mtg_sdk/legality.rb +10 -0
  13. data/lib/mtg_sdk/representers/card_representer.rb +54 -0
  14. data/lib/mtg_sdk/representers/changelog_representer.rb +13 -0
  15. data/lib/mtg_sdk/representers/foreign_name_representer.rb +11 -0
  16. data/lib/mtg_sdk/representers/legality_representer.rb +10 -0
  17. data/lib/mtg_sdk/representers/ruling_representer.rb +12 -0
  18. data/lib/mtg_sdk/representers/set_representer.rb +21 -0
  19. data/lib/mtg_sdk/resource.rb +21 -0
  20. data/lib/mtg_sdk/rest_client.rb +31 -0
  21. data/lib/mtg_sdk/ruling.rb +10 -0
  22. data/lib/mtg_sdk/set.rb +64 -0
  23. data/lib/mtg_sdk/subtype.rb +15 -0
  24. data/lib/mtg_sdk/supertype.rb +15 -0
  25. data/lib/mtg_sdk/type.rb +15 -0
  26. data/lib/mtg_sdk/version.rb +3 -0
  27. data/mtg_sdk.gemspec +33 -0
  28. data/test/card_test.rb +62 -0
  29. data/test/changelog_test.rb +12 -0
  30. data/test/configuration_test.rb +10 -0
  31. data/test/fixtures/all_changelogs.yml +129 -0
  32. data/test/fixtures/all_subtypes.yml +129 -0
  33. data/test/fixtures/all_supertypes.yml +59 -0
  34. data/test/fixtures/all_types.yml +59 -0
  35. data/test/fixtures/booster.yml +974 -0
  36. data/test/fixtures/invalid_code.yml +49 -0
  37. data/test/fixtures/invalid_id.yml +49 -0
  38. data/test/fixtures/one_card.yml +111 -0
  39. data/test/fixtures/one_set.yml +60 -0
  40. data/test/fixtures/query_cards_pageSize.yml +356 -0
  41. data/test/fixtures/query_zurgo.yml +336 -0
  42. data/test/set_test.rb +34 -0
  43. data/test/subtype_test.rb +12 -0
  44. data/test/supertype_test.rb +12 -0
  45. data/test/test_helper.rb +10 -0
  46. data/test/type_test.rb +12 -0
  47. metadata +263 -0
@@ -0,0 +1,336 @@
1
+ ---
2
+ http_interactions:
3
+ - request:
4
+ method: get
5
+ uri: https://api.magicthegathering.io/v1/cards?name=zurgo
6
+ body:
7
+ encoding: US-ASCII
8
+ string: ''
9
+ headers:
10
+ User-Agent:
11
+ - Faraday v0.9.2
12
+ Accept-Encoding:
13
+ - gzip;q=1.0,deflate;q=0.6,identity;q=0.3
14
+ Accept:
15
+ - "*/*"
16
+ response:
17
+ status:
18
+ code: 200
19
+ message: 'OK '
20
+ headers:
21
+ Server:
22
+ - cloudflare-nginx
23
+ Date:
24
+ - Tue, 19 Jan 2016 05:53:38 GMT
25
+ Content-Type:
26
+ - application/json; charset=utf-8
27
+ Transfer-Encoding:
28
+ - chunked
29
+ Connection:
30
+ - keep-alive
31
+ Set-Cookie:
32
+ - __cfduid=dfd4184093dfb4037aa6daeb54bb1931c1453182818; expires=Wed, 18-Jan-17
33
+ 05:53:38 GMT; path=/; domain=.magicthegathering.io; HttpOnly
34
+ X-Frame-Options:
35
+ - SAMEORIGIN
36
+ X-Xss-Protection:
37
+ - 1; mode=block
38
+ X-Content-Type-Options:
39
+ - nosniff
40
+ Etag:
41
+ - W/"9beef439fb684de2b6569b2814562cc4"
42
+ Cache-Control:
43
+ - max-age=0, private, must-revalidate
44
+ X-Request-Id:
45
+ - 167f0413-2780-43ad-935f-2477311dcac9
46
+ X-Runtime:
47
+ - '0.180281'
48
+ Vary:
49
+ - Origin
50
+ Via:
51
+ - 1.1 vegur
52
+ Cf-Ray:
53
+ - 267047c88d8d0168-ORD
54
+ body:
55
+ encoding: ASCII-8BIT
56
+ string: !binary |-
57
+ eyJjYXJkcyI6W3sibmFtZSI6Ilp1cmdvIEhlbG1zbWFzaGVyIiwibWFuYUNv
58
+ c3QiOiJ7Mn17Un17V317Qn0iLCJjbWMiOjUsImNvbG9ycyI6WyJXaGl0ZSIs
59
+ IkJsYWNrIiwiUmVkIl0sInR5cGUiOiJMZWdlbmRhcnkgQ3JlYXR1cmUg4oCU
60
+ IE9yYyBXYXJyaW9yIiwic3VwZXJ0eXBlcyI6WyJMZWdlbmRhcnkiXSwidHlw
61
+ ZXMiOlsiQ3JlYXR1cmUiXSwic3VidHlwZXMiOlsiT3JjIiwiV2FycmlvciJd
62
+ LCJyYXJpdHkiOiJTcGVjaWFsIiwic2V0IjoicFBSRSIsInRleHQiOiJIYXN0
63
+ ZVxuWnVyZ28gSGVsbXNtYXNoZXIgYXR0YWNrcyBlYWNoIGNvbWJhdCBpZiBh
64
+ YmxlLlxuWnVyZ28gSGVsbXNtYXNoZXIgaGFzIGluZGVzdHJ1Y3RpYmxlIGFz
65
+ IGxvbmcgYXMgaXQncyB5b3VyIHR1cm4uXG5XaGVuZXZlciBhIGNyZWF0dXJl
66
+ IGRlYWx0IGRhbWFnZSBieSBadXJnbyBIZWxtc21hc2hlciB0aGlzIHR1cm4g
67
+ ZGllcywgcHV0IGEgKzEvKzEgY291bnRlciBvbiBadXJnbyBIZWxtc21hc2hl
68
+ ci4iLCJhcnRpc3QiOiJBbGVrc2kgQnJpY2xvdCIsIm51bWJlciI6IjEyNyIs
69
+ InBvd2VyIjoiNyIsInRvdWdobmVzcyI6IjIiLCJsYXlvdXQiOiJub3JtYWwi
70
+ LCJyZWxlYXNlRGF0ZSI6IjIwMTQtMDktMjAiLCJydWxpbmdzIjpbeyJkYXRl
71
+ IjoiMjAxNC0wOS0yMCIsInRleHQiOiJZb3Ugc3RpbGwgY2hvb3NlIHdoaWNo
72
+ IHBsYXllciBvciBwbGFuZXN3YWxrZXIgWnVyZ28gSGVsbXNtYXNoZXIgYXR0
73
+ YWNrcy4ifSx7ImRhdGUiOiIyMDE0LTA5LTIwIiwidGV4dCI6IklmLCBkdXJp
74
+ bmcgeW91ciBkZWNsYXJlIGF0dGFja2VycyBzdGVwLCBadXJnbyBpcyB0YXBw
75
+ ZWQgb3IgaXMgYWZmZWN0ZWQgYnkgYSBzcGVsbCBvciBhYmlsaXR5IHRoYXQg
76
+ c2F5cyBpdCBjYW7igJl0IGF0dGFjaywgdGhlbiBpdCBkb2VzbuKAmXQgYXR0
77
+ YWNrLiBJZiB0aGVyZeKAmXMgYSBjb3N0IGFzc29jaWF0ZWQgd2l0aCBoYXZp
78
+ bmcgWnVyZ28gYXR0YWNrLCB5b3UgYXJlbuKAmXQgZm9yY2VkIHRvIHBheSB0
79
+ aGF0IGNvc3QsIHNvIGl0IGRvZXNu4oCZdCBoYXZlIHRvIGF0dGFjayBpbiB0
80
+ aGF0IGNhc2UgZWl0aGVyLiJ9LHsiZGF0ZSI6IjIwMTQtMDktMjAiLCJ0ZXh0
81
+ IjoiSWYgWnVyZ28gZW50ZXJzIHRoZSBiYXR0bGVmaWVsZCBiZWZvcmUgdGhl
82
+ IGNvbWJhdCBwaGFzZSwgaXQgd2lsbCBhdHRhY2sgdGhhdCB0dXJuIGlmIGFi
83
+ bGUuIElmIGl0IGVudGVycyB0aGUgYmF0dGxlZmllbGQgYWZ0ZXIgY29tYmF0
84
+ LCBpdCB3b27igJl0IGF0dGFjayB0aGF0IHR1cm4gYW5kIHdpbGwgdXN1YWxs
85
+ eSBiZSBhdmFpbGFibGUgdG8gYmxvY2sgb24gdGhlIGZvbGxvd2luZyB0dXJu
86
+ LiJ9LHsiZGF0ZSI6IjIwMTQtMDktMjAiLCJ0ZXh0IjoiRWFjaCB0aW1lIGEg
87
+ Y3JlYXR1cmUgZGllcywgY2hlY2sgd2hldGhlciBadXJnbyBoYWQgZGVhbHQg
88
+ YW55IGRhbWFnZSB0byBpdCBhdCBhbnkgdGltZSBkdXJpbmcgdGhhdCB0dXJu
89
+ LiBJZiBzbywgWnVyZ2/igJlzIGFiaWxpdHkgd2lsbCB0cmlnZ2VyLiBJdCBk
90
+ b2VzbuKAmXQgbWF0dGVyIHdobyBjb250cm9sbGVkIHRoZSBjcmVhdHVyZSBv
91
+ ciB3aG9zZSBncmF2ZXlhcmQgaXQgd2VudCB0by4ifV0sImZvcmVpZ25OYW1l
92
+ cyI6W3sibmFtZSI6IueijueblOePoOmrmCIsImxhbmd1YWdlIjoiQ2hpbmVz
93
+ ZSBTaW1wbGlmaWVkIn0seyJuYW1lIjoi56KO55uU54+g6auYIiwibGFuZ3Vh
94
+ Z2UiOiJDaGluZXNlIFRyYWRpdGlvbmFsIn0seyJuYW1lIjoiWnVyZ28gQnJp
95
+ c2VjYXNxdWUiLCJsYW5ndWFnZSI6IkZyZW5jaCJ9LHsibmFtZSI6Ilp1cmdv
96
+ IEhlbG1icmVjaGVyIiwibGFuZ3VhZ2UiOiJHZXJtYW4ifSx7Im5hbWUiOiJa
97
+ dXJnbyBTcGFjY2FlbG1pIiwibGFuZ3VhZ2UiOiJJdGFsaWFuIn0seyJuYW1l
98
+ Ijoi5YWc56CV44GN44Gu44K644Or44K0IiwibGFuZ3VhZ2UiOiJKYXBhbmVz
99
+ ZSJ9LHsibmFtZSI6Iu2IrOq1rOu2hOyHhOyekCDso7zrpbTqs6AiLCJsYW5n
100
+ dWFnZSI6IktvcmVhbiJ9LHsibmFtZSI6Ilp1cmdvIFF1ZWJyYS1lbG1vIiwi
101
+ bGFuZ3VhZ2UiOiJQb3J0dWd1ZXNlIChCcmF6aWwpIn0seyJuYW1lIjoi0JfR
102
+ g9GA0LPQviDQqNC70LXQvNC+0LHQvtC5IiwibGFuZ3VhZ2UiOiJSdXNzaWFu
103
+ In0seyJuYW1lIjoiWnVyZ28gQXBsYXN0YWNyw6FuZW9zIiwibGFuZ3VhZ2Ui
104
+ OiJTcGFuaXNoIn1dLCJwcmludGluZ3MiOlsicFBSRSIsIkRETiIsIktUSyJd
105
+ LCJsZWdhbGl0aWVzIjpbeyJmb3JtYXQiOiJDb21tYW5kZXIiLCJsZWdhbGl0
106
+ eSI6IkxlZ2FsIn0seyJmb3JtYXQiOiJGcmVlZm9ybSIsImxlZ2FsaXR5Ijoi
107
+ TGVnYWwifSx7ImZvcm1hdCI6IkxlZ2FjeSIsImxlZ2FsaXR5IjoiTGVnYWwi
108
+ fSx7ImZvcm1hdCI6Ik1vZGVybiIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZv
109
+ cm1hdCI6IlByaXNtYXRpYyIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1h
110
+ dCI6IlNpbmdsZXRvbiAxMDAiLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3Jt
111
+ YXQiOiJTdGFuZGFyZCIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6
112
+ IlRhcmtpciBCbG9jayIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6
113
+ IlRyaWJhbCBXYXJzIExlZ2FjeSIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZv
114
+ cm1hdCI6IlRyaWJhbCBXYXJzIFN0YW5kYXJkIiwibGVnYWxpdHkiOiJMZWdh
115
+ bCJ9LHsiZm9ybWF0IjoiVmludGFnZSIsImxlZ2FsaXR5IjoiTGVnYWwifV0s
116
+ InNvdXJjZSI6IktoYW5zIG9mIFRhcmtpciBNYXJkdSBQcmVyZWxlYXNlIHBh
117
+ cnRpY2lwYXRpb24gYm9udXMiLCJpZCI6IjUyMzY5ZDZmZjExMjRhMGVjOTVk
118
+ YjYyNzlkZjZjNDFmOTU2ZDY0MDEifSx7Im5hbWUiOiJadXJnbyBIZWxtc21h
119
+ c2hlciIsIm1hbmFDb3N0IjoiezJ9e1J9e1d9e0J9IiwiY21jIjo1LCJjb2xv
120
+ cnMiOlsiV2hpdGUiLCJCbGFjayIsIlJlZCJdLCJ0eXBlIjoiTGVnZW5kYXJ5
121
+ IENyZWF0dXJlIOKAlCBPcmMgV2FycmlvciIsInN1cGVydHlwZXMiOlsiTGVn
122
+ ZW5kYXJ5Il0sInR5cGVzIjpbIkNyZWF0dXJlIl0sInN1YnR5cGVzIjpbIk9y
123
+ YyIsIldhcnJpb3IiXSwicmFyaXR5IjoiTXl0aGljIFJhcmUiLCJzZXQiOiJE
124
+ RE4iLCJ0ZXh0IjoiSGFzdGVcblp1cmdvIEhlbG1zbWFzaGVyIGF0dGFja3Mg
125
+ ZWFjaCBjb21iYXQgaWYgYWJsZS5cblp1cmdvIEhlbG1zbWFzaGVyIGhhcyBp
126
+ bmRlc3RydWN0aWJsZSBhcyBsb25nIGFzIGl0J3MgeW91ciB0dXJuLlxuV2hl
127
+ bmV2ZXIgYSBjcmVhdHVyZSBkZWFsdCBkYW1hZ2UgYnkgWnVyZ28gSGVsbXNt
128
+ YXNoZXIgdGhpcyB0dXJuIGRpZXMsIHB1dCBhICsxLysxIGNvdW50ZXIgb24g
129
+ WnVyZ28gSGVsbXNtYXNoZXIuIiwiYXJ0aXN0IjoiUnlhbiBBbGV4YW5kZXIg
130
+ TGVlIiwibnVtYmVyIjoiMSIsInBvd2VyIjoiNyIsInRvdWdobmVzcyI6IjIi
131
+ LCJsYXlvdXQiOiJub3JtYWwiLCJtdWx0aXZlcnNlaWQiOjM4NjM4MCwiaW1h
132
+ Z2VVcmwiOiJodHRwOi8vZ2F0aGVyZXIud2l6YXJkcy5jb20vSGFuZGxlcnMv
133
+ SW1hZ2UuYXNoeD9tdWx0aXZlcnNlaWQ9Mzg2MzgwJnR5cGU9Y2FyZCIsInJ1
134
+ bGluZ3MiOlt7ImRhdGUiOiIyMDE0LTA5LTIwIiwidGV4dCI6IllvdSBzdGls
135
+ bCBjaG9vc2Ugd2hpY2ggcGxheWVyIG9yIHBsYW5lc3dhbGtlciBadXJnbyBI
136
+ ZWxtc21hc2hlciBhdHRhY2tzLiJ9LHsiZGF0ZSI6IjIwMTQtMDktMjAiLCJ0
137
+ ZXh0IjoiSWYsIGR1cmluZyB5b3VyIGRlY2xhcmUgYXR0YWNrZXJzIHN0ZXAs
138
+ IFp1cmdvIGlzIHRhcHBlZCBvciBpcyBhZmZlY3RlZCBieSBhIHNwZWxsIG9y
139
+ IGFiaWxpdHkgdGhhdCBzYXlzIGl0IGNhbuKAmXQgYXR0YWNrLCB0aGVuIGl0
140
+ IGRvZXNu4oCZdCBhdHRhY2suIElmIHRoZXJl4oCZcyBhIGNvc3QgYXNzb2Np
141
+ YXRlZCB3aXRoIGhhdmluZyBadXJnbyBhdHRhY2ssIHlvdSBhcmVu4oCZdCBm
142
+ b3JjZWQgdG8gcGF5IHRoYXQgY29zdCwgc28gaXQgZG9lc27igJl0IGhhdmUg
143
+ dG8gYXR0YWNrIGluIHRoYXQgY2FzZSBlaXRoZXIuIn0seyJkYXRlIjoiMjAx
144
+ NC0wOS0yMCIsInRleHQiOiJJZiBadXJnbyBlbnRlcnMgdGhlIGJhdHRsZWZp
145
+ ZWxkIGJlZm9yZSB0aGUgY29tYmF0IHBoYXNlLCBpdCB3aWxsIGF0dGFjayB0
146
+ aGF0IHR1cm4gaWYgYWJsZS4gSWYgaXQgZW50ZXJzIHRoZSBiYXR0bGVmaWVs
147
+ ZCBhZnRlciBjb21iYXQsIGl0IHdvbuKAmXQgYXR0YWNrIHRoYXQgdHVybiBh
148
+ bmQgd2lsbCB1c3VhbGx5IGJlIGF2YWlsYWJsZSB0byBibG9jayBvbiB0aGUg
149
+ Zm9sbG93aW5nIHR1cm4uIn0seyJkYXRlIjoiMjAxNC0wOS0yMCIsInRleHQi
150
+ OiJFYWNoIHRpbWUgYSBjcmVhdHVyZSBkaWVzLCBjaGVjayB3aGV0aGVyIFp1
151
+ cmdvIGhhZCBkZWFsdCBhbnkgZGFtYWdlIHRvIGl0IGF0IGFueSB0aW1lIGR1
152
+ cmluZyB0aGF0IHR1cm4uIElmIHNvLCBadXJnb+KAmXMgYWJpbGl0eSB3aWxs
153
+ IHRyaWdnZXIuIEl0IGRvZXNu4oCZdCBtYXR0ZXIgd2hvIGNvbnRyb2xsZWQg
154
+ dGhlIGNyZWF0dXJlIG9yIHdob3NlIGdyYXZleWFyZCBpdCB3ZW50IHRvLiJ9
155
+ XSwiZm9yZWlnbk5hbWVzIjpbeyJuYW1lIjoi5YWc56CV44GN44Gu44K644Or
156
+ 44K0IiwibGFuZ3VhZ2UiOiJKYXBhbmVzZSIsIm11bHRpdmVyc2VpZCI6Mzg2
157
+ NDYyfV0sInByaW50aW5ncyI6WyJwUFJFIiwiREROIiwiS1RLIl0sIm9yaWdp
158
+ bmFsVGV4dCI6Ikhhc3RlXG5adXJnbyBIZWxtc21hc2hlciBhdHRhY2tzIGVh
159
+ Y2ggY29tYmF0IGlmIGFibGUuXG5adXJnbyBIZWxtc21hc2hlciBoYXMgaW5k
160
+ ZXN0cnVjdGlibGUgYXMgbG9uZyBhcyBpdCdzIHlvdXIgdHVybi5cbldoZW5l
161
+ dmVyIGEgY3JlYXR1cmUgZGVhbHQgZGFtYWdlIGJ5IFp1cmdvIEhlbG1zbWFz
162
+ aGVyIHRoaXMgdHVybiBkaWVzLCBwdXQgYSArMS8rMSBjb3VudGVyIG9uIFp1
163
+ cmdvIEhlbG1zbWFzaGVyLiIsIm9yaWdpbmFsVHlwZSI6IkxlZ2VuZGFyeSBD
164
+ cmVhdHVyZSDigJQgT3JjIFdhcnJpb3IiLCJsZWdhbGl0aWVzIjpbeyJmb3Jt
165
+ YXQiOiJDb21tYW5kZXIiLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3JtYXQi
166
+ OiJGcmVlZm9ybSIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6Ikxl
167
+ Z2FjeSIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6Ik1vZGVybiIs
168
+ ImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlByaXNtYXRpYyIsImxl
169
+ Z2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlNpbmdsZXRvbiAxMDAiLCJs
170
+ ZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3JtYXQiOiJTdGFuZGFyZCIsImxlZ2Fs
171
+ aXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlRhcmtpciBCbG9jayIsImxlZ2Fs
172
+ aXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlRyaWJhbCBXYXJzIExlZ2FjeSIs
173
+ ImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlRyaWJhbCBXYXJzIFN0
174
+ YW5kYXJkIiwibGVnYWxpdHkiOiJMZWdhbCJ9LHsiZm9ybWF0IjoiVmludGFn
175
+ ZSIsImxlZ2FsaXR5IjoiTGVnYWwifV0sImlkIjoiYzBhMjAyZDUyOWY1N2Jj
176
+ NmU4M2NjZTQxMjg1MGE5MWRhZGQwNTBkMSJ9LHsibmFtZSI6Ilp1cmdvIEhl
177
+ bG1zbWFzaGVyIiwibWFuYUNvc3QiOiJ7Mn17Un17V317Qn0iLCJjbWMiOjUs
178
+ ImNvbG9ycyI6WyJXaGl0ZSIsIkJsYWNrIiwiUmVkIl0sInR5cGUiOiJMZWdl
179
+ bmRhcnkgQ3JlYXR1cmUg4oCUIE9yYyBXYXJyaW9yIiwic3VwZXJ0eXBlcyI6
180
+ WyJMZWdlbmRhcnkiXSwidHlwZXMiOlsiQ3JlYXR1cmUiXSwic3VidHlwZXMi
181
+ OlsiT3JjIiwiV2FycmlvciJdLCJyYXJpdHkiOiJNeXRoaWMgUmFyZSIsInNl
182
+ dCI6IktUSyIsInRleHQiOiJIYXN0ZVxuWnVyZ28gSGVsbXNtYXNoZXIgYXR0
183
+ YWNrcyBlYWNoIGNvbWJhdCBpZiBhYmxlLlxuWnVyZ28gSGVsbXNtYXNoZXIg
184
+ aGFzIGluZGVzdHJ1Y3RpYmxlIGFzIGxvbmcgYXMgaXQncyB5b3VyIHR1cm4u
185
+ XG5XaGVuZXZlciBhIGNyZWF0dXJlIGRlYWx0IGRhbWFnZSBieSBadXJnbyBI
186
+ ZWxtc21hc2hlciB0aGlzIHR1cm4gZGllcywgcHV0IGEgKzEvKzEgY291bnRl
187
+ ciBvbiBadXJnbyBIZWxtc21hc2hlci4iLCJhcnRpc3QiOiJBbGVrc2kgQnJp
188
+ Y2xvdCIsIm51bWJlciI6IjIxNCIsInBvd2VyIjoiNyIsInRvdWdobmVzcyI6
189
+ IjIiLCJsYXlvdXQiOiJub3JtYWwiLCJtdWx0aXZlcnNlaWQiOjM4NjczMSwi
190
+ aW1hZ2VVcmwiOiJodHRwOi8vZ2F0aGVyZXIud2l6YXJkcy5jb20vSGFuZGxl
191
+ cnMvSW1hZ2UuYXNoeD9tdWx0aXZlcnNlaWQ9Mzg2NzMxJnR5cGU9Y2FyZCIs
192
+ IndhdGVybWFyayI6Ik1hcmR1IiwicnVsaW5ncyI6W3siZGF0ZSI6IjIwMTQt
193
+ MDktMjAiLCJ0ZXh0IjoiWW91IHN0aWxsIGNob29zZSB3aGljaCBwbGF5ZXIg
194
+ b3IgcGxhbmVzd2Fsa2VyIFp1cmdvIEhlbG1zbWFzaGVyIGF0dGFja3MuIn0s
195
+ eyJkYXRlIjoiMjAxNC0wOS0yMCIsInRleHQiOiJJZiwgZHVyaW5nIHlvdXIg
196
+ ZGVjbGFyZSBhdHRhY2tlcnMgc3RlcCwgWnVyZ28gaXMgdGFwcGVkIG9yIGlz
197
+ IGFmZmVjdGVkIGJ5IGEgc3BlbGwgb3IgYWJpbGl0eSB0aGF0IHNheXMgaXQg
198
+ Y2Fu4oCZdCBhdHRhY2ssIHRoZW4gaXQgZG9lc27igJl0IGF0dGFjay4gSWYg
199
+ dGhlcmXigJlzIGEgY29zdCBhc3NvY2lhdGVkIHdpdGggaGF2aW5nIFp1cmdv
200
+ IGF0dGFjaywgeW91IGFyZW7igJl0IGZvcmNlZCB0byBwYXkgdGhhdCBjb3N0
201
+ LCBzbyBpdCBkb2VzbuKAmXQgaGF2ZSB0byBhdHRhY2sgaW4gdGhhdCBjYXNl
202
+ IGVpdGhlci4ifSx7ImRhdGUiOiIyMDE0LTA5LTIwIiwidGV4dCI6IklmIFp1
203
+ cmdvIGVudGVycyB0aGUgYmF0dGxlZmllbGQgYmVmb3JlIHRoZSBjb21iYXQg
204
+ cGhhc2UsIGl0IHdpbGwgYXR0YWNrIHRoYXQgdHVybiBpZiBhYmxlLiBJZiBp
205
+ dCBlbnRlcnMgdGhlIGJhdHRsZWZpZWxkIGFmdGVyIGNvbWJhdCwgaXQgd29u
206
+ 4oCZdCBhdHRhY2sgdGhhdCB0dXJuIGFuZCB3aWxsIHVzdWFsbHkgYmUgYXZh
207
+ aWxhYmxlIHRvIGJsb2NrIG9uIHRoZSBmb2xsb3dpbmcgdHVybi4ifSx7ImRh
208
+ dGUiOiIyMDE0LTA5LTIwIiwidGV4dCI6IkVhY2ggdGltZSBhIGNyZWF0dXJl
209
+ IGRpZXMsIGNoZWNrIHdoZXRoZXIgWnVyZ28gaGFkIGRlYWx0IGFueSBkYW1h
210
+ Z2UgdG8gaXQgYXQgYW55IHRpbWUgZHVyaW5nIHRoYXQgdHVybi4gSWYgc28s
211
+ IFp1cmdv4oCZcyBhYmlsaXR5IHdpbGwgdHJpZ2dlci4gSXQgZG9lc27igJl0
212
+ IG1hdHRlciB3aG8gY29udHJvbGxlZCB0aGUgY3JlYXR1cmUgb3Igd2hvc2Ug
213
+ Z3JhdmV5YXJkIGl0IHdlbnQgdG8uIn1dLCJmb3JlaWduTmFtZXMiOlt7Im5h
214
+ bWUiOiLnoo7nm5Tnj6Dpq5giLCJsYW5ndWFnZSI6IkNoaW5lc2UgU2ltcGxp
215
+ ZmllZCIsIm11bHRpdmVyc2VpZCI6Mzg3MDAwfSx7Im5hbWUiOiLnoo7nm5Tn
216
+ j6Dpq5giLCJsYW5ndWFnZSI6IkNoaW5lc2UgVHJhZGl0aW9uYWwiLCJtdWx0
217
+ aXZlcnNlaWQiOjM4NzI2OX0seyJuYW1lIjoiWnVyZ28gQnJpc2VjYXNxdWUi
218
+ LCJsYW5ndWFnZSI6IkZyZW5jaCIsIm11bHRpdmVyc2VpZCI6Mzg3ODA3fSx7
219
+ Im5hbWUiOiJadXJnbyBIZWxtYnJlY2hlciIsImxhbmd1YWdlIjoiR2VybWFu
220
+ IiwibXVsdGl2ZXJzZWlkIjozODc1Mzh9LHsibmFtZSI6Ilp1cmdvIFNwYWNj
221
+ YWVsbWkiLCJsYW5ndWFnZSI6Ikl0YWxpYW4iLCJtdWx0aXZlcnNlaWQiOjM4
222
+ ODA3Nn0seyJuYW1lIjoi5YWc56CV44GN44Gu44K644Or44K0IiwibGFuZ3Vh
223
+ Z2UiOiJKYXBhbmVzZSIsIm11bHRpdmVyc2VpZCI6Mzg4MzQ1fSx7Im5hbWUi
224
+ OiLtiKzqtazrtoTsh4TsnpAg7KO866W06rOgIiwibGFuZ3VhZ2UiOiJLb3Jl
225
+ YW4iLCJtdWx0aXZlcnNlaWQiOjM4ODYxNH0seyJuYW1lIjoiWnVyZ28gUXVl
226
+ YnJhLWVsbW8iLCJsYW5ndWFnZSI6IlBvcnR1Z3Vlc2UgKEJyYXppbCkiLCJt
227
+ dWx0aXZlcnNlaWQiOjM4ODg4M30seyJuYW1lIjoi0JfRg9GA0LPQviDQqNC7
228
+ 0LXQvNC+0LHQvtC5IiwibGFuZ3VhZ2UiOiJSdXNzaWFuIiwibXVsdGl2ZXJz
229
+ ZWlkIjozODkxNTJ9LHsibmFtZSI6Ilp1cmdvIEFwbGFzdGFjcsOhbmVvcyIs
230
+ Imxhbmd1YWdlIjoiU3BhbmlzaCIsIm11bHRpdmVyc2VpZCI6Mzg5NDIxfV0s
231
+ InByaW50aW5ncyI6WyJwUFJFIiwiREROIiwiS1RLIl0sIm9yaWdpbmFsVGV4
232
+ dCI6Ikhhc3RlXG5adXJnbyBIZWxtc21hc2hlciBhdHRhY2tzIGVhY2ggY29t
233
+ YmF0IGlmIGFibGUuXG5adXJnbyBIZWxtc21hc2hlciBoYXMgaW5kZXN0cnVj
234
+ dGlibGUgYXMgbG9uZyBhcyBpdCdzIHlvdXIgdHVybi5cbldoZW5ldmVyIGEg
235
+ Y3JlYXR1cmUgZGVhbHQgZGFtYWdlIGJ5IFp1cmdvIEhlbG1zbWFzaGVyIHRo
236
+ aXMgdHVybiBkaWVzLCBwdXQgYSArMS8rMSBjb3VudGVyIG9uIFp1cmdvIEhl
237
+ bG1zbWFzaGVyLiIsIm9yaWdpbmFsVHlwZSI6IkxlZ2VuZGFyeSBDcmVhdHVy
238
+ ZSDigJQgT3JjIFdhcnJpb3IiLCJsZWdhbGl0aWVzIjpbeyJmb3JtYXQiOiJD
239
+ b21tYW5kZXIiLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3JtYXQiOiJGcmVl
240
+ Zm9ybSIsImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IkxlZ2FjeSIs
241
+ ImxlZ2FsaXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6Ik1vZGVybiIsImxlZ2Fs
242
+ aXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlByaXNtYXRpYyIsImxlZ2FsaXR5
243
+ IjoiTGVnYWwifSx7ImZvcm1hdCI6IlNpbmdsZXRvbiAxMDAiLCJsZWdhbGl0
244
+ eSI6IkxlZ2FsIn0seyJmb3JtYXQiOiJTdGFuZGFyZCIsImxlZ2FsaXR5Ijoi
245
+ TGVnYWwifSx7ImZvcm1hdCI6IlRhcmtpciBCbG9jayIsImxlZ2FsaXR5Ijoi
246
+ TGVnYWwifSx7ImZvcm1hdCI6IlRyaWJhbCBXYXJzIExlZ2FjeSIsImxlZ2Fs
247
+ aXR5IjoiTGVnYWwifSx7ImZvcm1hdCI6IlRyaWJhbCBXYXJzIFN0YW5kYXJk
248
+ IiwibGVnYWxpdHkiOiJMZWdhbCJ9LHsiZm9ybWF0IjoiVmludGFnZSIsImxl
249
+ Z2FsaXR5IjoiTGVnYWwifV0sImlkIjoiN2UzMDU5N2UwZTFhOGNlZDg5YTc4
250
+ Yjc3NzYxMzRiNjAwOTk4ZmIxMyJ9LHsibmFtZSI6Ilp1cmdvIEJlbGxzdHJp
251
+ a2VyIiwibWFuYUNvc3QiOiJ7Un0iLCJjbWMiOjEsImNvbG9ycyI6WyJSZWQi
252
+ XSwidHlwZSI6IkxlZ2VuZGFyeSBDcmVhdHVyZSDigJQgT3JjIFdhcnJpb3Ii
253
+ LCJzdXBlcnR5cGVzIjpbIkxlZ2VuZGFyeSJdLCJ0eXBlcyI6WyJDcmVhdHVy
254
+ ZSJdLCJzdWJ0eXBlcyI6WyJPcmMiLCJXYXJyaW9yIl0sInJhcml0eSI6IlJh
255
+ cmUiLCJzZXQiOiJEVEsiLCJ0ZXh0IjoiWnVyZ28gQmVsbHN0cmlrZXIgY2Fu
256
+ J3QgYmxvY2sgY3JlYXR1cmVzIHdpdGggcG93ZXIgMiBvciBncmVhdGVyLlxu
257
+ RGFzaCB7MX17Un0gKFlvdSBtYXkgY2FzdCB0aGlzIHNwZWxsIGZvciBpdHMg
258
+ ZGFzaCBjb3N0LiBJZiB5b3UgZG8sIGl0IGdhaW5zIGhhc3RlLCBhbmQgaXQn
259
+ cyByZXR1cm5lZCBmcm9tIHRoZSBiYXR0bGVmaWVsZCB0byBpdHMgb3duZXIn
260
+ cyBoYW5kIGF0IHRoZSBiZWdpbm5pbmcgb2YgdGhlIG5leHQgZW5kIHN0ZXAu
261
+ KSIsImFydGlzdCI6Ikphc29uIFJhaW52aWxsZSIsIm51bWJlciI6IjE2OSIs
262
+ InBvd2VyIjoiMiIsInRvdWdobmVzcyI6IjIiLCJsYXlvdXQiOiJub3JtYWwi
263
+ LCJtdWx0aXZlcnNlaWQiOjM5NDc0OCwiaW1hZ2VVcmwiOiJodHRwOi8vZ2F0
264
+ aGVyZXIud2l6YXJkcy5jb20vSGFuZGxlcnMvSW1hZ2UuYXNoeD9tdWx0aXZl
265
+ cnNlaWQ9Mzk0NzQ4JnR5cGU9Y2FyZCIsIndhdGVybWFyayI6IktvbGFnaGFu
266
+ IiwicnVsaW5ncyI6W3siZGF0ZSI6IjIwMTUtMDItMjUiLCJ0ZXh0IjoiT25j
267
+ ZSBadXJnbyBCZWxsc3RyaWtlciBoYXMgbGVnYWxseSBibG9ja2VkIGEgY3Jl
268
+ YXR1cmUsIHJhaXNpbmcgdGhhdCBjcmVhdHVyZeKAmXMgcG93ZXIgdG8gMiBv
269
+ ciBncmVhdGVyIHdvbuKAmXQgdW5kbyB0aGUgYmxvY2suIn0seyJkYXRlIjoi
270
+ MjAxNS0wMi0yNSIsInRleHQiOiJFdmVuIHRob3VnaCBib3RoIGNhcmRzIHBv
271
+ cnRyYXkgdGhlIHNhbWUgY2hhcmFjdGVyLCBadXJnbyBCZWxsc3RyaWtlciBh
272
+ bmQgWnVyZ28gSGVsbXNtYXNoZXIgaGF2ZSBkaWZmZXJlbnQgbmFtZXMuIENv
273
+ bnRyb2xsaW5nIGJvdGggb2YgdGhlbSB3b27igJl0IGludm9rZSB0aGUg4oCc
274
+ bGVnZW5kIHJ1bGUu4oCdIn0seyJkYXRlIjoiMjAxNS0wMi0yNSIsInRleHQi
275
+ OiJJZiB5b3UgY2hvb3NlIHRvIHBheSB0aGUgZGFzaCBjb3N0IHJhdGhlciB0
276
+ aGFuIHRoZSBtYW5hIGNvc3QsIHlvdeKAmXJlIHN0aWxsIGNhc3RpbmcgdGhl
277
+ IHNwZWxsLiBJdCBnb2VzIG9uIHRoZSBzdGFjayBhbmQgY2FuIGJlIHJlc3Bv
278
+ bmRlZCB0byBhbmQgY291bnRlcmVkLiBZb3UgY2FuIGNhc3QgYSBjcmVhdHVy
279
+ ZSBzcGVsbCBmb3IgaXRzIGRhc2ggY29zdCBvbmx5IHdoZW4geW91IG90aGVy
280
+ d2lzZSBjb3VsZCBjYXN0IHRoYXQgY3JlYXR1cmUgc3BlbGwuIE1vc3Qgb2Yg
281
+ dGhlIHRpbWUsIHRoaXMgbWVhbnMgZHVyaW5nIHlvdXIgbWFpbiBwaGFzZSB3
282
+ aGVuIHRoZSBzdGFjayBpcyBlbXB0eS4ifSx7ImRhdGUiOiIyMDE1LTAyLTI1
283
+ IiwidGV4dCI6IklmIHlvdSBwYXkgdGhlIGRhc2ggY29zdCB0byBjYXN0IGEg
284
+ Y3JlYXR1cmUgc3BlbGwsIHRoYXQgY2FyZCB3aWxsIGJlIHJldHVybmVkIHRv
285
+ IGl0cyBvd25lcuKAmXMgaGFuZCBvbmx5IGlmIGl04oCZcyBzdGlsbCBvbiB0
286
+ aGUgYmF0dGxlZmllbGQgd2hlbiBpdHMgdHJpZ2dlcmVkIGFiaWxpdHkgcmVz
287
+ b2x2ZXMuIElmIGl0IGRpZXMgb3IgZ29lcyB0byBhbm90aGVyIHpvbmUgYmVm
288
+ b3JlIHRoZW4sIGl0IHdpbGwgc3RheSB3aGVyZSBpdCBpcy4ifSx7ImRhdGUi
289
+ OiIyMDE1LTAyLTI1IiwidGV4dCI6IllvdSBkb27igJl0IGhhdmUgdG8gYXR0
290
+ YWNrIHdpdGggdGhlIGNyZWF0dXJlIHdpdGggZGFzaCB1bmxlc3MgYW5vdGhl
291
+ ciBhYmlsaXR5IHNheXMgeW91IGRvLiJ9LHsiZGF0ZSI6IjIwMTUtMDItMjUi
292
+ LCJ0ZXh0IjoiSWYgYSBjcmVhdHVyZSBlbnRlcnMgdGhlIGJhdHRsZWZpZWxk
293
+ IGFzIGEgY29weSBvZiBvciBiZWNvbWVzIGEgY29weSBvZiBhIGNyZWF0dXJl
294
+ IHdob3NlIGRhc2ggY29zdCB3YXMgcGFpZCwgdGhlIGNvcHkgd29u4oCZdCBo
295
+ YXZlIGhhc3RlIGFuZCB3b27igJl0IGJlIHJldHVybmVkIHRvIGl0cyBvd25l
296
+ cuKAmXMgaGFuZC4ifV0sImZvcmVpZ25OYW1lcyI6W3sibmFtZSI6IuWPuOmS
297
+ n+ePoOmrmCIsImxhbmd1YWdlIjoiQ2hpbmVzZSBTaW1wbGlmaWVkIiwibXVs
298
+ dGl2ZXJzZWlkIjozOTUwMTJ9LHsibmFtZSI6IuWPuOmQmOePoOmrmCIsImxh
299
+ bmd1YWdlIjoiQ2hpbmVzZSBUcmFkaXRpb25hbCIsIm11bHRpdmVyc2VpZCI6
300
+ Mzk1Mjc2fSx7Im5hbWUiOiJadXJnbyBsZSBTb25uZXVyIiwibGFuZ3VhZ2Ui
301
+ OiJGcmVuY2giLCJtdWx0aXZlcnNlaWQiOjM5NTgwNH0seyJuYW1lIjoiWnVy
302
+ Z28gR2xvY2tlbmzDpHV0ZXIiLCJsYW5ndWFnZSI6Ikdlcm1hbiIsIm11bHRp
303
+ dmVyc2VpZCI6Mzk1NTQwfSx7Im5hbWUiOiJadXJnbyBTdW9uYWNhbXBhbmEi
304
+ LCJsYW5ndWFnZSI6Ikl0YWxpYW4iLCJtdWx0aXZlcnNlaWQiOjM5NjA2OH0s
305
+ eyJuYW1lIjoi6ZCY56qB44GN44Gu44K644Or44K0IiwibGFuZ3VhZ2UiOiJK
306
+ YXBhbmVzZSIsIm11bHRpdmVyc2VpZCI6Mzk2MzMyfSx7Im5hbWUiOiLtg4Ds
307
+ ooXqvrwg7KO866W06rOgIiwibGFuZ3VhZ2UiOiJLb3JlYW4iLCJtdWx0aXZl
308
+ cnNlaWQiOjM5NjU5Nn0seyJuYW1lIjoiWnVyZ28gU2luZWlybyIsImxhbmd1
309
+ YWdlIjoiUG9ydHVndWVzZSAoQnJhemlsKSIsIm11bHRpdmVyc2VpZCI6Mzk2
310
+ ODYwfSx7Im5hbWUiOiLQl9GD0YDQs9C+INCX0LLQvtC90LDRgNGMIiwibGFu
311
+ Z3VhZ2UiOiJSdXNzaWFuIiwibXVsdGl2ZXJzZWlkIjozOTcxMjR9LHsibmFt
312
+ ZSI6Ilp1cmdvLCBlbCBjYW1wYW5lcm8iLCJsYW5ndWFnZSI6IlNwYW5pc2gi
313
+ LCJtdWx0aXZlcnNlaWQiOjM5NzM4OH1dLCJwcmludGluZ3MiOlsiRFRLIl0s
314
+ Im9yaWdpbmFsVGV4dCI6Ilp1cmdvIEJlbGxzdHJpa2VyIGNhbid0IGJsb2Nr
315
+ IGNyZWF0dXJlcyB3aXRoIHBvd2VyIDIgb3IgZ3JlYXRlci5cbkRhc2ggezF9
316
+ e1J9IChZb3UgbWF5IGNhc3QgdGhpcyBzcGVsbCBmb3IgaXRzIGRhc2ggY29z
317
+ dC4gSWYgeW91IGRvLCBpdCBnYWlucyBoYXN0ZSwgYW5kIGl0J3MgcmV0dXJu
318
+ ZWQgZnJvbSB0aGUgYmF0dGxlZmllbGQgdG8gaXRzIG93bmVyJ3MgaGFuZCBh
319
+ dCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBuZXh0IGVuZCBzdGVwLikiLCJvcmln
320
+ aW5hbFR5cGUiOiJMZWdlbmRhcnkgQ3JlYXR1cmUg4oCUIE9yYyBXYXJyaW9y
321
+ IiwibGVnYWxpdGllcyI6W3siZm9ybWF0IjoiQ29tbWFuZGVyIiwibGVnYWxp
322
+ dHkiOiJMZWdhbCJ9LHsiZm9ybWF0IjoiRnJlZWZvcm0iLCJsZWdhbGl0eSI6
323
+ IkxlZ2FsIn0seyJmb3JtYXQiOiJMZWdhY3kiLCJsZWdhbGl0eSI6IkxlZ2Fs
324
+ In0seyJmb3JtYXQiOiJNb2Rlcm4iLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJm
325
+ b3JtYXQiOiJQcmlzbWF0aWMiLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3Jt
326
+ YXQiOiJTaW5nbGV0b24gMTAwIiwibGVnYWxpdHkiOiJMZWdhbCJ9LHsiZm9y
327
+ bWF0IjoiU3RhbmRhcmQiLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3JtYXQi
328
+ OiJUYXJraXIgQmxvY2siLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJmb3JtYXQi
329
+ OiJUcmliYWwgV2FycyBMZWdhY3kiLCJsZWdhbGl0eSI6IkxlZ2FsIn0seyJm
330
+ b3JtYXQiOiJUcmliYWwgV2FycyBTdGFuZGFyZCIsImxlZ2FsaXR5IjoiTGVn
331
+ YWwifSx7ImZvcm1hdCI6IlZpbnRhZ2UiLCJsZWdhbGl0eSI6IkxlZ2FsIn1d
332
+ LCJpZCI6IjZmZDczZGIwYzg1OGI1ZmQyNTUxMTk3ZDI4ZDA1NjY2MDgyMjg0
333
+ ZmUifV19
334
+ http_version:
335
+ recorded_at: Tue, 19 Jan 2016 05:53:38 GMT
336
+ recorded_with: VCR 2.9.3
@@ -0,0 +1,34 @@
1
+ require_relative 'test_helper'
2
+
3
+ class SetTest < Minitest::Test
4
+ def test_find_returns_one_set
5
+ VCR.use_cassette('one_set') do
6
+ set = MTG::Set.find('ktk')
7
+
8
+ assert_equal 'KTK', set.code
9
+ assert_equal 'Khans of Tarkir', set.name
10
+ assert_equal 'expansion', set.type
11
+ assert_equal 'black', set.border
12
+ assert set.booster.any? {|rarity| rarity == 'common'}
13
+ assert_equal '2014-09-26', set.release_date
14
+ assert_equal 'ktk', set.magic_cards_info_code
15
+ end
16
+ end
17
+
18
+ def test_find_with_invalid_code_throws_exception
19
+ VCR.use_cassette('invalid_code') do
20
+ assert_raises ArgumentError do
21
+ MTG::Set.find('invalid')
22
+ end
23
+ end
24
+ end
25
+
26
+ def test_generate_booster_returns_cards
27
+ VCR.use_cassette('booster') do
28
+ cards = MTG::Set.generate_booster('ktk')
29
+
30
+ assert cards.length == 15
31
+ assert_equal 'KTK', cards.first.set
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'test_helper'
2
+
3
+ class SubtypeTest < Minitest::Test
4
+ def test_all_returns_all_subtypes
5
+ VCR.use_cassette('all_subtypes') do
6
+ types = MTG::Subtype.all
7
+
8
+ assert types.length > 10
9
+ assert types.any? {|type| type == 'Warrior'}
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'test_helper'
2
+
3
+ class SupertypeTest < Minitest::Test
4
+ def test_all_returns_all_types
5
+ VCR.use_cassette('all_supertypes') do
6
+ types = MTG::Supertype.all
7
+
8
+ assert types.length == 5
9
+ assert types.any? {|type| type == 'Legendary'}
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,10 @@
1
+ #test/test_helper.rb
2
+ require_relative '../lib/mtg_sdk'
3
+ require 'minitest/autorun'
4
+ require 'webmock/minitest'
5
+ require 'vcr'
6
+
7
+ VCR.configure do |c|
8
+ c.cassette_library_dir = "test/fixtures"
9
+ c.hook_into :webmock
10
+ end
@@ -0,0 +1,12 @@
1
+ require_relative 'test_helper'
2
+
3
+ class TypeTest < Minitest::Test
4
+ def test_all_returns_all_types
5
+ VCR.use_cassette('all_types') do
6
+ types = MTG::Type.all
7
+
8
+ assert types.length > 10
9
+ assert types.any? {|type| type == 'Creature'}
10
+ end
11
+ end
12
+ end
metadata ADDED
@@ -0,0 +1,263 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: mtg_sdk
3
+ version: !ruby/object:Gem::Version
4
+ version: 1.0.0
5
+ platform: ruby
6
+ authors:
7
+ - Andrew Backes
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-21 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: bundler
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '1.6'
20
+ type: :development
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '1.6'
27
+ - !ruby/object:Gem::Dependency
28
+ name: rake
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
42
+ name: minitest
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
45
+ - - ">="
46
+ - !ruby/object:Gem::Version
47
+ version: '0'
48
+ type: :development
49
+ prerelease: false
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ">="
53
+ - !ruby/object:Gem::Version
54
+ version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: vcr
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
69
+ - !ruby/object:Gem::Dependency
70
+ name: webmock
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: faraday
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :runtime
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: faraday_middleware
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :runtime
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
111
+ - !ruby/object:Gem::Dependency
112
+ name: json
113
+ requirement: !ruby/object:Gem::Requirement
114
+ requirements:
115
+ - - ">="
116
+ - !ruby/object:Gem::Version
117
+ version: '0'
118
+ type: :runtime
119
+ prerelease: false
120
+ version_requirements: !ruby/object:Gem::Requirement
121
+ requirements:
122
+ - - ">="
123
+ - !ruby/object:Gem::Version
124
+ version: '0'
125
+ - !ruby/object:Gem::Dependency
126
+ name: multi_json
127
+ requirement: !ruby/object:Gem::Requirement
128
+ requirements:
129
+ - - ">="
130
+ - !ruby/object:Gem::Version
131
+ version: '0'
132
+ type: :runtime
133
+ prerelease: false
134
+ version_requirements: !ruby/object:Gem::Requirement
135
+ requirements:
136
+ - - ">="
137
+ - !ruby/object:Gem::Version
138
+ version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: roar
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :runtime
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
153
+ - !ruby/object:Gem::Dependency
154
+ name: virtus
155
+ requirement: !ruby/object:Gem::Requirement
156
+ requirements:
157
+ - - ">="
158
+ - !ruby/object:Gem::Version
159
+ version: '0'
160
+ type: :runtime
161
+ prerelease: false
162
+ version_requirements: !ruby/object:Gem::Requirement
163
+ requirements:
164
+ - - ">="
165
+ - !ruby/object:Gem::Version
166
+ version: '0'
167
+ description: 'Magic: The Gathering SDK is a wrapper around the MTG API located at
168
+ magicthegathering.io'
169
+ email:
170
+ - backes.andrew@gmail.com
171
+ executables: []
172
+ extensions: []
173
+ extra_rdoc_files: []
174
+ files:
175
+ - ".gitignore"
176
+ - Gemfile
177
+ - LICENSE.txt
178
+ - README.md
179
+ - Rakefile
180
+ - lib/mtg_sdk.rb
181
+ - lib/mtg_sdk/card.rb
182
+ - lib/mtg_sdk/changelog.rb
183
+ - lib/mtg_sdk/configuration.rb
184
+ - lib/mtg_sdk/foreign_name.rb
185
+ - lib/mtg_sdk/legality.rb
186
+ - lib/mtg_sdk/representers/card_representer.rb
187
+ - lib/mtg_sdk/representers/changelog_representer.rb
188
+ - lib/mtg_sdk/representers/foreign_name_representer.rb
189
+ - lib/mtg_sdk/representers/legality_representer.rb
190
+ - lib/mtg_sdk/representers/ruling_representer.rb
191
+ - lib/mtg_sdk/representers/set_representer.rb
192
+ - lib/mtg_sdk/resource.rb
193
+ - lib/mtg_sdk/rest_client.rb
194
+ - lib/mtg_sdk/ruling.rb
195
+ - lib/mtg_sdk/set.rb
196
+ - lib/mtg_sdk/subtype.rb
197
+ - lib/mtg_sdk/supertype.rb
198
+ - lib/mtg_sdk/type.rb
199
+ - lib/mtg_sdk/version.rb
200
+ - mtg_sdk.gemspec
201
+ - test/card_test.rb
202
+ - test/changelog_test.rb
203
+ - test/configuration_test.rb
204
+ - test/fixtures/all_changelogs.yml
205
+ - test/fixtures/all_subtypes.yml
206
+ - test/fixtures/all_supertypes.yml
207
+ - test/fixtures/all_types.yml
208
+ - test/fixtures/booster.yml
209
+ - test/fixtures/invalid_code.yml
210
+ - test/fixtures/invalid_id.yml
211
+ - test/fixtures/one_card.yml
212
+ - test/fixtures/one_set.yml
213
+ - test/fixtures/query_cards_pageSize.yml
214
+ - test/fixtures/query_zurgo.yml
215
+ - test/set_test.rb
216
+ - test/subtype_test.rb
217
+ - test/supertype_test.rb
218
+ - test/test_helper.rb
219
+ - test/type_test.rb
220
+ homepage: https://magicthegathering.io
221
+ licenses:
222
+ - MIT
223
+ metadata: {}
224
+ post_install_message:
225
+ rdoc_options: []
226
+ require_paths:
227
+ - lib
228
+ required_ruby_version: !ruby/object:Gem::Requirement
229
+ requirements:
230
+ - - ">="
231
+ - !ruby/object:Gem::Version
232
+ version: '0'
233
+ required_rubygems_version: !ruby/object:Gem::Requirement
234
+ requirements:
235
+ - - ">="
236
+ - !ruby/object:Gem::Version
237
+ version: '0'
238
+ requirements: []
239
+ rubyforge_project:
240
+ rubygems_version: 2.2.2
241
+ signing_key:
242
+ specification_version: 4
243
+ summary: 'Magic: The Gathering SDK for magicthegathering.io'
244
+ test_files:
245
+ - test/card_test.rb
246
+ - test/changelog_test.rb
247
+ - test/configuration_test.rb
248
+ - test/fixtures/all_changelogs.yml
249
+ - test/fixtures/all_subtypes.yml
250
+ - test/fixtures/all_supertypes.yml
251
+ - test/fixtures/all_types.yml
252
+ - test/fixtures/booster.yml
253
+ - test/fixtures/invalid_code.yml
254
+ - test/fixtures/invalid_id.yml
255
+ - test/fixtures/one_card.yml
256
+ - test/fixtures/one_set.yml
257
+ - test/fixtures/query_cards_pageSize.yml
258
+ - test/fixtures/query_zurgo.yml
259
+ - test/set_test.rb
260
+ - test/subtype_test.rb
261
+ - test/supertype_test.rb
262
+ - test/test_helper.rb
263
+ - test/type_test.rb