7digital 0.0.1 → 0.0.2
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 +9 -7
- data/lib/sevendigital.rb +54 -53
- data/lib/sevendigital/api_operator.rb +33 -30
- data/lib/sevendigital/api_operator_cached.rb +23 -23
- data/lib/sevendigital/api_request.rb +23 -23
- data/lib/sevendigital/client.rb +136 -124
- data/lib/sevendigital/default_configuration.yml +2 -2
- data/lib/sevendigital/digestion_tract/api_response_digestor.rb +52 -52
- data/lib/sevendigital/digestion_tract/artist_digestor.rb +31 -31
- data/lib/sevendigital/digestion_tract/chart_item_digestor.rb +27 -27
- data/lib/sevendigital/digestion_tract/digestor.rb +66 -66
- data/lib/sevendigital/digestion_tract/format_digestor.rb +21 -21
- data/lib/sevendigital/digestion_tract/label_digestor.rb +19 -19
- data/lib/sevendigital/digestion_tract/pager_digestor.rb +23 -23
- data/lib/sevendigital/digestion_tract/price_digestor.rb +24 -24
- data/lib/sevendigital/digestion_tract/release_digestor.rb +52 -52
- data/lib/sevendigital/digestion_tract/track_digestor.rb +37 -37
- data/lib/sevendigital/management/artist_manager.rb +45 -39
- data/lib/sevendigital/management/manager.rb +11 -11
- data/lib/sevendigital/management/release_manager.rb +57 -50
- data/lib/sevendigital/management/track_manager.rb +28 -17
- data/lib/sevendigital/model/api_response.rb +24 -12
- data/lib/sevendigital/model/artist.rb +46 -36
- data/lib/sevendigital/model/chart_item.rb +9 -9
- data/lib/sevendigital/model/format.rb +9 -9
- data/lib/sevendigital/model/label.rb +9 -9
- data/lib/sevendigital/model/price.rb +11 -11
- data/lib/sevendigital/model/release.rb +33 -33
- data/lib/sevendigital/model/sevendigital_error.rb +3 -3
- data/lib/sevendigital/model/sevendigital_object.rb +51 -51
- data/lib/sevendigital/model/track.rb +28 -7
- data/lib/sevendigital/pager.rb +16 -16
- data/lib/sevendigital/peachy_patch.rb +19 -0
- data/lib/sevendigital/proxy_police.rb +23 -23
- data/spec/api_operator_cached_spec.rb +47 -46
- data/spec/api_operator_spec.rb +114 -107
- data/spec/api_request_spec.rb +26 -27
- data/spec/client_spec.rb +75 -45
- data/spec/data/config/sevendigital.yml +5 -5
- data/spec/data/configuration_env_override.yml +5 -5
- data/spec/digestion_tract/api_response_digestor_spec.rb +78 -74
- data/spec/digestion_tract/artist_digestor_spec.rb +81 -82
- data/spec/digestion_tract/chart_digestor_spec.rb +52 -53
- data/spec/digestion_tract/format_digestor_spec.rb +38 -39
- data/spec/digestion_tract/label_digestor_spec.rb +33 -34
- data/spec/digestion_tract/pager_digestor_spec.rb +50 -51
- data/spec/digestion_tract/price_digestor_spec.rb +57 -57
- data/spec/digestion_tract/release_digestor_spec.rb +101 -102
- data/spec/digestion_tract/track_digestor_spec.rb +104 -106
- data/spec/management/artist_manager_spec.rb +128 -107
- data/spec/management/release_manager_spec.rb +222 -178
- data/spec/management/track_manager_spec.rb +88 -52
- data/spec/model/api_response_spec.rb +44 -31
- data/spec/model/artist_spec.rb +166 -121
- data/spec/model/release_spec.rb +109 -110
- data/spec/model/track_spec.rb +140 -0
- data/spec/pager_spec.rb +7 -8
- data/spec/peachy_spec_helper_patch.rb +7 -0
- data/spec/proxy_police_spec.rb +47 -48
- data/spec/spec_helper.rb +52 -48
- data/spec/test-xml/methods/artist/byTag/top.xml +50 -50
- 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 +19 -0
- data/spec/test-xml/methods/artist/similar.xml +39 -39
- data/spec/test-xml/methods/artist/toptracks.xml +279 -279
- 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 +195 -0
- data/spec/test-xml/methods/release/tracks.xml +28 -28
- 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 +160 -0
- 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/price.xml +7 -7
- data/spec/test-xml/objects/release.xml +40 -40
- data/spec/test-xml/objects/release_chart_item.xml +39 -34
- 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 +39 -0
- data/spec/test-xml/objects/track.xml +33 -33
- data/spec/test-xml/objects/track_chart_item.xml +27 -27
- metadata +10 -5
- data/lib/peachy_patchy.rb +0 -14
- data/lib/sevendigital/version.rb +0 -3
|
@@ -1,13 +1,25 @@
|
|
|
1
|
-
module Sevendigital
|
|
2
|
-
|
|
3
|
-
class ApiResponse
|
|
4
|
-
|
|
5
|
-
attr_accessor :error_code, :error_message, :content
|
|
6
|
-
|
|
7
|
-
def ok?
|
|
8
|
-
return (@error_code == 0 && !@content.nil?)
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
1
|
+
module Sevendigital
|
|
2
|
+
|
|
3
|
+
class ApiResponse
|
|
4
|
+
|
|
5
|
+
attr_accessor :error_code, :error_message, :content
|
|
6
|
+
|
|
7
|
+
def ok?
|
|
8
|
+
return (@error_code == 0 && !@content.nil?)
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def _dump(depth)
|
|
12
|
+
Marshal.dump([@error_code, @error_message, @content.to_s])
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
def self._load(properties)
|
|
16
|
+
response = ApiResponse.new
|
|
17
|
+
response.error_code, response.error_message, content_xml = Marshal.load(properties)
|
|
18
|
+
response.content = Peachy::Proxy.new(content_xml).response
|
|
19
|
+
response
|
|
20
|
+
end
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
end
|
|
24
|
+
|
|
13
25
|
end
|
|
@@ -1,37 +1,47 @@
|
|
|
1
|
-
module Sevendigital
|
|
2
|
-
|
|
3
|
-
class Artist < SevendigitalObject
|
|
4
|
-
|
|
5
|
-
attr_accessor :id, :name, :appears_as
|
|
6
|
-
|
|
7
|
-
sevendigital_basic_property :sort_name, :image, :url
|
|
8
|
-
|
|
9
|
-
def get_details(options={})
|
|
10
|
-
artist_with_details = @api_client.artist.get_details(@id, options)
|
|
11
|
-
copy_basic_properties_from(artist_with_details)
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
sevendigital_extended_property :releases
|
|
15
|
-
sevendigital_extended_property :top_tracks
|
|
16
|
-
sevendigital_extended_property :similar
|
|
17
|
-
|
|
18
|
-
def get_releases(options={})
|
|
19
|
-
@releases = @api_client.artist.get_releases(@id, options).collect do |release|
|
|
20
|
-
release.artist = self
|
|
21
|
-
release
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
def get_top_tracks(options={})
|
|
26
|
-
@tracks = @api_client.artist.get_top_tracks(@id, options).collect do |track|
|
|
27
|
-
track.artist = self
|
|
28
|
-
track
|
|
29
|
-
end
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
def get_similar(options={})
|
|
33
|
-
@similar = @api_client.artist.get_similar(@id, options)
|
|
34
|
-
end
|
|
35
|
-
|
|
36
|
-
|
|
1
|
+
module Sevendigital
|
|
2
|
+
|
|
3
|
+
class Artist < SevendigitalObject
|
|
4
|
+
|
|
5
|
+
attr_accessor :id, :name, :appears_as
|
|
6
|
+
|
|
7
|
+
sevendigital_basic_property :sort_name, :image, :url
|
|
8
|
+
|
|
9
|
+
def get_details(options={})
|
|
10
|
+
artist_with_details = @api_client.artist.get_details(@id, options)
|
|
11
|
+
copy_basic_properties_from(artist_with_details)
|
|
12
|
+
end
|
|
13
|
+
|
|
14
|
+
sevendigital_extended_property :releases
|
|
15
|
+
sevendigital_extended_property :top_tracks
|
|
16
|
+
sevendigital_extended_property :similar
|
|
17
|
+
|
|
18
|
+
def get_releases(options={})
|
|
19
|
+
@releases = @api_client.artist.get_releases(@id, options).collect do |release|
|
|
20
|
+
release.artist = self
|
|
21
|
+
release
|
|
22
|
+
end
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def get_top_tracks(options={})
|
|
26
|
+
@tracks = @api_client.artist.get_top_tracks(@id, options).collect do |track|
|
|
27
|
+
track.artist = self
|
|
28
|
+
track
|
|
29
|
+
end
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
def get_similar(options={})
|
|
33
|
+
@similar = @api_client.artist.get_similar(@id, options)
|
|
34
|
+
end
|
|
35
|
+
|
|
36
|
+
def various?
|
|
37
|
+
joined_names = "#{name} #{appears_as}".downcase
|
|
38
|
+
|
|
39
|
+
various_variations = ["vario", "v???????????????rio", "v.a", "vaious", "varios" "vaious", "varoius", "variuos", \
|
|
40
|
+
"soundtrack", "karaoke", "original cast", "diverse artist"]
|
|
41
|
+
various_variations.each{|various_variation| return true if joined_names.include?(various_variation)}
|
|
42
|
+
return false
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
end
|
|
37
47
|
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,9 +1,9 @@
|
|
|
1
|
-
require "peachy"
|
|
2
|
-
|
|
3
|
-
module Sevendigital
|
|
4
|
-
|
|
5
|
-
class Format
|
|
6
|
-
attr_accessor :id, :file_format, :bit_rate, :drm_free
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
end
|
|
1
|
+
require "peachy"
|
|
2
|
+
|
|
3
|
+
module Sevendigital
|
|
4
|
+
|
|
5
|
+
class Format
|
|
6
|
+
attr_accessor :id, :file_format, :bit_rate, :drm_free
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
end
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
require "peachy"
|
|
2
|
-
|
|
3
|
-
module Sevendigital
|
|
4
|
-
|
|
5
|
-
class Label
|
|
6
|
-
attr_accessor :id, :name
|
|
7
|
-
end
|
|
8
|
-
|
|
9
|
-
end
|
|
1
|
+
require "peachy"
|
|
2
|
+
|
|
3
|
+
module Sevendigital
|
|
4
|
+
|
|
5
|
+
class Label
|
|
6
|
+
attr_accessor :id, :name
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
end
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
require "peachy"
|
|
2
|
-
|
|
3
|
-
module Sevendigital
|
|
4
|
-
|
|
5
|
-
class Price
|
|
6
|
-
|
|
7
|
-
attr_accessor :currency_code, :currency_symbol, :value, :formatted_price, :rrp, :formatted_rrp, :on_sale
|
|
8
|
-
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
end
|
|
1
|
+
require "peachy"
|
|
2
|
+
|
|
3
|
+
module Sevendigital
|
|
4
|
+
|
|
5
|
+
class Price
|
|
6
|
+
|
|
7
|
+
attr_accessor :currency_code, :currency_symbol, :value, :formatted_price, :rrp, :formatted_rrp, :on_sale
|
|
8
|
+
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
end
|
|
@@ -1,34 +1,34 @@
|
|
|
1
|
-
require "peachy"
|
|
2
|
-
require "will_paginate"
|
|
3
|
-
|
|
4
|
-
module Sevendigital
|
|
5
|
-
|
|
6
|
-
class Release < SevendigitalObject
|
|
7
|
-
|
|
8
|
-
attr_accessor :id, :title
|
|
9
|
-
|
|
10
|
-
sevendigital_basic_property :version, :type, :artist, :image, :url, :release_date,
|
|
11
|
-
:added_date, :barcode, :year, :explicit_content, :formats, :label, :price
|
|
12
|
-
|
|
13
|
-
sevendigital_extended_property :tracks
|
|
14
|
-
sevendigital_extended_property :recommendations
|
|
15
|
-
|
|
16
|
-
def get_details(options={})
|
|
17
|
-
release_with_details = @api_client.release.get_details(@id, options)
|
|
18
|
-
copy_basic_properties_from(release_with_details)
|
|
19
|
-
end
|
|
20
|
-
|
|
21
|
-
def get_tracks(options={})
|
|
22
|
-
@tracks = @api_client.release.get_tracks(@id, options).collect do |track|
|
|
23
|
-
track.release = self
|
|
24
|
-
track
|
|
25
|
-
end
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
def get_recommendations(options={})
|
|
29
|
-
@recommendations = @api_client.release.get_recommendations(@id, options)
|
|
30
|
-
end
|
|
31
|
-
|
|
32
|
-
end
|
|
33
|
-
|
|
1
|
+
require "peachy"
|
|
2
|
+
require "will_paginate"
|
|
3
|
+
|
|
4
|
+
module Sevendigital
|
|
5
|
+
|
|
6
|
+
class Release < SevendigitalObject
|
|
7
|
+
|
|
8
|
+
attr_accessor :id, :title
|
|
9
|
+
|
|
10
|
+
sevendigital_basic_property :version, :type, :artist, :image, :url, :release_date,
|
|
11
|
+
:added_date, :barcode, :year, :explicit_content, :formats, :label, :price
|
|
12
|
+
|
|
13
|
+
sevendigital_extended_property :tracks
|
|
14
|
+
sevendigital_extended_property :recommendations
|
|
15
|
+
|
|
16
|
+
def get_details(options={})
|
|
17
|
+
release_with_details = @api_client.release.get_details(@id, options)
|
|
18
|
+
copy_basic_properties_from(release_with_details)
|
|
19
|
+
end
|
|
20
|
+
|
|
21
|
+
def get_tracks(options={})
|
|
22
|
+
@tracks = @api_client.release.get_tracks(@id, options).collect do |track|
|
|
23
|
+
track.release = self
|
|
24
|
+
track
|
|
25
|
+
end
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def get_recommendations(options={})
|
|
29
|
+
@recommendations = @api_client.release.get_recommendations(@id, options)
|
|
30
|
+
end
|
|
31
|
+
|
|
32
|
+
end
|
|
33
|
+
|
|
34
34
|
end
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
module Sevendigital
|
|
2
|
-
class SevendigitalError < StandardError; end
|
|
3
|
-
end
|
|
1
|
+
module Sevendigital
|
|
2
|
+
class SevendigitalError < StandardError; end
|
|
3
|
+
end
|
|
@@ -1,51 +1,51 @@
|
|
|
1
|
-
class Class
|
|
2
|
-
|
|
3
|
-
def sevendigital_basic_property(*properties)
|
|
4
|
-
@basic_properties = []
|
|
5
|
-
properties.each do |property|
|
|
6
|
-
@basic_properties << "@#{property}".to_sym
|
|
7
|
-
sevendigital_extended_property property, :get_details
|
|
8
|
-
end
|
|
9
|
-
end
|
|
10
|
-
|
|
11
|
-
def sevendigital_extended_property(accessor, get_method = nil)
|
|
12
|
-
|
|
13
|
-
get_method ||= "get_#{accessor.to_s}".to_sym
|
|
14
|
-
demand_method = "demand_#{accessor.to_s}".to_sym
|
|
15
|
-
|
|
16
|
-
define_method(demand_method) do |*options|
|
|
17
|
-
if instance_variable_get("@#{accessor}") == nil then
|
|
18
|
-
value = send(get_method, *options)
|
|
19
|
-
instance_variable_set("@#{accessor}", value) if get_method != :get_details
|
|
20
|
-
end
|
|
21
|
-
end
|
|
22
|
-
|
|
23
|
-
define_method("#{accessor}") do |*options|
|
|
24
|
-
send(demand_method, *options) if instance_variable_get("@#{accessor}").nil? && @api_client.configuration.lazy_load?
|
|
25
|
-
instance_variable_get("@#{accessor}")
|
|
26
|
-
end
|
|
27
|
-
|
|
28
|
-
define_method("#{accessor}=") do |val|
|
|
29
|
-
instance_variable_set("@#{accessor}",val)
|
|
30
|
-
end
|
|
31
|
-
end
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
module Sevendigital
|
|
35
|
-
|
|
36
|
-
class SevendigitalObject
|
|
37
|
-
|
|
38
|
-
def initialize(api_client)
|
|
39
|
-
@api_client = api_client
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def copy_basic_properties_from(other_object)
|
|
43
|
-
self.class.instance_variable_get(:@basic_properties).each do |property|
|
|
44
|
-
instance_variable_set(property, other_object.instance_variable_get(property))
|
|
45
|
-
end
|
|
46
|
-
end
|
|
47
|
-
|
|
48
|
-
end
|
|
49
|
-
|
|
50
|
-
end
|
|
51
|
-
|
|
1
|
+
class Class
|
|
2
|
+
|
|
3
|
+
def sevendigital_basic_property(*properties)
|
|
4
|
+
@basic_properties = []
|
|
5
|
+
properties.each do |property|
|
|
6
|
+
@basic_properties << "@#{property}".to_sym
|
|
7
|
+
sevendigital_extended_property property, :get_details
|
|
8
|
+
end
|
|
9
|
+
end
|
|
10
|
+
|
|
11
|
+
def sevendigital_extended_property(accessor, get_method = nil)
|
|
12
|
+
|
|
13
|
+
get_method ||= "get_#{accessor.to_s}".to_sym
|
|
14
|
+
demand_method = "demand_#{accessor.to_s}".to_sym
|
|
15
|
+
|
|
16
|
+
define_method(demand_method) do |*options|
|
|
17
|
+
if instance_variable_get("@#{accessor}") == nil then
|
|
18
|
+
value = send(get_method, *options)
|
|
19
|
+
instance_variable_set("@#{accessor}", value) if get_method != :get_details
|
|
20
|
+
end
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
define_method("#{accessor}") do |*options|
|
|
24
|
+
send(demand_method, *options) if instance_variable_get("@#{accessor}").nil? && @api_client.configuration.lazy_load?
|
|
25
|
+
instance_variable_get("@#{accessor}")
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
define_method("#{accessor}=") do |val|
|
|
29
|
+
instance_variable_set("@#{accessor}",val)
|
|
30
|
+
end
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
module Sevendigital
|
|
35
|
+
|
|
36
|
+
class SevendigitalObject
|
|
37
|
+
|
|
38
|
+
def initialize(api_client)
|
|
39
|
+
@api_client = api_client
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
def copy_basic_properties_from(other_object)
|
|
43
|
+
self.class.instance_variable_get(:@basic_properties).each do |property|
|
|
44
|
+
instance_variable_set(property, other_object.instance_variable_get(property))
|
|
45
|
+
end
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
end
|
|
49
|
+
|
|
50
|
+
end
|
|
51
|
+
|
|
@@ -1,8 +1,29 @@
|
|
|
1
|
-
module Sevendigital
|
|
2
|
-
|
|
3
|
-
class Track < SevendigitalObject
|
|
4
|
-
attr_accessor :id, :title, :version, :artist
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
module Sevendigital
|
|
2
|
+
|
|
3
|
+
class Track < SevendigitalObject
|
|
4
|
+
attr_accessor :id, :title, :version, :artist
|
|
5
|
+
|
|
6
|
+
sevendigital_basic_property :track_number,:duration, :explicit_content, :isrc, :release, :url, :price
|
|
7
|
+
|
|
8
|
+
def get_details(options={})
|
|
9
|
+
track_with_details = @api_client.track.get_details(@id, options)
|
|
10
|
+
copy_basic_properties_from(track_with_details)
|
|
11
|
+
end
|
|
12
|
+
|
|
13
|
+
def short_title
|
|
14
|
+
# return title.gsub(/\s+[\(\[](album|lp|single|short|edit|radio)\s+version[\)\]]/ , "")
|
|
15
|
+
return title.gsub(/\s+\(.*\s?(version|mix|remix|edit|edition|live|feat|explicit|original)\s?.*\)/i, "")
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def alternate_version_of?(another_track)
|
|
19
|
+
return another_track && short_title.downcase == another_track.short_title.downcase \
|
|
20
|
+
&& another_track.artist && artist.name.downcase == another_track.artist.name.downcase
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def preview_url(options={})
|
|
24
|
+
#url = "http://previews.7digital.com/clips/34/#{id}.clip.mp3"
|
|
25
|
+
@api_client.track.build_preview_url(@id, options)
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
end
|
|
8
29
|
end
|
data/lib/sevendigital/pager.rb
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
|
-
require "will_paginate/collection"
|
|
2
|
-
|
|
3
|
-
module Sevendigital
|
|
4
|
-
|
|
5
|
-
class Pager
|
|
6
|
-
attr_accessor :page, :page_size, :total_items
|
|
7
|
-
|
|
8
|
-
def paginate_list(list)
|
|
9
|
-
paged_list = WillPaginate::Collection.create(@page, @page_size, @total_items) do |pager|
|
|
10
|
-
pager.replace(list)
|
|
11
|
-
end
|
|
12
|
-
return paged_list
|
|
13
|
-
end
|
|
14
|
-
|
|
15
|
-
end
|
|
16
|
-
|
|
1
|
+
require "will_paginate/collection"
|
|
2
|
+
|
|
3
|
+
module Sevendigital
|
|
4
|
+
|
|
5
|
+
class Pager
|
|
6
|
+
attr_accessor :page, :page_size, :total_items
|
|
7
|
+
|
|
8
|
+
def paginate_list(list)
|
|
9
|
+
paged_list = WillPaginate::Collection.create(@page, @page_size, @total_items) do |pager|
|
|
10
|
+
pager.replace(list)
|
|
11
|
+
end
|
|
12
|
+
return paged_list
|
|
13
|
+
end
|
|
14
|
+
|
|
15
|
+
end
|
|
16
|
+
|
|
17
17
|
end
|