Class: DribbbleBucketApi::ShotIndexParser
- Inherits:
-
Object
- Object
- DribbbleBucketApi::ShotIndexParser
- Defined in:
- lib/dribbble_bucket_api/shot_index_parser.rb
Instance Attribute Summary collapse
-
#body ⇒ Object
readonly
Returns the value of attribute body.
Instance Method Summary collapse
- #current_page ⇒ Object
-
#initialize(body, options = {}) ⇒ ShotIndexParser
constructor
A new instance of ShotIndexParser.
- #shots ⇒ Object
- #total_entries ⇒ Object
- #total_pages ⇒ Object
Constructor Details
#initialize(body, options = {}) ⇒ ShotIndexParser
Returns a new instance of ShotIndexParser.
8 9 10 11 |
# File 'lib/dribbble_bucket_api/shot_index_parser.rb', line 8 def initialize(body, = {}) @body = body @options = end |
Instance Attribute Details
#body ⇒ Object (readonly)
Returns the value of attribute body.
6 7 8 |
# File 'lib/dribbble_bucket_api/shot_index_parser.rb', line 6 def body @body end |
Instance Method Details
#current_page ⇒ Object
24 25 26 |
# File 'lib/dribbble_bucket_api/shot_index_parser.rb', line 24 def current_page @options[:page] || 1 end |
#shots ⇒ Object
13 14 15 16 17 18 19 20 21 22 |
# File 'lib/dribbble_bucket_api/shot_index_parser.rb', line 13 def shots @shots ||= document.css(".dribbbles > li").map do |shot| # parse shot data from HTML id = shot["class"].gsub(/^screenshot\-(\d+)$/, "\1").to_i img_src = shot.css(".dribbble-img img").first["src"] url = "http://dribbble.com" + shot.css("a.dribbble-link").first["href"] # pass data into shot object Shot.new(id: id, image_teaser_url: img_src, url: url) end end |
#total_entries ⇒ Object
28 29 30 |
# File 'lib/dribbble_bucket_api/shot_index_parser.rb', line 28 def total_entries @total_entries ||= document.css(".main h2.section").text.gsub(/^(\d+).*$/, "\1").to_i end |
#total_pages ⇒ Object
32 33 34 |
# File 'lib/dribbble_bucket_api/shot_index_parser.rb', line 32 def total_pages (total_entries.to_f / 15).ceil end |