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!
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
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
|