7digital 0.0.6 → 0.0.7

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 (269) hide show
  1. data/README.rdoc +136 -136
  2. data/lib/sevendigital.rb +53 -53
  3. data/lib/sevendigital/api_operator.rb +130 -130
  4. data/lib/sevendigital/api_operator_cached.rb +41 -41
  5. data/lib/sevendigital/api_request.rb +65 -65
  6. data/lib/sevendigital/client.rb +113 -113
  7. data/lib/sevendigital/client_configuration.rb +86 -86
  8. data/lib/sevendigital/client_digestors.rb +107 -107
  9. data/lib/sevendigital/client_managers.rb +47 -47
  10. data/lib/sevendigital/digestion_tract/api_response_digestor.rb +58 -58
  11. data/lib/sevendigital/digestion_tract/artist_digestor.rb +32 -32
  12. data/lib/sevendigital/digestion_tract/basket_digestor.rb +19 -19
  13. data/lib/sevendigital/digestion_tract/basket_item_digestor.rb +26 -26
  14. data/lib/sevendigital/digestion_tract/chart_item_digestor.rb +28 -28
  15. data/lib/sevendigital/digestion_tract/digestor.rb +71 -71
  16. data/lib/sevendigital/digestion_tract/download_url_digestor.rb +20 -20
  17. data/lib/sevendigital/digestion_tract/format_digestor.rb +22 -22
  18. data/lib/sevendigital/digestion_tract/label_digestor.rb +20 -20
  19. data/lib/sevendigital/digestion_tract/locker_digestor.rb +18 -18
  20. data/lib/sevendigital/digestion_tract/locker_release_digestor.rb +20 -20
  21. data/lib/sevendigital/digestion_tract/locker_track_digestor.rb +22 -22
  22. data/lib/sevendigital/digestion_tract/oauth_access_token_digestor.rb +14 -14
  23. data/lib/sevendigital/digestion_tract/oauth_request_token_digestor.rb +14 -14
  24. data/lib/sevendigital/digestion_tract/pager_digestor.rb +24 -24
  25. data/lib/sevendigital/digestion_tract/price_digestor.rb +25 -25
  26. data/lib/sevendigital/digestion_tract/release_digestor.rb +53 -53
  27. data/lib/sevendigital/digestion_tract/tag_digestor.rb +22 -22
  28. data/lib/sevendigital/digestion_tract/track_digestor.rb +38 -38
  29. data/lib/sevendigital/digestion_tract/user_card_digestor.rb +23 -23
  30. data/lib/sevendigital/digestion_tract/user_digestor.rb +20 -20
  31. data/lib/sevendigital/management/artist_manager.rb +99 -99
  32. data/lib/sevendigital/management/basket_manager.rb +29 -29
  33. data/lib/sevendigital/management/manager.rb +12 -12
  34. data/lib/sevendigital/management/oauth_manager.rb +23 -23
  35. data/lib/sevendigital/management/release_manager.rb +56 -56
  36. data/lib/sevendigital/management/tag_manager.rb +10 -10
  37. data/lib/sevendigital/management/track_manager.rb +28 -28
  38. data/lib/sevendigital/management/user_card_manager.rb +26 -26
  39. data/lib/sevendigital/management/user_manager.rb +71 -71
  40. data/lib/sevendigital/model/api_response.rb +25 -25
  41. data/lib/sevendigital/model/artist.rb +94 -94
  42. data/lib/sevendigital/model/basket.rb +15 -15
  43. data/lib/sevendigital/model/basket_item.rb +14 -14
  44. data/lib/sevendigital/model/card.rb +11 -11
  45. data/lib/sevendigital/model/chart_item.rb +9 -9
  46. data/lib/sevendigital/model/download_url.rb +7 -7
  47. data/lib/sevendigital/model/format.rb +7 -7
  48. data/lib/sevendigital/model/label.rb +7 -7
  49. data/lib/sevendigital/model/locker.rb +4 -4
  50. data/lib/sevendigital/model/locker_release.rb +9 -9
  51. data/lib/sevendigital/model/locker_track.rb +9 -9
  52. data/lib/sevendigital/model/price.rb +9 -9
  53. data/lib/sevendigital/model/release.rb +52 -52
  54. data/lib/sevendigital/model/sevendigital_error.rb +11 -11
  55. data/lib/sevendigital/model/sevendigital_object.rb +57 -57
  56. data/lib/sevendigital/model/tag.rb +7 -7
  57. data/lib/sevendigital/model/track.rb +83 -83
  58. data/lib/sevendigital/model/user.rb +63 -63
  59. data/lib/sevendigital/pager.rb +23 -23
  60. data/lib/sevendigital/peachy_patchy.rb +9 -9
  61. data/lib/sevendigital/proxy_police.rb +27 -27
  62. data/lib/sevendigital/version.rb +5 -5
  63. data/spec/api_operator_cached_spec.rb +178 -178
  64. data/spec/api_operator_spec.rb +336 -336
  65. data/spec/api_request_spec.rb +31 -31
  66. data/spec/client_configuration_spec.rb +79 -74
  67. data/spec/client_spec.rb +162 -162
  68. data/spec/coverage/assets/0.3.9/app.js +66 -0
  69. data/spec/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  70. data/spec/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  71. data/spec/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  72. data/spec/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  73. data/spec/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  74. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  75. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  76. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  77. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  78. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  79. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  80. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  81. data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  82. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  83. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  84. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  85. data/spec/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  86. data/spec/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  87. data/spec/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  88. data/spec/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  89. data/spec/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
  90. data/spec/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  91. data/spec/coverage/assets/0.3.9/favicon.png +0 -0
  92. data/spec/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
  93. data/spec/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
  94. data/spec/coverage/assets/0.3.9/jquery.timeago.js +141 -0
  95. data/spec/coverage/assets/0.3.9/jquery.url.js +174 -0
  96. data/spec/coverage/assets/0.3.9/loading.gif +0 -0
  97. data/spec/coverage/assets/0.3.9/magnify.png +0 -0
  98. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  99. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  100. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  101. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  102. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  103. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  104. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  105. data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  106. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  107. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  108. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  109. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  110. data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  111. data/spec/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  112. data/spec/coverage/assets/0.3.9/stylesheet.css +341 -0
  113. data/spec/coverage/index.html +47481 -0
  114. data/spec/coverage/resultset.yml +3556 -0
  115. data/spec/data/config/sevendigital.yml +5 -5
  116. data/spec/data/configuration_env_override.yml +5 -5
  117. data/spec/data/configuration_override.yml +1 -1
  118. data/spec/digestion_tract/api_response_digestor_spec.rb +92 -92
  119. data/spec/digestion_tract/artist_digestor_spec.rb +81 -81
  120. data/spec/digestion_tract/basket_digestor_spec.rb +31 -31
  121. data/spec/digestion_tract/basket_item_digestor_spec.rb +58 -58
  122. data/spec/digestion_tract/chart_digestor_spec.rb +52 -52
  123. data/spec/digestion_tract/download_url_digestor_spec.rb +40 -40
  124. data/spec/digestion_tract/format_digestor_spec.rb +38 -38
  125. data/spec/digestion_tract/label_digestor_spec.rb +33 -33
  126. data/spec/digestion_tract/locker_digestor_spec.rb +30 -30
  127. data/spec/digestion_tract/locker_release_digestor_spec.rb +70 -70
  128. data/spec/digestion_tract/locker_track_digestor_spec.rb +56 -56
  129. data/spec/digestion_tract/oauth_access_token_digestor_spec.rb +34 -34
  130. data/spec/digestion_tract/oauth_request_token_digestor_spec.rb +34 -34
  131. data/spec/digestion_tract/pager_digestor_spec.rb +50 -50
  132. data/spec/digestion_tract/price_digestor_spec.rb +73 -73
  133. data/spec/digestion_tract/release_digestor_spec.rb +101 -101
  134. data/spec/digestion_tract/tag_digestor_spec.rb +46 -46
  135. data/spec/digestion_tract/track_digestor_spec.rb +104 -104
  136. data/spec/digestion_tract/user_card_digestor_spec.rb +58 -58
  137. data/spec/digestion_tract/user_digestor_spec.rb +44 -44
  138. data/spec/management/artist_manager_spec.rb +151 -151
  139. data/spec/management/basket_manager_spec.rb +77 -77
  140. data/spec/management/oauth_manager_spec.rb +72 -72
  141. data/spec/management/release_manager_spec.rb +200 -200
  142. data/spec/management/tag_manager_spec.rb +34 -34
  143. data/spec/management/track_manager_spec.rb +107 -107
  144. data/spec/management/user_card_manager_spec.rb +78 -78
  145. data/spec/management/user_manager_spec.rb +202 -202
  146. data/spec/model/api_response_spec.rb +48 -48
  147. data/spec/model/artist_spec.rb +154 -154
  148. data/spec/model/basket_spec.rb +62 -62
  149. data/spec/model/coverage/assets/0.3.9/app.js +66 -0
  150. data/spec/model/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
  151. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
  152. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
  153. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
  154. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
  155. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
  156. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
  157. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
  158. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
  159. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
  160. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
  161. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
  162. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
  163. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
  164. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
  165. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
  166. data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
  167. data/spec/model/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
  168. data/spec/model/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
  169. data/spec/model/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
  170. data/spec/model/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
  171. data/spec/model/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
  172. data/spec/model/coverage/assets/0.3.9/favicon.png +0 -0
  173. data/spec/model/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
  174. data/spec/model/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
  175. data/spec/model/coverage/assets/0.3.9/jquery.timeago.js +141 -0
  176. data/spec/model/coverage/assets/0.3.9/jquery.url.js +174 -0
  177. data/spec/model/coverage/assets/0.3.9/loading.gif +0 -0
  178. data/spec/model/coverage/assets/0.3.9/magnify.png +0 -0
  179. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
  180. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
  181. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
  182. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
  183. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
  184. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
  185. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
  186. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
  187. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
  188. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
  189. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
  190. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
  191. data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
  192. data/spec/model/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
  193. data/spec/model/coverage/assets/0.3.9/stylesheet.css +341 -0
  194. data/spec/model/coverage/index.html +8637 -0
  195. data/spec/model/coverage/resultset.yml +642 -0
  196. data/spec/model/release_spec.rb +122 -122
  197. data/spec/model/sevendigital_object_spec.rb +73 -73
  198. data/spec/model/track_spec.rb +144 -144
  199. data/spec/model/user_spec.rb +160 -160
  200. data/spec/pager_spec.rb +7 -7
  201. data/spec/peachy_spec_helper_patch.rb +6 -6
  202. data/spec/proxy_police_spec.rb +69 -69
  203. data/spec/sevendigital_spec.rb +51 -70
  204. data/spec/sevendigital_spec.yml +4 -4
  205. data/spec/spec_helper.rb +64 -64
  206. data/spec/test-xml/methods/artist/browse.xml +21 -21
  207. data/spec/test-xml/methods/artist/byTag/top.xml +50 -50
  208. data/spec/test-xml/methods/artist/chart.xml +30 -30
  209. data/spec/test-xml/methods/artist/details.xml +9 -9
  210. data/spec/test-xml/methods/artist/releases.xml +544 -544
  211. data/spec/test-xml/methods/artist/search.xml +18 -18
  212. data/spec/test-xml/methods/artist/similar.xml +39 -39
  213. data/spec/test-xml/methods/artist/tags.xml +11 -11
  214. data/spec/test-xml/methods/artist/toptracks.xml +279 -279
  215. data/spec/test-xml/methods/basket/additem.xml +23 -23
  216. data/spec/test-xml/methods/basket/create.xml +10 -10
  217. data/spec/test-xml/methods/basket/index.xml +23 -23
  218. data/spec/test-xml/methods/basket/removeitem.xml +10 -10
  219. data/spec/test-xml/methods/oauth/accesstoken.xml +5 -5
  220. data/spec/test-xml/methods/oauth/requesttoken.xml +5 -5
  221. data/spec/test-xml/methods/release/bydate.xml +173 -173
  222. data/spec/test-xml/methods/release/bytag/top.xml +150 -150
  223. data/spec/test-xml/methods/release/chart.xml +181 -181
  224. data/spec/test-xml/methods/release/details.xml +48 -48
  225. data/spec/test-xml/methods/release/recommend.xml +89 -89
  226. data/spec/test-xml/methods/release/search.xml +194 -194
  227. data/spec/test-xml/methods/release/tags.xml +27 -27
  228. data/spec/test-xml/methods/release/tracks.xml +28 -28
  229. data/spec/test-xml/methods/tag/index.xml +16 -16
  230. data/spec/test-xml/methods/track/chart.xml +149 -149
  231. data/spec/test-xml/methods/track/details.xml +30 -30
  232. data/spec/test-xml/methods/track/search.xml +159 -159
  233. data/spec/test-xml/methods/user/locker.xml +49 -49
  234. data/spec/test-xml/methods/user/payment/card/add.xml +7 -7
  235. data/spec/test-xml/methods/user/payment/card/index.xml +7 -7
  236. data/spec/test-xml/methods/user/purchase/basket.xml +49 -0
  237. data/spec/test-xml/methods/user/purchase/item.xml +48 -48
  238. data/spec/test-xml/methods/user/signUp.xml +5 -5
  239. data/spec/test-xml/objects/artist.xml +6 -6
  240. data/spec/test-xml/objects/artist_chart_item.xml +7 -7
  241. data/spec/test-xml/objects/artist_list.xml +22 -22
  242. data/spec/test-xml/objects/artist_list_empty.xml +4 -4
  243. data/spec/test-xml/objects/basket.xml +21 -21
  244. data/spec/test-xml/objects/basket_item.xml +11 -11
  245. data/spec/test-xml/objects/basket_item_list.xml +25 -25
  246. data/spec/test-xml/objects/basket_item_list_empty.xml +1 -1
  247. data/spec/test-xml/objects/download_url.xml +7 -7
  248. data/spec/test-xml/objects/locker.xml +47 -47
  249. data/spec/test-xml/objects/locker_release.xml +40 -40
  250. data/spec/test-xml/objects/locker_release_list.xml +87 -87
  251. data/spec/test-xml/objects/locker_release_list_empty.xml +4 -4
  252. data/spec/test-xml/objects/locker_release_one_item_list.xml +43 -43
  253. data/spec/test-xml/objects/locker_track.xml +25 -25
  254. data/spec/test-xml/objects/locker_track_list.xml +26 -26
  255. data/spec/test-xml/objects/locker_track_list_empty.xml +2 -2
  256. data/spec/test-xml/objects/oauth_access_token.xml +3 -3
  257. data/spec/test-xml/objects/oauth_request_token.xml +3 -3
  258. data/spec/test-xml/objects/price.xml +7 -7
  259. data/spec/test-xml/objects/release.xml +40 -40
  260. data/spec/test-xml/objects/release_chart_item.xml +39 -39
  261. data/spec/test-xml/objects/release_list.xml +18 -18
  262. data/spec/test-xml/objects/release_list_empty.xml +4 -4
  263. data/spec/test-xml/objects/response.xml +38 -38
  264. data/spec/test-xml/objects/tag.xml +4 -4
  265. data/spec/test-xml/objects/track.xml +33 -33
  266. data/spec/test-xml/objects/track_chart_item.xml +27 -27
  267. data/spec/test-xml/objects/user.xml +4 -4
  268. data/spec/test-xml/objects/user_payment_card.xml +5 -5
  269. metadata +193 -3
