Sha256: f789d736c247ebf0c0dfc4993861532c8d24395151158a6427410a999693ea25

Contents?: true

Size: 1006 Bytes

Versions: 8

Compression:

Stored size: 1006 Bytes

Contents

# encoding: utf-8
#
# 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 ||= 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

8 entries across 8 versions & 1 rubygems

Version Path
brauser-3.3.2 lib/brauser/hooks.rb
brauser-3.3.1 lib/brauser/hooks.rb
brauser-3.3.0 lib/brauser/hooks.rb
brauser-3.2.6 lib/brauser/hooks.rb
brauser-3.2.5 lib/brauser/hooks.rb
brauser-3.2.4 lib/brauser/hooks.rb
brauser-3.2.3 lib/brauser/hooks.rb
brauser-3.2.2 lib/brauser/hooks.rb