class BookmeterScraper::Bookmeter
Constants
- DEFAULT_CONFIG_PATH
Attributes
log_in_user_id[R]
Public Class Methods
log_in(mail = nil, password = nil) { |config| ... }
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 12 def log_in(mail = nil, password = nil) Bookmeter.new.tap do |bookmeter| if block_given? config = Configuration.new yield config bookmeter.log_in(config.mail, config.password) else bookmeter.log_in(mail, password) end end end
new(agent = nil)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 26 def initialize(agent = nil) @agent = agent.nil? ? Agent.new : agent @scraper = Scraper.new(@agent) @logged_in = false @log_in_user_id = nil end
Public Instance Methods
followers(user_id = @log_in_user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 94 def followers(user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX @scraper.fetch_followers(user_id) end
followings(user_id = @log_in_user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 89 def followings(user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX @scraper.fetch_followings(user_id) end
log_in(mail = nil, password = nil) { |config| ... }
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 33 def log_in(mail = nil, password = nil) raise BookmeterError if @agent.nil? configuration = if block_given? Configuration.new.tap { |config| yield config } elsif mail.nil? && password.nil? Configuration.new(DEFAULT_CONFIG_PATH) else Configuration.new.tap do |config| config.mail = mail config.password = password end end @log_in_user_id = @agent.log_in(configuration) @logged_in = !@log_in_user_id.nil? end
logged_in?()
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 51 def logged_in? @logged_in end
profile(user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 55 def profile(user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX @scraper.fetch_profile(user_id) end
read_books(user_id = @log_in_user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 60 def read_books(user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX fetch_books(user_id, :read_books_uri) end
read_books_in(year, month, user_id = @log_in_user_id) { |b| ... }
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 65 def read_books_in(year, month, user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX date = Time.local(year, month) books = @scraper.fetch_read_books(user_id, date) books.each { |b| yield b } if block_given? books.to_a end
reading_books(user_id = @log_in_user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 74 def reading_books(user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX fetch_books(user_id, :reading_books_uri) end
tsundoku(user_id = @log_in_user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 79 def tsundoku(user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX fetch_books(user_id, :tsundoku_uri) end
wish_list(user_id = @log_in_user_id)
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 84 def wish_list(user_id = @log_in_user_id) raise ArgumentError unless user_id =~ USER_ID_REGEX fetch_books(user_id, :wish_list_uri) end
Private Instance Methods
fetch_books(user_id, uri_method) { |book| ... }
click to toggle source
# File lib/bookmeter_scraper/bookmeter.rb, line 102 def fetch_books(user_id, uri_method) raise ArgumentError unless user_id =~ USER_ID_REGEX raise ArgumentError unless BookmeterScraper.methods.include?(uri_method) books = @scraper.fetch_books(user_id, uri_method) books.each { |book| yield book } if block_given? books.to_a end