module Browser::Meta

def self.get(browser)

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

def self.rules

def self.rules
  @rules ||= [
    Device,
    GenericBrowser,
    Id,
    IE,
    IOS,
    Mobile,
    Platform,
    Proxy,
    Safari,
    Tablet,
    Webkit
  ]
end