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
  ] 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 39
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 52
def browser_cmdline
  possibilities = (browser_env + app_list).flatten
  possibilities.each do |p|
    Launchy.log "#{self.class.name} : possibility : #{p}"
  end
  browser = possibilities.shift
  Launchy.log "#{self.class.name} : Using browser value '#{browser}'"
  return browser
end
browser_env() click to toggle source
# File lib/launchy/applications/browser.rb, line 43
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 62
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 /b' ]
end
darwin_app_list() click to toggle source
# File lib/launchy/applications/browser.rb, line 23
def darwin_app_list
  [ find_executable( "open" ) ]
end
nix_app_list() click to toggle source
# File lib/launchy/applications/browser.rb, line 27
def nix_app_list
  nix_de = Launchy::Detect::NixDesktopEnvironment.detect
  app_list = ] xdg-open ]
  app_list << nix_de.browser
  app_list << nix_de.fallback_browsers
  app_list.flatten!
  app_list.delete_if { |b| b.nil? || (b.strip.size == 0) }
  app_list.collect { |bin| find_executable( bin ) }.find_all { |x| not x.nil? }
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 73
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 /b' ]
end

[Validate]

Generated with the Darkfish Rdoc Generator 2.