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,20 +1,20 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class LockerReleaseDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :locker_release end
7
- def default_list_element_name; :locker_releases end
8
-
9
- def from_proxy(locker_release_proxy)
10
- make_sure_not_eating_nil(locker_release_proxy)
11
- locker_release = Sevendigital::LockerRelease.new(@api_client)
12
- locker_release.release = @api_client.release_digestor.from_xml(locker_release_proxy.release)
13
- locker_release.locker_tracks = @api_client.locker_track_digestor.list_from_xml(locker_release_proxy.locker_tracks, :locker_tracks)
14
-
15
- return locker_release
16
- end
17
-
18
- end
19
-
20
- end
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class LockerReleaseDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :locker_release end
7
+ def default_list_element_name; :locker_releases end
8
+
9
+ def from_proxy(locker_release_proxy)
10
+ make_sure_not_eating_nil(locker_release_proxy)
11
+ locker_release = Sevendigital::LockerRelease.new(@api_client)
12
+ locker_release.release = @api_client.release_digestor.from_xml(locker_release_proxy.release)
13
+ locker_release.locker_tracks = @api_client.locker_track_digestor.list_from_xml(locker_release_proxy.locker_tracks, :locker_tracks)
14
+
15
+ return locker_release
16
+ end
17
+
18
+ end
19
+
20
+ end
@@ -1,22 +1,22 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class LockerTrackDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :locker_track end
7
- def default_list_element_name; :locker_tracks end
8
-
9
- def from_proxy(locker_track_proxy)
10
- make_sure_not_eating_nil(locker_track_proxy)
11
- locker_track = Sevendigital::LockerTrack.new(@api_client)
12
- locker_track.track = @api_client.track_digestor.from_xml(locker_track_proxy.track)
13
- locker_track.remaining_downloads = locker_track_proxy.remaining_downloads.value.to_i
14
- locker_track.purchase_date = DateTime.parse(locker_track_proxy.purchase_date.value.to_s)
15
- locker_track.download_urls = @api_client.download_url_digestor.list_from_xml(locker_track_proxy.download_urls)
16
-
17
- return locker_track
18
- end
19
-
20
- end
21
-
22
- end
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class LockerTrackDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :locker_track end
7
+ def default_list_element_name; :locker_tracks end
8
+
9
+ def from_proxy(locker_track_proxy)
10
+ make_sure_not_eating_nil(locker_track_proxy)
11
+ locker_track = Sevendigital::LockerTrack.new(@api_client)
12
+ locker_track.track = @api_client.track_digestor.from_xml(locker_track_proxy.track)
13
+ locker_track.remaining_downloads = locker_track_proxy.remaining_downloads.value.to_i
14
+ locker_track.purchase_date = DateTime.parse(locker_track_proxy.purchase_date.value.to_s)
15
+ locker_track.download_urls = @api_client.download_url_digestor.list_from_xml(locker_track_proxy.download_urls)
16
+
17
+ return locker_track
18
+ end
19
+
20
+ end
21
+
22
+ end
@@ -1,15 +1,15 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class OAuthAccessTokenDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :oauth_access_token end
7
-
8
- def from_proxy(token_proxy)
9
- make_sure_not_eating_nil(token_proxy)
10
- OAuth::AccessToken.new(@api_client.oauth_consumer, token_proxy.oauth_token.value, token_proxy.oauth_token_secret.value)
11
- end
12
-
13
- end
14
-
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class OAuthAccessTokenDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :oauth_access_token end
7
+
8
+ def from_proxy(token_proxy)
9
+ make_sure_not_eating_nil(token_proxy)
10
+ OAuth::AccessToken.new(@api_client.oauth_consumer, token_proxy.oauth_token.value, token_proxy.oauth_token_secret.value)
11
+ end
12
+
13
+ end
14
+
15
15
  end
@@ -1,15 +1,15 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class OAuthRequestTokenDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :oauth_request_token end
7
-
8
- def from_proxy(token_proxy)
9
- make_sure_not_eating_nil(token_proxy)
10
- OAuth::RequestToken.new(@api_client.oauth_consumer, token_proxy.oauth_token.value, token_proxy.oauth_token_secret.value)
11
- end
12
-
13
- end
14
-
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class OAuthRequestTokenDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :oauth_request_token end
7
+
8
+ def from_proxy(token_proxy)
9
+ make_sure_not_eating_nil(token_proxy)
10
+ OAuth::RequestToken.new(@api_client.oauth_consumer, token_proxy.oauth_token.value, token_proxy.oauth_token_secret.value)
11
+ end
12
+
13
+ end
14
+
15
15
  end