@@ -1,16 +1,16 @@
1
- module Sevendigital
2
-
3
- class Basket < SevendigitalObject
4
- attr_accessor :id, :basket_items
5
-
6
- def add_item(release_id, track_id=nil, options={})
7
- @basket_items = @api_client.basket.add_item(id, release_id, track_id, options).basket_items
8
- end
9
-
10
- def remove_item(item_id, options={})
11
- @basket_items = @api_client.basket.remove_item(id, item_id, options).basket_items
12
- end
13
-
14
- end
15
-
1
+ module Sevendigital
2
+
3
+ class Basket < SevendigitalObject
4
+ attr_accessor :id, :basket_items
5
+
6
+ def add_item(release_id, track_id=nil, options={})
7
+ @basket_items = @api_client.basket.add_item(id, release_id, track_id, options).basket_items
8
+ end
9
+
10
+ def remove_item(item_id, options={})
11
+ @basket_items = @api_client.basket.remove_item(id, item_id, options).basket_items
12
+ end
13
+
14
+ end
15
+
16
16
  end
@@ -1,15 +1,15 @@
1
- module Sevendigital
2
-
3
- class BasketItem < SevendigitalObject
4
-
5
- attr_accessor :id
6
-
7
- sevendigital_basic_property :type, :artist_name, :item_name, :price, :track_id, :release_id
8
-
9
- sevendigital_extended_property :artist
10
- sevendigital_extended_property :release
11
- sevendigital_extended_property :track
12
-
13
- end
14
-
1
+ module Sevendigital
2
+
3
+ class BasketItem < SevendigitalObject
4
+
5
+ attr_accessor :id
6
+
7
+ sevendigital_basic_property :type, :artist_name, :item_name, :price, :track_id, :release_id
8
+
9
+ sevendigital_extended_property :artist
10
+ sevendigital_extended_property :release
11
+ sevendigital_extended_property :track
12
+
13
+ end
14
+
15
15
  end
