Sha256: 55b55a12a287eb51cbbaffd7c1cef8f75ff69691f6050395340041b28891d078

Contents?: true

Size: 1.23 KB

Versions: 4

Compression:

Stored size: 1.23 KB

Contents

class UserAgent
  module Browsers
    module Webkit
      def self.extend?(agent)
        agent.detect { |useragent| useragent.product == "Safari" }
      end

      def browser
        if detect_product("Chrome")
          "Chrome"
        else
          "Safari"
        end
      end

      def build
        safari.version
      end

      BuildVersions = {
        "125.12" => "1.2.4",
        "312.6" => "1.3.2",
        "412.2.2" => "2.0",
        "412.5" => "2.0.1",
        "416.13" => "2.0.2",
        "417.9.3" => "2.0.3",
        "419.3" => "2.0.4"
      }.freeze

      # Prior to Safari 3, the user agent did not include a version number
      def version
        if browser == "Chrome"
          chrome.version
        elsif product = detect_product("Version")
          product.version
        else
          BuildVersions[build]
        end
      end

      def platform
        application.comment[0]
      end

      def webkit
        detect { |useragent| useragent.product == "AppleWebKit" }
      end

      def security
        Security[application.comment[1]]
      end

      def os
        OperatingSystems.normalize_os(application.comment[2])
      end

      def localization
        application.comment[3]
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
useragent-0.1.4 lib/user_agent/browsers/webkit.rb
useragent-0.1.3 lib/user_agent/browsers/webkit.rb
useragent-0.1.1 lib/user_agent/browsers/webkit.rb
useragent-0.1.0 lib/user_agent/browsers/webkit.rb