@@ -1,24 +1,24 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class PagerDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :results end
7
- def default_list_element_name; nil end
8
-
9
- def from_proxy(pager_proxy)
10
- make_sure_not_eating_nil(pager_proxy)
11
- return nil unless paging_info_available?(pager_proxy)
12
- pager = Pager.new
13
- pager.page = pager_proxy.page.value.to_i
14
- pager.page_size = pager_proxy.page_size.value.to_i
15
- pager.total_items = pager_proxy.total_items.value.to_i
16
- return pager
17
- end
18
-
19
- def paging_info_available?(pager_proxy)
20
- pager_proxy.page && pager_proxy.page_size && pager_proxy.total_items
21
- end
22
-
23
- end
24
- end
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class PagerDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :results end
7
+ def default_list_element_name; nil end
8
+
9
+ def from_proxy(pager_proxy)
10
+ make_sure_not_eating_nil(pager_proxy)
11
+ return nil unless paging_info_available?(pager_proxy)
12
+ pager = Pager.new
13
+ pager.page = pager_proxy.page.value.to_i
14
+ pager.page_size = pager_proxy.page_size.value.to_i
15
+ pager.total_items = pager_proxy.total_items.value.to_i
16
+ return pager
17
+ end
18
+
19
+ def paging_info_available?(pager_proxy)
20
+ pager_proxy.page && pager_proxy.page_size && pager_proxy.total_items
21
+ end
22
+
23
+ end
24
+ end
@@ -1,26 +1,26 @@
1
- require 'rational'
2
- module Sevendigital
3
-
4
- #@private
5
- class PriceDigestor < Digestor # :nodoc:
6
-
7
- def default_element_name; :price end
8
- def default_list_element_name; nil end
9
-
10
- def from_proxy(price_proxy)
11
- make_sure_not_eating_nil(price_proxy)
12
- price = Sevendigital::Price.new()
13
- price.currency_code = price_proxy.currency.code.to_s.upcase.to_sym
14
- price.currency_symbol= price_proxy.currency.value
15
- price.value= price_proxy.value.value.to_f if !price_proxy.value.value.to_s.empty?
16
- price.formatted_price= price_proxy.formatted_price.value
17
- price.rrp= price_proxy.rrp.value.to_f if price_proxy.rrp
18
- price.formatted_rrp= price_proxy.formatted_rrp.value if price_proxy.formatted_rrp
19
- price.on_sale = price_proxy.on_sale.value.to_s.downcase == "true" if price_proxy.on_sale
20
-
21
- return price
22
- end
23
-
24
- end
25
-
1
+ require 'rational'
2
+ module Sevendigital
3
+
4
+ #@private
5
+ class PriceDigestor < Digestor # :nodoc:
6
+
7
+ def default_element_name; :price end
8
+ def default_list_element_name; nil end
9
+
10
+ def from_proxy(price_proxy)
11
+ make_sure_not_eating_nil(price_proxy)
12
+ price = Sevendigital::Price.new()
13
+ price.currency_code = price_proxy.currency.code.to_s.upcase.to_sym
14
+ price.currency_symbol= price_proxy.currency.value
15
+ price.value= price_proxy.value.value.to_f if !price_proxy.value.value.to_s.empty?
16
+ price.formatted_price= price_proxy.formatted_price.value
17
+ price.rrp= price_proxy.rrp.value.to_f if price_proxy.rrp
18
+ price.formatted_rrp= price_proxy.formatted_rrp.value if price_proxy.formatted_rrp
19
+ price.on_sale = price_proxy.on_sale.value.to_s.downcase == "true" if price_proxy.on_sale
20
+
21
+ return price
22
+ end
23
+
24
+ end
25
+
26
26
  end
