Sha256: beaa68160dad88402e33e81eca97a3b2a255f1dc567293f58dfec62ec4f25eef
Contents?: true
Size: 860 Bytes
Versions: 1
Compression:
Stored size: 860 Bytes
Contents
require "nokogiri" require_relative "bucket" module DribbbleBucketApi class BucketIndexParser attr_reader :body def initialize(body, options = {}) @body = body @options = options end def buckets @buckets ||= document.css(".bucket-list > li").map do |bucket| # parse bucket data from HTML id = bucket["class"] =~ /^bucket\-(\d+)$/ && $1.to_i name = bucket.css(".bucket-title a").first.text # pass data into bucket object Bucket.new(id: id, name: name, username: username) end end def current_page @options[:page] || 1 end def total_entries @total_entries ||= document.css(".buckets .count").text.to_i end def total_pages (total_entries.to_f / 5).ceil end private def username @options[:username] end def document @document ||= Nokogiri::HTML(@body) end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
dribbble-bucket-api-0.0.3 | lib/dribbble_bucket_api/bucket_index_parser.rb |