Sha256: 0e689d06896de7ad2c1686d3c7765290ed3bcac15b1e485989f4dc106c680fa6

Contents?: true

Size: 749 Bytes

Versions: 2

Compression:

Stored size: 749 Bytes

Contents

class LoginService
  include MechanizeContext

  def login(username, password)
    page = agent.get(ConfigurationService.base_url)
    login_url = page.search(".pagetop/a").last['href'].sub("/","")
    login_page = agent.get(ConfigurationService.base_url + login_url)
    form = login_page.forms.first
    form.u = username
    form.p = password
    page = form.submit
    return page.title != nil
  end

  def logout
    require_authentication
    page = agent.get(ConfigurationService.base_url)
    login_url = page.search(".pagetop/a").last['href'].sub("/","")
    logout_page = agent.get(ConfigurationService.base_url + login_url)
    agent.cookie_jar.jar.clear
    return logout_page.search(".pagetop/a").last.inner_html == "login"
  end

end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
ruby-hackernews-1.2.1 lib/ruby-hackernews/services/login_service.rb
ruby-hackernews-1.2.0 lib/ruby-hackernews/services/login_service.rb