Sha256: 7d54668203f92ec607eb5e934f31ec92b7115594d6635c36cac425664b2ce6e5

Contents?: true

Size: 1.37 KB

Versions: 10

Compression:

Stored size: 1.37 KB

Contents

class UserAgent
  module Browsers
    module All
      include Comparable

      def <=>(other)
        if respond_to?(:browser) && other.respond_to?(:browser) &&
            browser == other.browser
          version <=> other.version
        else
          false
        end
      end

      def eql?(other)
        self == other
      end

      def to_s
        to_str
      end

      def to_str
        join(" ")
      end

      def application
        first
      end

      def browser
        application.product
      end

      def version
        application.version
      end

      def platform
        nil
      end

      def os
        nil
      end

      def respond_to?(symbol)
        detect_product(symbol) ? true : super
      end

      def method_missing(method, *args, &block)
        detect_product(method) || super
      end

      def webkit?
        false
      end

      def mobile?
        if browser == 'webOS'
          true
        elsif platform == 'Symbian'
          true
        elsif detect_product('Mobile')
          true
        elsif application.comment &&
            application.comment.detect { |k, v| k =~ /^IEMobile/ }
          true
        else
          false
        end
      end

      private
        def detect_product(product)
          detect { |useragent| useragent.product.to_s.downcase == product.to_s.downcase }
        end
    end
  end
end

Version data entries

10 entries across 10 versions & 2 rubygems

Version Path
useragent-0.4.9 lib/user_agent/browsers/all.rb
useragent-0.4.8 lib/user_agent/browsers/all.rb
useragent-0.4.7 lib/user_agent/browsers/all.rb
useragent-0.4.6 lib/user_agent/browsers/all.rb
useragent-0.4.5 lib/user_agent/browsers/all.rb
useragent-0.4.4 lib/user_agent/browsers/all.rb
useragent-fl-0.4.3 lib/user_agent/browsers/all.rb
useragent-0.4.3 lib/user_agent/browsers/all.rb
useragent-0.4.2 lib/user_agent/browsers/all.rb
useragent-0.4.1 lib/user_agent/browsers/all.rb