@@ -1,12 +1,12 @@
1
- module Sevendigital
2
-
3
- class Card < SevendigitalObject
4
-
5
- attr_accessor :id, :type, :last_4_digits, :card_holder_name, :expiry_date
6
-
7
- # sevendigital_basic_property
8
-
9
-
10
- end
11
-
1
+ module Sevendigital
2
+
3
+ class Card < SevendigitalObject
4
+
5
+ attr_accessor :id, :type, :last_4_digits, :card_holder_name, :expiry_date
6
+
7
+ # sevendigital_basic_property
8
+
9
+
10
+ end
11
+
12
12
  end
@@ -1,9 +1,9 @@
1
- module Sevendigital
2
-
3
- class ChartItem < SevendigitalObject
4
-
5
- attr_accessor :position, :change, :item
6
-
7
- end
8
-
9
- end
1
+ module Sevendigital
2
+
3
+ class ChartItem < SevendigitalObject
4
+
5
+ attr_accessor :position, :change, :item
6
+
7
+ end
8
+
9
+ end
@@ -1,7 +1,7 @@
1
- module Sevendigital
2
-
3
- class DownloadUrl
4
- attr_accessor :url, :format
5
- end
6
-
7
- end
1
+ module Sevendigital
2
+
3
+ class DownloadUrl
4
+ attr_accessor :url, :format
5
+ end
6
+
7
+ end
@@ -1,7 +1,7 @@
1
- module Sevendigital
2
-
3
- class Format
4
- attr_accessor :id, :file_format, :bit_rate, :drm_free
5
- end
6
-
7
- end
1
+ module Sevendigital
2
+
3
+ class Format
4
+ attr_accessor :id, :file_format, :bit_rate, :drm_free
5
+ end
6
+
7
+ end
@@ -1,7 +1,7 @@
1
- module Sevendigital
2
-
3
- class Label
4
- attr_accessor :id, :name
5
- end
6
-
7
- end
1
+ module Sevendigital
2
+
3
+ class Label
4
+ attr_accessor :id, :name
5
+ end
6
+
7
+ end
@@ -1,5 +1,5 @@
1
- module Sevendigital
2
- class Locker < SevendigitalObject
3
- attr_accessor :locker_releases
4
- end
1
+ module Sevendigital
2
+ class Locker < SevendigitalObject
3
+ attr_accessor :locker_releases
4
+ end
5
5
  end
