Module: Browser::Options

Included in:
Browser
Defined in:
lib/common/browser/options.rb

Constant Summary

USER_AGENT_MODES =
%w{ static semi-static random }

Instance Attribute Summary (collapse)

Instance Method Summary (collapse)

Instance Attribute Details

- (Object) available_user_agents

Returns the value of attribute available_user_agents



8
9
10
# File 'lib/common/browser/options.rb', line 8

def available_user_agents
  @available_user_agents
end

- (Object) basic_auth

Returns the value of attribute basic_auth



9
10
11
# File 'lib/common/browser/options.rb', line 9

def basic_auth
  @basic_auth
end

- (Object) cache_ttl

Returns the value of attribute cache_ttl



8
9
10
# File 'lib/common/browser/options.rb', line 8

def cache_ttl
  @cache_ttl
end

- (Object) proxy

Returns the value of attribute proxy



9
10
11
# File 'lib/common/browser/options.rb', line 9

def proxy
  @proxy
end

- (Object) proxy_auth

Returns the value of attribute proxy_auth



9
10
11
# File 'lib/common/browser/options.rb', line 9

def proxy_auth
  @proxy_auth
end

- (String) user_agent

The user agent, according to the user_agent_mode

Returns:

  • (String)

    The user agent, according to the user_agent_mode



68
69
70
71
72
73
74
75
76
77
78
# File 'lib/common/browser/options.rb', line 68

def user_agent
  case @user_agent_mode
  when 'semi-static'
    unless @user_agent
      @user_agent = @available_user_agents.sample
    end
  when 'random'
    @user_agent = @available_user_agents.sample
  end
  @user_agent
end

- (Object) user_agent_mode

Returns the value of attribute user_agent_mode



9
10
11
# File 'lib/common/browser/options.rb', line 9

def user_agent_mode
  @user_agent_mode
end

Instance Method Details

- (Object) invalid_proxy_auth_format (protected)



120
121
122
# File 'lib/common/browser/options.rb', line 120

def invalid_proxy_auth_format
  'Invalid proxy auth format, expected username:password or {proxy_username: username, proxy_password: password}'
end

- (Integer) max_threads

Returns:

  • (Integer)


31
32
33
# File 'lib/common/browser/options.rb', line 31

def max_threads
  @max_threads || 1
end

- (Object) max_threads=(threads)



35
36
37
38
39
40
41
42
# File 'lib/common/browser/options.rb', line 35

def max_threads=(threads)
  if threads.is_a?(Integer) && threads > 0
    @max_threads = threads
    @hydra = Typhoeus::Hydra.new(max_concurrency: threads)
  else
    raise 'max_threads must be an Integer > 0'
  end
end

- (void) override_config(options = {}) (protected)

This method returns an undefined value.

Override with the options if they are set

Parameters:

  • options (Hash) (defaults to: {})


128
129
130
131
132
133
134
# File 'lib/common/browser/options.rb', line 128

def override_config(options = {})
  options.each do |option, value|
    if value != nil and OPTIONS.include?(option)
      self.send(:#{option}=", value)
    end
  end
end