File: browsers.rb

package info (click to toggle)
ruby-useragent 0.16.11-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 164 kB
  • sloc: ruby: 1,150; makefile: 2
file content (53 lines) | stat: -rw-r--r-- 1,208 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
require 'user_agent/browsers/base'
require 'user_agent/browsers/chrome'
require 'user_agent/browsers/edge'
require 'user_agent/browsers/gecko'
require 'user_agent/browsers/internet_explorer'
require 'user_agent/browsers/opera'
require 'user_agent/browsers/webkit'
require 'user_agent/browsers/wechat_browser'
require 'user_agent/browsers/windows_media_player'
require 'user_agent/browsers/itunes'
require 'user_agent/browsers/apple_core_media'
require 'user_agent/browsers/libavformat'
require 'user_agent/browsers/playstation'
require 'user_agent/browsers/podcast_addict'
require 'user_agent/browsers/vivaldi'

class UserAgent
  module Browsers
    Security = {
      "N" => :none,
      "U" => :strong,
      "I" => :weak
    }.freeze

    ALL = [
      Edge,
      InternetExplorer,
      Opera,
      WechatBrowser,
      Vivaldi,
      Chrome,
      ITunes,
      PlayStation,
      PodcastAddict,
      Webkit,
      Gecko,
      WindowsMediaPlayer,
      AppleCoreMedia,
      Libavformat,
    ].freeze

    def self.all
      ALL
    end

    def self.extend(array)
      all.each do |extension|
        return extension.new(array) if extension.extend?(array)
      end
      array
    end
  end
end