@@ -1,53 +1,53 @@
1
- module Sevendigital
2
-
3
- require 'date'
4
-
5
- #@private
6
- class ReleaseDigestor < Digestor # :nodoc:
7
-
8
- def default_element_name; :release end
9
- def default_list_element_name; :releases end
10
-
11
- def from_proxy(release_proxy)
12
- make_sure_not_eating_nil(release_proxy)
13
- release = Release.new(@api_client)
14
-
15
- populate_required_properties(release, release_proxy)
16
- populate_optional_properties(release, release_proxy)
17
- populate_formats(release, release_proxy)
18
-
19
- return release
20
- end
21
-
22
- def populate_required_properties(release, release_proxy)
23
- release.id = release_proxy.id.to_i
24
- release.title = release_proxy.title.value.to_s
25
- release.artist = @api_client.artist_digestor.from_proxy(release_proxy.artist)
26
- end
27
-
28
- def populate_optional_properties(release, release_proxy)
29
- release.version = release_proxy.version.value.to_s if release_proxy.version
30
- release.type = release_proxy.type.value.downcase.to_sym if value_present?(release_proxy.type)
31
- release.barcode = release_proxy.barcode.value.to_s if value_present?(release_proxy.barcode)
32
- release.year = release_proxy.year.value.to_i if value_present?(release_proxy.year)
33
- release.explicit_content = release_proxy.explicit_content.value.to_s.downcase == "true" if value_present?(release_proxy.explicit_content)
34
- release.release_date = DateTime.parse(release_proxy.release_date.value.to_s) if value_present?(release_proxy.release_date)
35
- release.added_date = DateTime.parse(release_proxy.added_date.value.to_s) if value_present?(release_proxy.added_date)
36
- release.label = @api_client.label_digestor.from_proxy(release_proxy.label) if content_present?(release_proxy.label)
37
- release.image = release_proxy.image.value.to_s if value_present?(release_proxy.image)
38
- release.url = release_proxy.url.value.to_s if value_present?(release_proxy.url)
39
- release.price = @api_client.price_digestor.from_proxy(release_proxy.price) if content_present?(release_proxy.price)
40
- end
41
-
42
- def populate_formats(release, release_proxy)
43
- if release_proxy.formats && release_proxy.formats.format then
44
- release.formats = Array.new
45
- release_proxy.formats.format.each do |format|
46
- release.formats << @api_client.format_digestor.from_proxy(format)
47
- end
48
- end
49
- end
50
-
51
- end
52
-
53
- end
1
+ module Sevendigital
2
+
3
+ require 'date'
4
+
5
+ #@private
6
+ class ReleaseDigestor < Digestor # :nodoc:
7
+
8
+ def default_element_name; :release end
9
+ def default_list_element_name; :releases end
10
+
11
+ def from_proxy(release_proxy)
12
+ make_sure_not_eating_nil(release_proxy)
13
+ release = Release.new(@api_client)
14
+
15
+ populate_required_properties(release, release_proxy)
16
+ populate_optional_properties(release, release_proxy)
17
+ populate_formats(release, release_proxy)
18
+
19
+ return release
20
+ end
21
+
22
+ def populate_required_properties(release, release_proxy)
23
+ release.id = release_proxy.id.to_i
24
+ release.title = release_proxy.title.value.to_s
25
+ release.artist = @api_client.artist_digestor.from_proxy(release_proxy.artist)
26
+ end
27
+
28
+ def populate_optional_properties(release, release_proxy)
29
+ release.version = release_proxy.version.value.to_s if release_proxy.version
30
+ release.type = release_proxy.type.value.downcase.to_sym if value_present?(release_proxy.type)
31
+ release.barcode = release_proxy.barcode.value.to_s if value_present?(release_proxy.barcode)
32
+ release.year = release_proxy.year.value.to_i if value_present?(release_proxy.year)
33
+ release.explicit_content = release_proxy.explicit_content.value.to_s.downcase == "true" if value_present?(release_proxy.explicit_content)
34
+ release.release_date = DateTime.parse(release_proxy.release_date.value.to_s) if value_present?(release_proxy.release_date)
35
+ release.added_date = DateTime.parse(release_proxy.added_date.value.to_s) if value_present?(release_proxy.added_date)
36
+ release.label = @api_client.label_digestor.from_proxy(release_proxy.label) if content_present?(release_proxy.label)
37
+ release.image = release_proxy.image.value.to_s if value_present?(release_proxy.image)
38
+ release.url = release_proxy.url.value.to_s if value_present?(release_proxy.url)
39
+ release.price = @api_client.price_digestor.from_proxy(release_proxy.price) if content_present?(release_proxy.price)
40
+ end
41
+
42
+ def populate_formats(release, release_proxy)
43
+ if release_proxy.formats && release_proxy.formats.format then
44
+ release.formats = Array.new
45
+ release_proxy.formats.format.each do |format|
46
+ release.formats << @api_client.format_digestor.from_proxy(format)
47
+ end
48
+ end
49
+ end
50
+
51
+ end
52
+
53
+ end
@@ -1,23 +1,23 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class TagDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :tag end
7
- def default_list_element_name; :tags end
8
-
9
- def from_proxy(tag_proxy)
10
- make_sure_not_eating_nil(tag_proxy)
11
-
12
- tag = Tag.new()
13
- tag.id = tag_proxy.id.to_s
14
- tag.text = tag_proxy.text.value.to_s
15
- tag.url = tag_proxy.url.value.to_s if value_present?(tag_proxy.url)
16
- tag.count = tag_proxy.count_.value.to_i if value_present?(tag_proxy.count_)
17
-
18
- return tag
19
- end
20
-
21
- end
22
-
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class TagDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :tag end
7
+ def default_list_element_name; :tags end
8
+
9
+ def from_proxy(tag_proxy)
10
+ make_sure_not_eating_nil(tag_proxy)
11
+
12
+ tag = Tag.new()
13
+ tag.id = tag_proxy.id.to_s
14
+ tag.text = tag_proxy.text.value.to_s
15
+ tag.url = tag_proxy.url.value.to_s if value_present?(tag_proxy.url)
16
+ tag.count = tag_proxy.count_.value.to_i if value_present?(tag_proxy.count_)
17
+
18
+ return tag
19
+ end
20
+
21
+ end
22
+
23
23
  end
