Sha256: 20a19f0431dc34eb8159dcbe2627b12d4c190cce676e464d565409dae04408ad

Contents?: true

Size: 999 Bytes

Versions: 3

Compression:

Stored size: 999 Bytes

Contents

#
# This file is part of the brauser gem. Copyright (C) 2013 and above Shogun <shogun@cowtech.it>.
# Licensed under the MIT license, which can be found at http://www.opensource.org/licenses/mit-license.php.
#

module Brauser
  # A set of hooks for adding brauser to web frameworks.
  module Hooks
    # Hook for integration with Ruby on Rails.
    module RubyOnRails
      # Includes brauser in ActionController.
      #
      # @param base [Class] The base controller class.
      def self.included(base)
        base.send(:helper_method, :browser)
      end

      # Detects the current browser.
      #
      # @param force [Boolean] If to force detection.
      # @return [Browser] The detected browser.
      def browser(force = false)
        @browser = nil if force
        @browser ||= ::Brauser::Browser.new(request.headers["User-Agent"], request.headers["Accept-Language"])
      end
    end
  end
end

ActionController::Base.send(:include, Brauser::Hooks::RubyOnRails) if defined?(Rails)

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
brauser-4.1.2 lib/brauser/hooks.rb
brauser-4.1.1 lib/brauser/hooks.rb
brauser-4.1.0 lib/brauser/hooks.rb