Class: Launchy::Application::Browser
- Inherits:
-
Launchy::Application
- Object
- Launchy::Application
- Launchy::Application::Browser
- Defined in:
- lib/launchy/applications/browser.rb
Overview
The class handling the browser application and all of its schemes
Instance Attribute Summary
Attributes inherited from Launchy::Application
#host_os_family, #ruby_engine, #runner
Class Method Summary collapse
Instance Method Summary collapse
-
#app_list ⇒ Object
use a call back mechanism to get the right app_list that is decided by the host_os_family class.
-
#browser_cmdline ⇒ Object
Get the full commandline of what we are going to add the uri to.
- #browser_env ⇒ Object
- #cmd_and_args(uri, options = {}) ⇒ Object
- #cygwin_app_list ⇒ Object
- #darwin_app_list ⇒ Object
- #nix_app_list ⇒ Object
-
#open(uri, options = {}) ⇒ Object
final assembly of the command and do %s substitution www.catb.org/~esr/BROWSER/index.html.
- #windows_app_list ⇒ Object
Methods inherited from Launchy::Application
find_executable, #find_executable, for_scheme, handles?, #initialize, #run, scheme_list
Methods included from DescendantTracker
#children, #find_child, #inherited
Constructor Details
This class inherits a constructor from Launchy::Application
Class Method Details
.schemes ⇒ Object
6 7 8 |
# File 'lib/launchy/applications/browser.rb', line 6 def self.schemes %w[ http https ftp file ] end |
Instance Method Details
#app_list ⇒ Object
use a call back mechanism to get the right app_list that is decided by the host_os_family class.
34 35 36 |
# File 'lib/launchy/applications/browser.rb', line 34 def app_list host_os_family.app_list( self ) end |
#browser_cmdline ⇒ Object
Get the full commandline of what we are going to add the uri to
47 48 49 50 51 52 53 54 55 |
# File 'lib/launchy/applications/browser.rb', line 47 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 ⇒ Object
38 39 40 41 42 43 44 |
# File 'lib/launchy/applications/browser.rb', line 38 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 = {}) ⇒ Object
57 58 59 60 61 62 63 64 |
# File 'lib/launchy/applications/browser.rb', line 57 def cmd_and_args( uri, = {} ) cmd = browser_cmdline args = [ uri.to_s ] if cmd =~ /%s/ then cmd.gsub!( /%s/, args.shift ) end return [cmd, args] end |
#cygwin_app_list ⇒ Object
14 15 16 |
# File 'lib/launchy/applications/browser.rb', line 14 def cygwin_app_list [ 'cmd /C start "Launchy" /d' ] end |
#darwin_app_list ⇒ Object
18 19 20 |
# File 'lib/launchy/applications/browser.rb', line 18 def darwin_app_list [ find_executable( "open" ) ] end |
#nix_app_list ⇒ Object
22 23 24 25 26 27 28 29 30 |
# File 'lib/launchy/applications/browser.rb', line 22 def nix_app_list nix_de = Launchy::Detect::NixDesktopEnvironment.detect app_list = %w[ 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 = {}) ⇒ Object
final assembly of the command and do %s substitution www.catb.org/~esr/BROWSER/index.html
68 69 70 71 |
# File 'lib/launchy/applications/browser.rb', line 68 def open( uri, = {} ) cmd, args = cmd_and_args( uri, ) run( cmd, args ) end |
#windows_app_list ⇒ Object
10 11 12 |
# File 'lib/launchy/applications/browser.rb', line 10 def windows_app_list [ 'start "Launchy" /d'] end |