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