Sha256: fec06e7da355300b6b529998843385b7afedb8642ddf3dec97859fd80d50a4cc

Contents?: true

Size: 718 Bytes

Versions: 5

Compression:

Stored size: 718 Bytes

Contents

# frozen_string_literal: true
module Browser
  module Meta
    def self.rules
      @rules ||= [
        Device,
        GenericBrowser,
        Id,
        IE,
        IOS,
        Mobile,
        Modern,
        Platform,
        Proxy,
        Safari,
        Tablet,
        Webkit
      ]
    end

    def self.get(browser)
      rules.each_with_object(Set.new) do |rule, meta|
        meta.merge(rule.new(browser).to_a)
      end.to_a
    end

    class Base
      # Set the browser instance.
      attr_reader :browser

      def initialize(browser)
        @browser = browser
      end

      def meta
        nil
      end

      def to_a
        meta.to_s.squeeze(" ").split(" ")
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 2 rubygems

Version Path
enju_leaf-1.2.1 vendor/bundle/ruby/2.3/gems/browser-2.3.0/lib/browser/meta/base.rb
browser-2.3.0 lib/browser/meta/base.rb
browser-2.2.0 lib/browser/meta/base.rb
browser-2.1.0 lib/browser/meta/base.rb
browser-2.0.3 lib/browser/meta/base.rb