class Launchy::Application::Browser
The class handling the browser application and all of its schemes
Public Class Methods
handles?(uri)
click to toggle source
# File lib/launchy/applications/browser.rb, line 13 def self.handles?(uri) return true if schemes.include?(uri.scheme) true if File.exist?(uri.path) end
schemes()
click to toggle source
# File lib/launchy/applications/browser.rb, line 9 def self.schemes %w[http https ftp file] end
Public Instance Methods
app_list()
click to toggle source
use a call back mechanism to get the right app_list
that is decided by the host_os_family class.
# File lib/launchy/applications/browser.rb, line 40 def app_list host_os_family.app_list(self) end
browser_cmdline()
click to toggle source
Get the full commandline of what we are going to add the uri to
# File lib/launchy/applications/browser.rb, line 54 def browser_cmdline browser_env.each do |p| Launchy.log "#{self.class.name} : possibility from BROWSER environment variable : #{p}" end app_list.each do |p| Launchy.log "#{self.class.name} : possibility from app_list : #{p}" end possibilities = (browser_env + app_list).flatten if (browser = possibilities.shift) Launchy.log "#{self.class.name} : Using browser value '#{browser}'" return browser end raise Launchy::CommandNotFoundError, "Unable to find a browser command. If this is unexpected, #{Launchy.bug_report_message}" end
browser_env()
click to toggle source
# File lib/launchy/applications/browser.rb, line 44 def browser_env return [] unless ENV["BROWSER"] browser_env = ENV["BROWSER"].split(File::PATH_SEPARATOR) browser_env.flatten! browser_env.delete_if { |b| b.nil? || b.strip.empty? } browser_env end
cmd_and_args(uri, _options = {})
click to toggle source
# File lib/launchy/applications/browser.rb, line 72 def cmd_and_args(uri, _options = {}) cmd = browser_cmdline.to_s args = [uri.to_s] cmd.gsub!("%s", args.shift) if cmd.include?("%s") [cmd, args] end
cygwin_app_list()
click to toggle source
# File lib/launchy/applications/browser.rb, line 23 def cygwin_app_list ['cmd /C start "launchy" /b'] end
darwin_app_list()
click to toggle source
hardcode this to open?
# File lib/launchy/applications/browser.rb, line 28 def darwin_app_list [find_executable("open")] end
nix_app_list()
click to toggle source
# File lib/launchy/applications/browser.rb, line 32 def nix_app_list nix_de = Launchy::Detect::NixDesktopEnvironment.detect list = nix_de.browsers list.find_all(&:valid?) end
open(uri, options = {})
click to toggle source
final assembly of the command and do %s substitution www.catb.org/~esr/BROWSER/index.html
# File lib/launchy/applications/browser.rb, line 81 def open(uri, options = {}) cmd, args = cmd_and_args(uri, options) run(cmd, args) end
windows_app_list()
click to toggle source
# File lib/launchy/applications/browser.rb, line 19 def windows_app_list ['start "launchy" /b'] end