Module: Randomua

Defined in:
lib/randomua.rb

Constant Summary collapse

VERSION =
"1.0.0"

Class Method Summary collapse

Class Method Details

.run_application!Object



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
# File 'lib/randomua.rb', line 9

def self.run_application!
  # Default to a help menu
  foo = ARGV[0] || ARGV[0] = '-h'

  opts = Trollop::options do
    banner "random user agent".blue.red + " | " + "Generate a random user agent string.".bold
    version "#{Randomua::VERSION}"
    opt :crawler, "Gereate a random crawler user agent string"
    opt :desktop_browser, "Gereate a random desktop browser user agent string"
    opt :mobile_browser, "Gereate a random mobile browser user agent string"
    opt :console, "Gereate a random console user agent string"
    opt :offline_browser, "Gereate a random offline browser user agent string"
    opt :email_client, "Gereate a random email client user agent string"
    opt :link_checker, "Gereate a random link checker user agent string"
    opt :email_collector, "Gereate a random email collector user agent string"
    opt :validator, "Gereate a random validator user agent string"
    opt :feed_reader, "Gereate a random feed reader user agent string"
    opt :library, "Gereate a random library user agent string"
    opt :cloud_platform, "Gereate a random cloud platform user agent string"
    opt :other, "Gereate a random other user agent string"
  end

  # check for a filter
  filter = Hash[opts.keys.keep_if { |k| k.to_s =~ /_given\b/ } .collect { |i| [i, true] } ]

  unless filter.empty?
    return puts UserAgentRandomizer::UserAgent.fetch(type: "crawler").string         if opts.crawler
    return puts UserAgentRandomizer::UserAgent.fetch(type: "desktop_browser").string if opts.desktop_browser
    return puts UserAgentRandomizer::UserAgent.fetch(type: "mobile_browser").string  if opts.mobile_browser
    return puts UserAgentRandomizer::UserAgent.fetch(type: "console").string         if opts.console
    return puts UserAgentRandomizer::UserAgent.fetch(type: "offline_browser").string if opts.offline_browser
    return puts UserAgentRandomizer::UserAgent.fetch(type: "email_client").string    if opts.email_client
    return puts UserAgentRandomizer::UserAgent.fetch(type: "link_checker").string    if opts.link_checker
    return puts UserAgentRandomizer::UserAgent.fetch(type: "email_collector").string if opts.email_collector
    return puts UserAgentRandomizer::UserAgent.fetch(type: "validator").string       if opts.validator
    return puts UserAgentRandomizer::UserAgent.fetch(type: "feed_reader").string     if opts.feed_reader
    return puts UserAgentRandomizer::UserAgent.fetch(type: "library").string         if opts.library
    return puts UserAgentRandomizer::UserAgent.fetch(type: "cloud_platform").string  if opts.cloud_platform
    return puts UserAgentRandomizer::UserAgent.fetch(type: "other").string           if opts.other
  else
    puts UserAgentRandomizer::UserAgent.fetch.string
  end
end