class Encounter::Connection
Connection
class
@todo Allow UserAgent name override
Constants
- DDL_NETWORKS
Attributes
domain[R]
Public Class Methods
new(options = {})
click to toggle source
@param [Hash] options ({}) @option options [String] :username Nickname or user id @option options [String] :password @option options [String] :domain Domain
to connect. @option options [String] :network ('Encounter') Network to login.
Can be _Encounter_ or _QuestUa_.
@option options [String] :user_agent Browser identifier for connection.
@example Connect using account
Encounter::Connection.new( domain: 'test.en.cx', username: 'nickname', password: 'password' )
@example Connect anonymous
Encounter::Connection.new(domain: 'test.en.cx')
# File lib/encounter/connection.rb, line 26 def initialize(options = {}) raise ArgumentError, ':domain is required option' if options[:domain].nil? options[:network] ||= 'Encounter' @options = options @conn = new_faraday_connection raise 'No such domain' unless domain_exist? @domain = options[:domain] authorize unless options[:username].nil? || options[:password].nil? end
Public Instance Methods
page_get(url, params = {})
click to toggle source
Load specified url using GET method. Params added to URL
@param [String] url @param [Hash] params
# File lib/encounter/connection.rb, line 40 def page_get(url, params = {}) @conn.get(url, params).body end
Private Instance Methods
domain_exist?()
click to toggle source
Check if domain exist
@return [Boolean]
# File lib/encounter/connection.rb, line 75 def domain_exist? !@conn.get('/').body.include? 'Domain name is unregistered!' end
new_faraday_connection()
click to toggle source
# File lib/encounter/connection.rb, line 60 def new_faraday_connection Faraday.new(url: "http://#{@options[:domain]}") do |conn| conn.request :url_encoded conn.use FaradayMiddleware::FollowRedirects conn.use :cookie_jar, jar: cookie_jar if @options[:user_agent] conn.headers[:user_agent] = @options[:user_agent] end conn.adapter Faraday.default_adapter end end