class KakuyomuAgent

Constants

ActionFailedError
BASE_URL
Error
NotLoggedInError
VERSION

Attributes

base_url[R]
driver[R]

Public Class Methods

new(base_url: BASE_URL, driver: Selenium::WebDriver.for(:chrome, options: Selenium::WebDriver::Chrome::Options.new.tap(&:headless!))) click to toggle source
# File lib/kakuyomu_agent.rb, line 18
def initialize(base_url: BASE_URL, driver: Selenium::WebDriver.for(:chrome, options: Selenium::WebDriver::Chrome::Options.new.tap(&:headless!)))
  @base_url  = base_url
  @driver    = driver
  @logged_in = false
end

Public Instance Methods

create_episode(work_id:, title:, body:, date: nil) click to toggle source
# File lib/kakuyomu_agent.rb, line 33
def create_episode(work_id:, title:, body:, date: nil)
  raise NotLoggedInError unless logged_in?
  Actions::CreateEpisode.new(self).run(work_id, title, body, date)
end
delete_episode(work_id:, episode_id:) click to toggle source
# File lib/kakuyomu_agent.rb, line 43
def delete_episode(work_id:, episode_id:)
  raise NotLoggedInError unless logged_in?
  Actions::DeleteEpisode.new(self).run(work_id, episode_id)
end
logged_in?() click to toggle source
# File lib/kakuyomu_agent.rb, line 24
def logged_in?
  @logged_in
end
login!(email:, password:) click to toggle source
# File lib/kakuyomu_agent.rb, line 28
def login!(email:, password:)
  Actions::Login.new(self).run(email, password)
  @logged_in = true
end
update_episode(work_id:, episode_id:, title:, body:, date: nil) click to toggle source
# File lib/kakuyomu_agent.rb, line 38
def update_episode(work_id:, episode_id:, title:, body:, date: nil)
  raise NotLoggedInError unless logged_in?
  Actions::UpdateEpisode.new(self).run(work_id, episode_id, title, body, date)
end