class Nexaas::Throttle::Guardian
Attributes
assets_extensions[R]
ignored_user_agents[R]
request[R]
token[R]
Public Class Methods
new(request, configuration)
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 6 def initialize(request, configuration) @request = request @token = configuration.request_identifier.new(request).token @ignored_user_agents = configuration.ignored_user_agents @assets_extensions = configuration.assets_extensions end
Public Instance Methods
throttle!()
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 13 def throttle! validate { token } end
track!()
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 17 def track! validate { true } end
Private Instance Methods
asset_request?()
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 31 def asset_request? path = request.path path.match(%r{/assets}).present? || path.match(assets_extensions_regexp).present? end
assets_extensions_regexp()
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 36 def assets_extensions_regexp extensions = assets_extensions.join("|") /\.(#{extensions})$/ end
ignore_user_agents?()
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 41 def ignore_user_agents? ignored_user_agents && !ignored_user_agents.map { |regexp| regexp.match(request.user_agent) }.compact.blank? end
validate() { || ... }
click to toggle source
# File lib/nexaas/throttle/guardian.rb, line 25 def validate return if ignore_user_agents? || asset_request? || token.blank? request.env["nexaas.token"] = token yield if block_given? end