mtg_sdk 1.0.0

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