class ActionController::AllowBrowser::BrowserBlocker
:nodoc:
def blocked?
def blocked? user_agent_version_reported? && unsupported_browser? end
def bot?
def bot? parsed_user_agent.bot? end
def expanded_versions
def expanded_versions @expanded_versions ||= (SETS[versions] || versions).with_indifferent_access end
def initialize(request, versions:)
def initialize(request, versions:) @request, @versions = request, versions end
def minimum_browser_version_for_browser
def minimum_browser_version_for_browser expanded_versions[normalized_browser_name] end
def normalized_browser_name
def normalized_browser_name case name = parsed_user_agent.browser.downcase when "internet explorer" then "ie" else name end end
def parsed_user_agent
def parsed_user_agent @parsed_user_agent ||= UserAgent.parse(request.user_agent) end
def unsupported_browser?
def unsupported_browser? version_guarded_browser? && version_below_minimum_required? && !bot? end
def user_agent_version_reported?
def user_agent_version_reported? request.user_agent.present? && parsed_user_agent.version.to_s.present? end
def version_below_minimum_required?
def version_below_minimum_required? if minimum_browser_version_for_browser parsed_user_agent.version < UserAgent::Version.new(minimum_browser_version_for_browser.to_s) else true end end
def version_guarded_browser?
def version_guarded_browser? minimum_browser_version_for_browser != nil end