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.
- data/README.rdoc +136 -136
- data/lib/sevendigital.rb +53 -53
- data/lib/sevendigital/api_operator.rb +130 -130
- data/lib/sevendigital/api_operator_cached.rb +41 -41
- data/lib/sevendigital/api_request.rb +65 -65
- data/lib/sevendigital/client.rb +113 -113
- data/lib/sevendigital/client_configuration.rb +86 -86
- data/lib/sevendigital/client_digestors.rb +107 -107
- data/lib/sevendigital/client_managers.rb +47 -47
- data/lib/sevendigital/digestion_tract/api_response_digestor.rb +58 -58
- data/lib/sevendigital/digestion_tract/artist_digestor.rb +32 -32
- data/lib/sevendigital/digestion_tract/basket_digestor.rb +19 -19
- data/lib/sevendigital/digestion_tract/basket_item_digestor.rb +26 -26
- data/lib/sevendigital/digestion_tract/chart_item_digestor.rb +28 -28
- data/lib/sevendigital/digestion_tract/digestor.rb +71 -71
- data/lib/sevendigital/digestion_tract/download_url_digestor.rb +20 -20
- data/lib/sevendigital/digestion_tract/format_digestor.rb +22 -22
- data/lib/sevendigital/digestion_tract/label_digestor.rb +20 -20
- data/lib/sevendigital/digestion_tract/locker_digestor.rb +18 -18
- data/lib/sevendigital/digestion_tract/locker_release_digestor.rb +20 -20
- data/lib/sevendigital/digestion_tract/locker_track_digestor.rb +22 -22
- data/lib/sevendigital/digestion_tract/oauth_access_token_digestor.rb +14 -14
- data/lib/sevendigital/digestion_tract/oauth_request_token_digestor.rb +14 -14
- data/lib/sevendigital/digestion_tract/pager_digestor.rb +24 -24
- data/lib/sevendigital/digestion_tract/price_digestor.rb +25 -25
- data/lib/sevendigital/digestion_tract/release_digestor.rb +53 -53
- data/lib/sevendigital/digestion_tract/tag_digestor.rb +22 -22
- data/lib/sevendigital/digestion_tract/track_digestor.rb +38 -38
- data/lib/sevendigital/digestion_tract/user_card_digestor.rb +23 -23
- data/lib/sevendigital/digestion_tract/user_digestor.rb +20 -20
- data/lib/sevendigital/management/artist_manager.rb +99 -99
- data/lib/sevendigital/management/basket_manager.rb +29 -29
- data/lib/sevendigital/management/manager.rb +12 -12
- data/lib/sevendigital/management/oauth_manager.rb +23 -23
- data/lib/sevendigital/management/release_manager.rb +56 -56
- data/lib/sevendigital/management/tag_manager.rb +10 -10
- data/lib/sevendigital/management/track_manager.rb +28 -28
- data/lib/sevendigital/management/user_card_manager.rb +26 -26
- data/lib/sevendigital/management/user_manager.rb +71 -71
- data/lib/sevendigital/model/api_response.rb +25 -25
- data/lib/sevendigital/model/artist.rb +94 -94
- data/lib/sevendigital/model/basket.rb +15 -15
- data/lib/sevendigital/model/basket_item.rb +14 -14
- data/lib/sevendigital/model/card.rb +11 -11
- data/lib/sevendigital/model/chart_item.rb +9 -9
- data/lib/sevendigital/model/download_url.rb +7 -7
- data/lib/sevendigital/model/format.rb +7 -7
- data/lib/sevendigital/model/label.rb +7 -7
- data/lib/sevendigital/model/locker.rb +4 -4
- data/lib/sevendigital/model/locker_release.rb +9 -9
- data/lib/sevendigital/model/locker_track.rb +9 -9
- data/lib/sevendigital/model/price.rb +9 -9
- data/lib/sevendigital/model/release.rb +52 -52
- data/lib/sevendigital/model/sevendigital_error.rb +11 -11
- data/lib/sevendigital/model/sevendigital_object.rb +57 -57
- data/lib/sevendigital/model/tag.rb +7 -7
- data/lib/sevendigital/model/track.rb +83 -83
- data/lib/sevendigital/model/user.rb +63 -63
- data/lib/sevendigital/pager.rb +23 -23
- data/lib/sevendigital/peachy_patchy.rb +9 -9
- data/lib/sevendigital/proxy_police.rb +27 -27
- data/lib/sevendigital/version.rb +5 -5
- data/spec/api_operator_cached_spec.rb +178 -178
- data/spec/api_operator_spec.rb +336 -336
- data/spec/api_request_spec.rb +31 -31
- data/spec/client_configuration_spec.rb +79 -74
- data/spec/client_spec.rb +162 -162
- data/spec/coverage/assets/0.3.9/app.js +66 -0
- data/spec/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
- data/spec/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/coverage/assets/0.3.9/favicon.png +0 -0
- data/spec/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
- data/spec/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
- data/spec/coverage/assets/0.3.9/jquery.timeago.js +141 -0
- data/spec/coverage/assets/0.3.9/jquery.url.js +174 -0
- data/spec/coverage/assets/0.3.9/loading.gif +0 -0
- data/spec/coverage/assets/0.3.9/magnify.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/coverage/assets/0.3.9/stylesheet.css +341 -0
- data/spec/coverage/index.html +47481 -0
- data/spec/coverage/resultset.yml +3556 -0
- data/spec/data/config/sevendigital.yml +5 -5
- data/spec/data/configuration_env_override.yml +5 -5
- data/spec/data/configuration_override.yml +1 -1
- data/spec/digestion_tract/api_response_digestor_spec.rb +92 -92
- data/spec/digestion_tract/artist_digestor_spec.rb +81 -81
- data/spec/digestion_tract/basket_digestor_spec.rb +31 -31
- data/spec/digestion_tract/basket_item_digestor_spec.rb +58 -58
- data/spec/digestion_tract/chart_digestor_spec.rb +52 -52
- data/spec/digestion_tract/download_url_digestor_spec.rb +40 -40
- data/spec/digestion_tract/format_digestor_spec.rb +38 -38
- data/spec/digestion_tract/label_digestor_spec.rb +33 -33
- data/spec/digestion_tract/locker_digestor_spec.rb +30 -30
- data/spec/digestion_tract/locker_release_digestor_spec.rb +70 -70
- data/spec/digestion_tract/locker_track_digestor_spec.rb +56 -56
- data/spec/digestion_tract/oauth_access_token_digestor_spec.rb +34 -34
- data/spec/digestion_tract/oauth_request_token_digestor_spec.rb +34 -34
- data/spec/digestion_tract/pager_digestor_spec.rb +50 -50
- data/spec/digestion_tract/price_digestor_spec.rb +73 -73
- data/spec/digestion_tract/release_digestor_spec.rb +101 -101
- data/spec/digestion_tract/tag_digestor_spec.rb +46 -46
- data/spec/digestion_tract/track_digestor_spec.rb +104 -104
- data/spec/digestion_tract/user_card_digestor_spec.rb +58 -58
- data/spec/digestion_tract/user_digestor_spec.rb +44 -44
- data/spec/management/artist_manager_spec.rb +151 -151
- data/spec/management/basket_manager_spec.rb +77 -77
- data/spec/management/oauth_manager_spec.rb +72 -72
- data/spec/management/release_manager_spec.rb +200 -200
- data/spec/management/tag_manager_spec.rb +34 -34
- data/spec/management/track_manager_spec.rb +107 -107
- data/spec/management/user_card_manager_spec.rb +78 -78
- data/spec/management/user_manager_spec.rb +202 -202
- data/spec/model/api_response_spec.rb +48 -48
- data/spec/model/artist_spec.rb +154 -154
- data/spec/model/basket_spec.rb +62 -62
- data/spec/model/coverage/assets/0.3.9/app.js +66 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/blank.gif +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_close.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_loading.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_nav_left.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_nav_right.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_e.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_n.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_ne.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_nw.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_s.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_se.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_sw.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_shadow_w.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_left.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_main.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_over.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancy_title_right.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancybox-x.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancybox-y.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/fancybox.png +0 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.css +363 -0
- data/spec/model/coverage/assets/0.3.9/fancybox/jquery.fancybox-1.3.1.pack.js +44 -0
- data/spec/model/coverage/assets/0.3.9/favicon.png +0 -0
- data/spec/model/coverage/assets/0.3.9/jquery-1.4.2.min.js +155 -0
- data/spec/model/coverage/assets/0.3.9/jquery.dataTables.min.js +152 -0
- data/spec/model/coverage/assets/0.3.9/jquery.timeago.js +141 -0
- data/spec/model/coverage/assets/0.3.9/jquery.url.js +174 -0
- data/spec/model/coverage/assets/0.3.9/loading.gif +0 -0
- data/spec/model/coverage/assets/0.3.9/magnify.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_0_aaaaaa_40x100.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_flat_75_ffffff_40x100.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_55_fbf9ee_1x400.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_65_ffffff_1x400.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_dadada_1x400.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_75_e6e6e6_1x400.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_glass_95_fef1ec_1x400.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-bg_highlight-soft_75_cccccc_1x100.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_222222_256x240.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_2e83ff_256x240.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_454545_256x240.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_888888_256x240.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/images/ui-icons_cd0a0a_256x240.png +0 -0
- data/spec/model/coverage/assets/0.3.9/smoothness/jquery-ui-1.8.4.custom.css +295 -0
- data/spec/model/coverage/assets/0.3.9/stylesheet.css +341 -0
- data/spec/model/coverage/index.html +8637 -0
- data/spec/model/coverage/resultset.yml +642 -0
- data/spec/model/release_spec.rb +122 -122
- data/spec/model/sevendigital_object_spec.rb +73 -73
- data/spec/model/track_spec.rb +144 -144
- data/spec/model/user_spec.rb +160 -160
- data/spec/pager_spec.rb +7 -7
- data/spec/peachy_spec_helper_patch.rb +6 -6
- data/spec/proxy_police_spec.rb +69 -69
- data/spec/sevendigital_spec.rb +51 -70
- data/spec/sevendigital_spec.yml +4 -4
- data/spec/spec_helper.rb +64 -64
- data/spec/test-xml/methods/artist/browse.xml +21 -21
- data/spec/test-xml/methods/artist/byTag/top.xml +50 -50
- data/spec/test-xml/methods/artist/chart.xml +30 -30
- data/spec/test-xml/methods/artist/details.xml +9 -9
- data/spec/test-xml/methods/artist/releases.xml +544 -544
- data/spec/test-xml/methods/artist/search.xml +18 -18
- data/spec/test-xml/methods/artist/similar.xml +39 -39
- data/spec/test-xml/methods/artist/tags.xml +11 -11
- data/spec/test-xml/methods/artist/toptracks.xml +279 -279
- data/spec/test-xml/methods/basket/additem.xml +23 -23
- data/spec/test-xml/methods/basket/create.xml +10 -10
- data/spec/test-xml/methods/basket/index.xml +23 -23
- data/spec/test-xml/methods/basket/removeitem.xml +10 -10
- data/spec/test-xml/methods/oauth/accesstoken.xml +5 -5
- data/spec/test-xml/methods/oauth/requesttoken.xml +5 -5
- data/spec/test-xml/methods/release/bydate.xml +173 -173
- data/spec/test-xml/methods/release/bytag/top.xml +150 -150
- data/spec/test-xml/methods/release/chart.xml +181 -181
- data/spec/test-xml/methods/release/details.xml +48 -48
- data/spec/test-xml/methods/release/recommend.xml +89 -89
- data/spec/test-xml/methods/release/search.xml +194 -194
- data/spec/test-xml/methods/release/tags.xml +27 -27
- data/spec/test-xml/methods/release/tracks.xml +28 -28
- data/spec/test-xml/methods/tag/index.xml +16 -16
- data/spec/test-xml/methods/track/chart.xml +149 -149
- data/spec/test-xml/methods/track/details.xml +30 -30
- data/spec/test-xml/methods/track/search.xml +159 -159
- data/spec/test-xml/methods/user/locker.xml +49 -49
- data/spec/test-xml/methods/user/payment/card/add.xml +7 -7
- data/spec/test-xml/methods/user/payment/card/index.xml +7 -7
- data/spec/test-xml/methods/user/purchase/basket.xml +49 -0
- data/spec/test-xml/methods/user/purchase/item.xml +48 -48
- data/spec/test-xml/methods/user/signUp.xml +5 -5
- data/spec/test-xml/objects/artist.xml +6 -6
- data/spec/test-xml/objects/artist_chart_item.xml +7 -7
- data/spec/test-xml/objects/artist_list.xml +22 -22
- data/spec/test-xml/objects/artist_list_empty.xml +4 -4
- data/spec/test-xml/objects/basket.xml +21 -21
- data/spec/test-xml/objects/basket_item.xml +11 -11
- data/spec/test-xml/objects/basket_item_list.xml +25 -25
- data/spec/test-xml/objects/basket_item_list_empty.xml +1 -1
- data/spec/test-xml/objects/download_url.xml +7 -7
- data/spec/test-xml/objects/locker.xml +47 -47
- data/spec/test-xml/objects/locker_release.xml +40 -40
- data/spec/test-xml/objects/locker_release_list.xml +87 -87
- data/spec/test-xml/objects/locker_release_list_empty.xml +4 -4
- data/spec/test-xml/objects/locker_release_one_item_list.xml +43 -43
- data/spec/test-xml/objects/locker_track.xml +25 -25
- data/spec/test-xml/objects/locker_track_list.xml +26 -26
- data/spec/test-xml/objects/locker_track_list_empty.xml +2 -2
- data/spec/test-xml/objects/oauth_access_token.xml +3 -3
- data/spec/test-xml/objects/oauth_request_token.xml +3 -3
- data/spec/test-xml/objects/price.xml +7 -7
- data/spec/test-xml/objects/release.xml +40 -40
- data/spec/test-xml/objects/release_chart_item.xml +39 -39
- data/spec/test-xml/objects/release_list.xml +18 -18
- data/spec/test-xml/objects/release_list_empty.xml +4 -4
- data/spec/test-xml/objects/response.xml +38 -38
- data/spec/test-xml/objects/tag.xml +4 -4
- data/spec/test-xml/objects/track.xml +33 -33
- data/spec/test-xml/objects/track_chart_item.xml +27 -27
- data/spec/test-xml/objects/user.xml +4 -4
- data/spec/test-xml/objects/user_payment_card.xml +5 -5
- 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
|