Sha256: da4b9bead36f32f2b0fb26f34fbe687269484cf2456dabb5cb3f38061af00465

Contents?: true

Size: 1.02 KB

Versions: 1

Compression:

Stored size: 1.02 KB

Contents

require 'clicoder/site_base'
require 'clicoder/config'

require 'net/http'
require 'launchy'
require 'mechanize'

module Clicoder
  class SampleSite < SiteBase

    def submit
      submit_url = 'http://samplesite.com/submit'
      post_params = {
        user_id: config.get('sample_site', 'user_id'),
        password: config.get('sample_site', 'password'),
      }
      response = Net::HTTP.post_form(URI(submit_url), post_params)
      return response.body =~ /Success/
    end

    def open_submission
      Launchy.open('http://samplesite.com/submissions')
    end

    def login
      Mechanize.start do |m|
        yield m
      end
    end

    def site_name
      'sample_site'
    end

    def problem_url
      "http://samplesite.com/sample_problem.html"
    end

    def description_xpath
      '//div[@id="description"]'
    end

    def inputs_xpath
      '//div[@id="inputs"]/pre'
    end

    def outputs_xpath
      '//div[@id="outputs"]/pre'
    end

    def working_directory
      'working_directory'
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
clicoder-0.0.6 lib/clicoder/sites/sample_site.rb