@@ -1,38 +1,38 @@
1
- module Sevendigital
2
-
3
- #@private
4
- class TrackDigestor < Digestor # :nodoc:
5
-
6
- def default_element_name; :track end
7
- def default_list_element_name; :tracks end
8
-
9
-
10
- def from_proxy(track_proxy)
11
- make_sure_not_eating_nil (track_proxy)
12
-
13
- track = Track.new(@api_client)
14
- populate_required_properties(track, track_proxy)
15
- populate_optional_properties(track, track_proxy)
16
-
17
- return track
18
- end
19
-
20
- def populate_required_properties(track, track_proxy)
21
- track.id = track_proxy.id.to_i
22
- track.title = track_proxy.title.value.to_s
23
- track.artist = @api_client.artist_digestor.from_proxy(track_proxy.artist)
24
- end
25
-
26
- def populate_optional_properties(track, track_proxy)
27
- track.version = track_proxy.version.value.to_s if track_proxy.version
28
- track.track_number = track_proxy.track_number.value.to_i if track_proxy.track_number
29
- track.duration = track_proxy.duration.value.to_i if track_proxy.duration
30
- track.release = @api_client.release_digestor.from_proxy(track_proxy.release) if track_proxy.release
31
- track.explicit_content = track_proxy.explicit_content.value.to_s.downcase == "true" if track_proxy.explicit_content
32
- track.isrc = track_proxy.isrc.value.to_s if track_proxy.isrc
33
- track.image = track_proxy.image.value.to_s if track_proxy.image
34
- track.url = track_proxy.url.value.to_s if track_proxy.url
35
- track.price = @api_client.price_digestor.from_proxy(track_proxy.price) if track_proxy.price
36
- end
37
- end
38
- end
1
+ module Sevendigital
2
+
3
+ #@private
4
+ class TrackDigestor < Digestor # :nodoc:
5
+
6
+ def default_element_name; :track end
7
+ def default_list_element_name; :tracks end
8
+
9
+
10
+ def from_proxy(track_proxy)
11
+ make_sure_not_eating_nil (track_proxy)
12
+
13
+ track = Track.new(@api_client)
14
+ populate_required_properties(track, track_proxy)
15
+ populate_optional_properties(track, track_proxy)
16
+
17
+ return track
18
+ end
19
+
20
+ def populate_required_properties(track, track_proxy)
21
+ track.id = track_proxy.id.to_i
22
+ track.title = track_proxy.title.value.to_s
23
+ track.artist = @api_client.artist_digestor.from_proxy(track_proxy.artist)
24
+ end
25
+
26
+ def populate_optional_properties(track, track_proxy)
27
+ track.version = track_proxy.version.value.to_s if track_proxy.version
28
+ track.track_number = track_proxy.track_number.value.to_i if track_proxy.track_number
29
+ track.duration = track_proxy.duration.value.to_i if track_proxy.duration
30
+ track.release = @api_client.release_digestor.from_proxy(track_proxy.release) if track_proxy.release
31
+ track.explicit_content = track_proxy.explicit_content.value.to_s.downcase == "true" if track_proxy.explicit_content
32
+ track.isrc = track_proxy.isrc.value.to_s if track_proxy.isrc
33
+ track.image = track_proxy.image.value.to_s if track_proxy.image
34
+ track.url = track_proxy.url.value.to_s if track_proxy.url
35
+ track.price = @api_client.price_digestor.from_proxy(track_proxy.price) if track_proxy.price
36
+ end
37
+ end
38
+ end