Sha256: 3370e733496abbdf1f5c24dba6420a834e2bdfe7bbb3a29971ded7072d8f70c2

Contents?: true

Size: 928 Bytes

Versions: 2

Compression:

Stored size: 928 Bytes

Contents

require 'mechanize'
require 'atcoder_greedy'

class Atcoder
  attr_accessor :agent
  def initialize
    @agent = Mechanize.new
  end

  def login(url)
    print 'Login ... '
    if AtcoderGreedy.config[:user_id].nil? || AtcoderGreedy.config[:user_id].size == 0
      puts 'You still not set account info.'
      print 'Input User id: '
      user_id = $stdin.gets.chomp!
      print 'Input password: '
      password = $stdin.gets.chomp!
    else
      user_id = AtcoderGreedy.config[:user_id]
      password = AtcoderGreedy.config[:password]
    end

    response = nil
    @agent.get(url + '/login') do |page|
      response = page.form_with(action: '/login') do |f|
        f.field_with(name: 'name').value = user_id
        f.field_with(name: 'password').value = password
      end.submit
      raise 'Login error' unless response.response['x-imojudge-simpleauth'] == 'Passed'
    end
    puts 'Done!'
    response
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
atcoder_greedy-0.6.0 lib/atcoder_greedy/lib/atcoder.rb
atcoder_greedy-0.5.0 lib/atcoder_greedy/lib/atcoder.rb