@@ -1,9 +1,9 @@
1
- module Sevendigital
2
-
3
- class LockerRelease < SevendigitalObject
4
-
5
- attr_accessor :release, :locker_tracks
6
-
7
- end
8
-
9
- end
1
+ module Sevendigital
2
+
3
+ class LockerRelease < SevendigitalObject
4
+
5
+ attr_accessor :release, :locker_tracks
6
+
7
+ end
8
+
9
+ end
@@ -1,9 +1,9 @@
1
- module Sevendigital
2
-
3
- class LockerTrack < SevendigitalObject
4
-
5
- attr_accessor :track, :download_urls, :remaining_downloads, :purchase_date
6
-
7
- end
8
-
9
- end
1
+ module Sevendigital
2
+
3
+ class LockerTrack < SevendigitalObject
4
+
5
+ attr_accessor :track, :download_urls, :remaining_downloads, :purchase_date
6
+
7
+ end
8
+
9
+ end
@@ -1,9 +1,9 @@
1
- module Sevendigital
2
-
3
- class Price
4
-
5
- attr_accessor :currency_code, :currency_symbol, :value, :formatted_price, :rrp, :formatted_rrp, :on_sale
6
-
7
- end
8
-
9
- end
1
+ module Sevendigital
2
+
3
+ class Price
4
+
5
+ attr_accessor :currency_code, :currency_symbol, :value, :formatted_price, :rrp, :formatted_rrp, :on_sale
6
+
7
+ end
8
+
9
+ end
@@ -1,53 +1,53 @@
1
- module Sevendigital
2
-
3
- class Release < SevendigitalObject
4
-
5
- attr_accessor :id, :title
6
-
7
- sevendigital_basic_property :version, :type, :artist, :image, :url, :release_date,
8
- :added_date, :barcode, :year, :explicit_content, :formats, :label
9
-
10
- sevendigital_extended_property :tracks
11
- sevendigital_extended_property :recommendations
12
- sevendigital_extended_property :tags
13
-
14
- def get_details(options={})
15
- release_with_details = @api_client.release.get_details(@id, options)
16
- copy_basic_properties_from(release_with_details)
17
- @price = release_with_details.instance_variable_get("@price")
18
- release_with_details
19
- end
20
-
21
- def get_tracks(options={})
22
- @api_client.release.get_tracks(@id, options)
23
- end
24
-
25
- def get_recommendations(options={})
26
- @api_client.release.get_recommendations(@id, options)
27
- end
28
-
29
- def get_tags(options={})
30
- @api_client.release.get_tags(@id, options)
31
- end
32
-
33
- def demand_price(options={})
34
- get_details(options) if @price.nil? || @price.value.nil?
35
- end
36
-
37
- def price(options={})
38
- begin
39
- demand_price(options) if @api_client.configuration.lazy_load
40
- rescue
41
- puts "Error whilst lazyloading price - #{error.error_code} #{error.error_message}" if @api_client.verbose?
42
- raise error if !@api_client.configuration.ignorant_lazy_load
43
- end
44
- @price
45
- end
46
-
47
- def price=(value)
48
- @price = value
49
- end
50
-
51
- end
52
-
1
+ module Sevendigital
2
+
3
+ class Release < SevendigitalObject
4
+
5
+ attr_accessor :id, :title
6
+
7
+ sevendigital_basic_property :version, :type, :artist, :image, :url, :release_date,
8
+ :added_date, :barcode, :year, :explicit_content, :formats, :label
9
+
10
+ sevendigital_extended_property :tracks
11
+ sevendigital_extended_property :recommendations
12
+ sevendigital_extended_property :tags
13
+
14
+ def get_details(options={})
15
+ release_with_details = @api_client.release.get_details(@id, options)
16
+ copy_basic_properties_from(release_with_details)
17
+ @price = release_with_details.instance_variable_get("@price")
18
+ release_with_details
19
+ end
20
+
21
+ def get_tracks(options={})
22
+ @api_client.release.get_tracks(@id, options)
23
+ end
24
+
25
+ def get_recommendations(options={})
26
+ @api_client.release.get_recommendations(@id, options)
27
+ end
28
+
29
+ def get_tags(options={})
30
+ @api_client.release.get_tags(@id, options)
31
+ end
32
+
33
+ def demand_price(options={})
34
+ get_details(options) if @price.nil? || @price.value.nil?
35
+ end
36
+
37
+ def price(options={})
38
+ begin
39
+ demand_price(options) if @api_client.configuration.lazy_load
40
+ rescue
41
+ puts "Error whilst lazyloading price - #{error.error_code} #{error.error_message}" if @api_client.verbose?
42
+ raise error if !@api_client.configuration.ignorant_lazy_load
43
+ end
44
+ @price
45
+ end
46
+
47
+ def price=(value)
48
+ @price = value
49
+ end
50
+
51
+ end
52
+
53
53
  end
