Class: Scraypa::UserAgentIterator
- Inherits:
-
UserAgentAbstract
- Object
- UserAgentAbstract
- Scraypa::UserAgentIterator
- Defined in:
- lib/scraypa/user_agent/user_agent_iterator.rb
Instance Attribute Summary collapse
-
#current_user_agent ⇒ Object
readonly
Returns the value of attribute current_user_agent.
Instance Method Summary collapse
-
#initialize(*args) ⇒ UserAgentIterator
constructor
A new instance of UserAgentIterator.
- #list ⇒ Object
- #user_agent ⇒ Object
Constructor Details
#initialize(*args) ⇒ UserAgentIterator
Returns a new instance of UserAgentIterator.
5 6 7 8 9 10 11 12 13 14 15 |
# File 'lib/scraypa/user_agent/user_agent_iterator.rb', line 5 def initialize *args super(*args) @config = args[0] || {} @change_after_n_requests = @config.fetch(:change_after_n_requests, 0) @list_limit = @config.fetch(:list_limit, 0).to_i @strategy = @config.fetch(:strategy, :roundrobin) @list = limit_list to_array@config.fetch(:list, USER_AGENT_LIST) @reducing_list = @list.clone @current_user_agent = nil @current_user_agent_requests = 0 end |
Instance Attribute Details
#current_user_agent ⇒ Object (readonly)
Returns the value of attribute current_user_agent.
3 4 5 |
# File 'lib/scraypa/user_agent/user_agent_iterator.rb', line 3 def current_user_agent @current_user_agent end |
Instance Method Details
#list ⇒ Object
27 28 29 |
# File 'lib/scraypa/user_agent/user_agent_iterator.rb', line 27 def list @list end |
#user_agent ⇒ Object
17 18 19 20 21 22 23 24 25 |
# File 'lib/scraypa/user_agent/user_agent_iterator.rb', line 17 def user_agent get_a_new_user_agent? ? ( @current_user_agent_requests = 0 select_user_agent_using_strategy ) : ( @current_user_agent_requests += 1 @current_user_agent ) end |