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 10 def self.handles?( uri ) return true if schemes.include?( uri.scheme ) return true if File.exist?( uri.path ) end
schemes()
click to toggle source
# File lib/launchy/applications/browser.rb, line 6 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 36 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 49 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 then 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 40 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.size == 0) } return browser_env end
cmd_and_args( uri, options = {} )
click to toggle source
# File lib/launchy/applications/browser.rb, line 66 def cmd_and_args( uri, options = {} ) cmd = browser_cmdline args = [ uri.to_s ] if cmd =~ /%s/ then cmd.gsub!( /%s/, args.shift ) end return [cmd, args] end
cygwin_app_list()
click to toggle source
# File lib/launchy/applications/browser.rb, line 19 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 24 def darwin_app_list [ find_executable( "open" ) ] end
nix_app_list()
click to toggle source
# File lib/launchy/applications/browser.rb, line 28 def nix_app_list nix_de = Launchy::Detect::NixDesktopEnvironment.detect list = nix_de.browsers list.find_all { |argv| argv.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 77 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 15 def windows_app_list [ 'start "launchy" /b' ] end