@@ -1,11 +1,11 @@
1
- module Sevendigital
2
- class SevendigitalError < StandardError;
3
- attr_accessor :error_code, :error_message
4
-
5
- def initialize(error_code = 10000, error_message=nil)
6
- @error_code = error_code
7
- @error_message = error_message
8
- end
9
-
10
- end
11
- end
1
+ module Sevendigital
2
+ class SevendigitalError < StandardError;
3
+ attr_accessor :error_code, :error_message
4
+
5
+ def initialize(error_code = 10000, error_message=nil)
6
+ @error_code = error_code
7
+ @error_message = error_message
8
+ end
9
+
10
+ end
11
+ end
@@ -1,57 +1,57 @@
1
- #@private
2
- class Class # :nodoc:
3
-
4
- def sevendigital_basic_property(*properties)
5
- @basic_properties ||= []
6
- properties.each do |property|
7
- @basic_properties << "@#{property}".to_sym
8
- sevendigital_extended_property property, :get_details
9
- end
10
- end
11
-
12
- def sevendigital_extended_property(accessor, get_method = nil)
13
-
14
- get_method ||= "get_#{accessor.to_s}".to_sym
15
- demand_method = "demand_#{accessor.to_s}".to_sym
16
-
17
- define_method(demand_method) do |*options|
18
- if instance_variable_get("@#{accessor}").nil? then
19
- value = send(get_method, *options)
20
- instance_variable_set("@#{accessor}", value) if get_method != :get_details
21
- end
22
- end
23
-
24
- define_method("#{accessor}") do |*options|
25
- begin
26
- send(demand_method, *options) if instance_variable_get("@#{accessor}").nil? && @api_client.configuration.lazy_load
27
- rescue Sevendigital::SevendigitalError => error
28
- puts "Error whilst lazyloading #{accessor} - #{error.error_code} #{error.error_message}" if @api_client.verbose?
29
- raise error if !@api_client.configuration.ignorant_lazy_load
30
- end
31
- instance_variable_get("@#{accessor}")
32
- end
33
-
34
- define_method("#{accessor}=") do |val|
35
- instance_variable_set("@#{accessor}",val)
36
- end
37
- end
38
- end
39
-
40
- module Sevendigital
41
-
42
- class SevendigitalObject
43
-
44
- def initialize(api_client)
45
- @api_client = api_client
46
- end
47
-
48
- def copy_basic_properties_from(other_object)
49
- self.class.instance_variable_get(:@basic_properties).each do |property|
50
- instance_variable_set(property, other_object.instance_variable_get(property))
51
- end
52
- end
53
-
54
- end
55
-
56
- end
57
-
1
+ #@private
2
+ class Class # :nodoc:
3
+
4
+ def sevendigital_basic_property(*properties)
5
+ @basic_properties ||= []
6
+ properties.each do |property|
7
+ @basic_properties << "@#{property}".to_sym
8
+ sevendigital_extended_property property, :get_details
9
+ end
10
+ end
11
+
12
+ def sevendigital_extended_property(accessor, get_method = nil)
13
+
14
+ get_method ||= "get_#{accessor.to_s}".to_sym
15
+ demand_method = "demand_#{accessor.to_s}".to_sym
16
+
17
+ define_method(demand_method) do |*options|
18
+ if instance_variable_get("@#{accessor}").nil? then
19
+ value = send(get_method, *options)
20
+ instance_variable_set("@#{accessor}", value) if get_method != :get_details
21
+ end
22
+ end
23
+
24
+ define_method("#{accessor}") do |*options|
25
+ begin
26
+ send(demand_method, *options) if instance_variable_get("@#{accessor}").nil? && @api_client.configuration.lazy_load
27
+ rescue Sevendigital::SevendigitalError => error
28
+ puts "Error whilst lazyloading #{accessor} - #{error.error_code} #{error.error_message}" if @api_client.verbose?
29
+ raise error if !@api_client.configuration.ignorant_lazy_load
30
+ end
31
+ instance_variable_get("@#{accessor}")
32
+ end
33
+
34
+ define_method("#{accessor}=") do |val|
35
+ instance_variable_set("@#{accessor}",val)
36
+ end
37
+ end
38
+ end
39
+
40
+ module Sevendigital
41
+
42
+ class SevendigitalObject
43
+
44
+ def initialize(api_client)
45
+ @api_client = api_client
46
+ end
47
+
48
+ def copy_basic_properties_from(other_object)
49
+ self.class.instance_variable_get(:@basic_properties).each do |property|
50
+ instance_variable_set(property, other_object.instance_variable_get(property))
51
+ end
52
+ end
53
+
54
+ end
55
+
56
+ end
57
+