launchy 2.0.5-java → 2.1.0-java

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,4 +1,11 @@
1
1
  = Launchy Changlog
2
+ == Version 2.1.0 - 2012-03-18
3
+
4
+ * Fix raising exception when no browser program found (copiousfreetime/launchy#42)
5
+ * Add LAUNCHY_DRY_RUN environment variable (thanks Mariusz Pietrzyk / wijet)
6
+ * Update dependencies
7
+
8
+
2
9
  == Version 2.0.5 - 2011-07-24
3
10
 
4
11
  * Fix the case where $BROWSER is set and no *nix desktop was found (copiousfreetime/launchy#33)
data/Manifest.txt ADDED
@@ -0,0 +1,35 @@
1
+ HISTORY.rdoc
2
+ LICENSE
3
+ Manifest.txt
4
+ NOTES
5
+ README.rdoc
6
+ Rakefile
7
+ bin/launchy
8
+ lib/launchy.rb
9
+ lib/launchy/application.rb
10
+ lib/launchy/applications/browser.rb
11
+ lib/launchy/cli.rb
12
+ lib/launchy/deprecated.rb
13
+ lib/launchy/descendant_tracker.rb
14
+ lib/launchy/detect.rb
15
+ lib/launchy/detect/host_os.rb
16
+ lib/launchy/detect/host_os_family.rb
17
+ lib/launchy/detect/nix_desktop_environment.rb
18
+ lib/launchy/detect/ruby_engine.rb
19
+ lib/launchy/detect/runner.rb
20
+ lib/launchy/error.rb
21
+ lib/launchy/os_family.rb
22
+ lib/launchy/version.rb
23
+ spec/application_spec.rb
24
+ spec/applications/browser_spec.rb
25
+ spec/cli_spec.rb
26
+ spec/detect/host_os_family_spec.rb
27
+ spec/detect/host_os_spec.rb
28
+ spec/detect/nix_desktop_environment_spec.rb
29
+ spec/detect/ruby_engine_spec.rb
30
+ spec/detect/runner_spec.rb
31
+ spec/launchy_spec.rb
32
+ spec/mock_application.rb
33
+ spec/spec_helper.rb
34
+ spec/tattle-host-os.yaml
35
+ spec/version_spec.rb
File without changes
data/Rakefile CHANGED
@@ -1,70 +1,298 @@
1
- #--
2
- # Copyright (c) 2007 Jeremy Hinegardner
3
- # All rights reserved. See LICENSE and/or COPYING for details.
4
- #++
1
+ # vim: syntax=ruby
5
2
 
3
+ This.name = "launchy"
4
+ This.author = "Jeremy Hinegardner"
5
+ This.email = "jeremy@copiousfreetime.org"
6
+ This.homepage = "http://github.com/copiousfreetime/#{ This.name }"
7
+ This.version = Util.version
8
+
9
+ #------------------------------------------------------------------------------
10
+ # If you want to Develop on this project just run 'rake develop' and you'll
11
+ # have all you need to get going. If you want to use bundler for development,
12
+ # then run 'rake develop:using_bundler'
13
+ #------------------------------------------------------------------------------
14
+ namespace :develop do
15
+
16
+ # Install all the development and runtime dependencies of this gem using the
17
+ # gemspec.
18
+ task :default do
19
+ require 'rubygems/dependency_installer'
20
+ installer = Gem::DependencyInstaller.new
21
+
22
+ puts "Installing gem depedencies needed for development"
23
+ Util.platform_gemspec.dependencies.each do |dep|
24
+ if dep.matching_specs.empty? then
25
+ puts "Installing : #{dep}"
26
+ installer.install dep
27
+ else
28
+ puts "Skipping : #{dep} -> already installed #{dep.matching_specs.first.full_name}"
29
+ end
30
+ end
31
+ puts "\n\nNow run 'rake test'"
32
+ end
33
+
34
+ # Create a Gemfile that just references the gemspec
35
+ file 'Gemfile' => :gemspec do
36
+ File.open( "Gemfile", "w+" ) do |f|
37
+ f.puts 'source :rubygems'
38
+ f.puts 'gemspec'
39
+ end
40
+ end
41
+
42
+ desc "Create a bundler Gemfile"
43
+ task :using_bundler => 'Gemfile' do
44
+ puts "Now you can 'bundle'"
45
+ end
46
+
47
+ # Gemfiles are build artifacts
48
+ CLOBBER << FileList['Gemfile*']
49
+ end
50
+ desc "Boostrap development"
51
+ task :develop => "develop:default"
52
+
53
+ #------------------------------------------------------------------------------
54
+ # Minitest - standard TestTask
55
+ #------------------------------------------------------------------------------
56
+ begin
57
+ require 'rake/testtask'
58
+ Rake::TestTask.new( :test ) do |t|
59
+ t.ruby_opts = %w[ -w -rubygems ]
60
+ t.libs = %w[ lib spec ]
61
+ t.pattern = "spec/**/*_spec.rb"
62
+ end
63
+ task :default => :test
64
+ rescue LoadError
65
+ Util.task_warning( 'test' )
66
+ end
67
+
68
+ #------------------------------------------------------------------------------
69
+ # RDoc - standard rdoc rake task, although we must make sure to use a more
70
+ # recent version of rdoc since it is the one that has 'tomdoc' markup
71
+ #------------------------------------------------------------------------------
72
+ begin
73
+ gem 'rdoc' # otherwise we get the wrong task from stdlib
74
+ require 'rdoc/task'
75
+ RDoc::Task.new do |t|
76
+ t.markup = 'tomdoc'
77
+ t.rdoc_dir = 'doc'
78
+ t.main = 'README.rdoc'
79
+ t.title = "#{This.name} #{This.version}"
80
+ t.rdoc_files.include( '*.rdoc', 'lib/**/*.rb' )
81
+ end
82
+ rescue LoadError => le
83
+ Util.task_warning( 'rdoc' )
84
+ end
85
+
86
+ #------------------------------------------------------------------------------
87
+ # Coverage - optional code coverage, rcov for 1.8 and simplecov for 1.9, so
88
+ # for the moment only rcov is listed.
89
+ #------------------------------------------------------------------------------
6
90
  begin
7
- USING_BONES_VERSION = '3.7.0'
8
- require 'bones'
91
+ require 'rcov/rcovtask'
92
+ Rcov::RcovTask.new do |t|
93
+ t.libs << 'spec'
94
+ t.pattern = 'spec/**/*_spec.rb'
95
+ t.verbose = true
96
+ t.rcov_opts << "-x ^/" # remove all the global files
97
+ t.rcov_opts << "--sort coverage" # so we see the worst files at the top
98
+ end
9
99
  rescue LoadError
10
- load 'tasks/contribute.rake'
11
- Rake.application.invoke_task( :help )
100
+ $stderr.puts "rcov task is not defined, please 'gem install rcov'"
12
101
  end
13
102
 
14
- task :default => 'test:run'
15
- task 'gem:release' => 'test:run'
16
-
17
- $:.unshift( "lib" )
18
- require 'launchy/version'
19
-
20
- Bones {
21
- name "launchy"
22
- authors "Jeremy Hinegardner"
23
- email "jeremy@copiousfreetime.org"
24
- url 'http://www.copiousfreetime.org/projects/launchy'
25
- version Launchy::VERSION
26
-
27
- ruby_opts %w[ -W0 -rubygems ]
28
- readme_file 'README'
29
- ignore_file '.gitignore'
30
- history_file 'HISTORY'
31
-
32
- rdoc.include << "README" << "HISTORY" << "LICENSE"
33
-
34
- summary 'Launchy is helper class for launching cross-platform applications in a fire and forget manner.'
35
- description <<_
36
- Launchy is helper class for launching cross-platform applications in a
37
- fire and forget manner.
38
-
39
- There are application concepts (browser, email client, etc) that are
40
- common across all platforms, and they may be launched differently on
41
- each platform. Launchy is here to make a common approach to launching
42
- external application from within ruby programs.
43
- _
44
-
45
- if RUBY_PLATFORM == "java" then
46
- depend_on "spoon" , "~> 0.0.1"
47
- depend_on 'ffi' , "~> 1.0.9"
48
- gem.extras = { :platform => Gem::Platform.new( "java" ) }
103
+ #------------------------------------------------------------------------------
104
+ # Manifest - We want an explicit list of thos files that are to be packaged in
105
+ # the gem. Most of this is from Hoe.
106
+ #------------------------------------------------------------------------------
107
+ namespace 'manifest' do
108
+ desc "Check the manifest"
109
+ task :check => :clean do
110
+ files = FileList["**/*", ".*"].exclude( This.exclude_from_manifest ).to_a.sort
111
+ files = files.select{ |f| File.file?( f ) }
112
+
113
+ tmp = "Manifest.tmp"
114
+ File.open( tmp, 'w' ) do |f|
115
+ f.puts files.join("\n")
116
+ end
117
+
118
+ begin
119
+ sh "diff -du Manifest.txt #{tmp}"
120
+ ensure
121
+ rm tmp
122
+ end
123
+ puts "Manifest looks good"
49
124
  end
50
125
 
51
- depend_on "addressable", "~> 2.2.6"
126
+ desc "Generate the manifest"
127
+ task :generate => :clean do
128
+ files = %x[ git ls-files ].split("\n").sort
129
+ files.reject! { |f| f =~ This.exclude_from_manifest }
130
+ File.open( "Manifest.txt", "w" ) do |f|
131
+ f.puts files.join("\n")
132
+ end
133
+ end
134
+ end
52
135
 
53
- depend_on "rake" , "~> 0.9.2", :development => true
54
- depend_on "minitest" , "~> 2.3.1", :development => true
55
- depend_on 'bones' , "~> #{USING_BONES_VERSION}", :development => true
56
- depend_on 'bones-rcov', "~> 1.0.1", :development => true
57
- depend_on 'rcov' , "~> 0.9.9", :development => true
58
- depend_on "spoon" , "~> 0.0.1", :development => true
59
- depend_on 'ffi' , "~> 1.0.9", :development => true
136
+ #------------------------------------------------------------------------------
137
+ # Gem Specification
138
+ #------------------------------------------------------------------------------
139
+ This.gemspec = Hash.new
140
+ This.gemspec['ruby'] = Gem::Specification.new do |spec|
141
+ spec.name = This.name
142
+ spec.version = This.version
143
+ spec.author = This.author
144
+ spec.email = This.email
145
+ spec.homepage = This.homepage
60
146
 
61
- test.files = FileList["spec/**/*_spec.rb"]
62
- test.opts << "-w -Ilib:spec"
147
+ spec.summary = This.summary
148
+ spec.description = This.description
63
149
 
64
- rcov.opts << "--exclude gems"
65
- }
150
+ spec.files = This.manifest
151
+ spec.executables = spec.files.grep(/^bin/) { |f| File.basename(f) }
152
+ spec.test_files = spec.files.grep(/^spec/)
153
+
154
+ spec.extra_rdoc_files += spec.files.grep(/(txt|rdoc)$/)
155
+ spec.rdoc_options = [ "--main" , 'README.rdoc', ]
156
+
157
+ # The Runtime Dependencies
158
+ spec.add_runtime_dependency( 'addressable', '~> 2.2.6' )
159
+
160
+ # The Development Dependencies
161
+ spec.add_development_dependency( 'rake' , '~> 0.9.2.2')
162
+ spec.add_development_dependency( 'minitest' , '~> 2.11.3' )
163
+ spec.add_development_dependency( 'rdoc' , '~> 3.12' )
164
+ spec.add_development_dependency( 'spoon' , '~> 0.0.1' )
165
+ spec.add_development_dependency( 'ffi' , '~> 1.0.9' )
66
166
 
67
- # Sorry Tim, I need to manage my own bones version
68
- ::Bones.config.gem._spec.dependencies.delete_if do |d|
69
- d.name == 'bones' and d.requirement.to_s =~ /^>=/
70
167
  end
168
+
169
+ #----------------------------------------------
170
+ # JRuby spec has a few more runtime dependencies
171
+ #----------------------------------------------
172
+ jruby_gemspec = This.gemspec['ruby'].dup
173
+ jruby_gemspec.add_runtime_dependency( 'spoon', '~> 0.0.1' )
174
+ jruby_gemspec.add_runtime_dependency( 'ffi' , '~> 1.0.9' )
175
+ jruby_gemspec.platform = 'java'
176
+ This.gemspec['java'] = jruby_gemspec
177
+
178
+
179
+ # The name of the gemspec file on disk
180
+ This.gemspec_file = "#{This.name}.gemspec"
181
+
182
+ # Really this is only here to support those who use bundler
183
+ desc "Build the #{This.name}.gemspec file"
184
+ task :gemspec do
185
+ File.open( This.gemspec_file, "wb+" ) do |f|
186
+ f.write Util.platform_gemspec.to_ruby
187
+ end
188
+ end
189
+
190
+ # the gemspec is also a dev artifact and should not be kept around.
191
+ CLOBBER << This.gemspec_file
192
+
193
+ # The standard gem packaging task, everyone has it.
194
+ require 'rubygems/package_task'
195
+ Gem::PackageTask.new( Util.platform_gemspec ) do
196
+ # nothing
197
+ end
198
+
199
+ #------------------------------------------------------------------------------
200
+ # Release - the steps we go through to do a final release, this is pulled from
201
+ # a compbination of mojombo's rakegem, hoe and hoe-git
202
+ #
203
+ # 1) make sure we are on the master branch
204
+ # 2) make sure there are no uncommitted items
205
+ # 3) check the manifest and make sure all looks good
206
+ # 4) build the gem
207
+ # 5) do an empty commit to have the commit message of the version
208
+ # 6) tag that commit as the version
209
+ # 7) push master
210
+ # 8) push the tag
211
+ # 7) pus the gem
212
+ #------------------------------------------------------------------------------
213
+ task :release_check do
214
+ unless `git branch` =~ /^\* master$/
215
+ abort "You must be on the master branch to release!"
216
+ end
217
+ unless `git status` =~ /^nothing to commit/m
218
+ abort "Nope, sorry, you have unfinished business"
219
+ end
220
+ end
221
+
222
+ desc "Create tag v#{This.version}, build and push #{Util.platform_gemspec.full_name} to rubygems.org"
223
+ task :release => [ :release_check, 'manifest:check', :gem ] do
224
+ sh "git commit --allow-empty -a -m 'Release #{This.version}'"
225
+ sh "git tag -a -m 'v#{This.version}' v#{This.version}"
226
+ sh "git push origin master"
227
+ sh "git push origin v#{This.version}"
228
+ sh "gem push pkg/#{Util.platform_gemspec.full_name}.gem"
229
+ end
230
+
231
+ #------------------------------------------------------------------------------
232
+ # Rakefile Support - This is all the guts and utility methods that are
233
+ # necessary to support the above tasks.
234
+ #
235
+ # Lots of Credit for this Rakefile goes to:
236
+ #
237
+ # Ara T. Howard - see the Rakefile in all of his projects -
238
+ # https://github.com/ahoward/
239
+ # Tom Preston Werner - his Rakegem project https://github.com/mojombo/rakegem
240
+ # Seattle.rb - Hoe - cuz it has relly good stuff in there
241
+ #------------------------------------------------------------------------------
242
+ BEGIN {
243
+
244
+ require 'ostruct'
245
+ require 'rake/clean'
246
+ require 'rubygems' unless defined? Gem
247
+
248
+ module Util
249
+ def self.version
250
+ [ "lib/#{ This.name }.rb", "lib/#{ This.name }/version.rb" ].each do |v|
251
+ line = File.read( v )[/^\s*VERSION\s*=\s*.*/]
252
+ if line then
253
+ return line.match(/.*VERSION\s*=\s*['"](.*)['"]/)[1]
254
+ end
255
+ end
256
+ end
257
+
258
+ # Partition an rdoc file into sections and return the text of the section
259
+ # as an array of paragraphs
260
+ def self.section_of( file, section_name )
261
+ re = /^=+ (.*)$/
262
+ parts = File.read( file ).split( re )[1..-1]
263
+ parts.map! { |p| p.strip }
264
+
265
+ sections = Hash.new
266
+ Hash[*parts].each do |k,v|
267
+ sections[k] = v.split("\n\n")
268
+ end
269
+ return sections[section_name]
270
+ end
271
+
272
+ def self.task_warning( task )
273
+ warn "WARNING: '#{task}' tasks are not defined. Please run 'rake develop'"
274
+ end
275
+
276
+ def self.read_manifest
277
+ abort "You need a Manifest.txt" unless File.readable?( "Manifest.txt" )
278
+ File.readlines( "Manifest.txt" ).map { |l| l.strip }
279
+ end
280
+
281
+ def self.platform_gemspec
282
+ This.gemspec[This.platform]
283
+ end
284
+ end
285
+
286
+ # Hold all the metadata about this project
287
+ This = OpenStruct.new
288
+ This.platform = (RUBY_PLATFORM == "java") ? 'java' : Gem::Platform::RUBY
289
+
290
+ desc = Util.section_of( 'README.rdoc', 'DESCRIPTION')
291
+ This.summary = desc.first
292
+ This.description = desc.join(" ").tr("\n", ' ').gsub(/[{}]/,'').gsub(/\[[^\]]+\]/,'') # strip rdoc
293
+
294
+
295
+ This.exclude_from_manifest = %r/tmp$|\.(git|DS_Store)|^(doc|coverage|pkg)|\.gemspec$|\.swp$|\.jar|\.rvmrc$|~$/
296
+ This.manifest = Util.read_manifest
297
+
298
+ }
@@ -55,9 +55,11 @@ class Launchy::Application
55
55
  possibilities.each do |p|
56
56
  Launchy.log "#{self.class.name} : possibility : #{p}"
57
57
  end
58
- browser = possibilities.shift
59
- Launchy.log "#{self.class.name} : Using browser value '#{browser}'"
60
- return browser
58
+ if browser = possibilities.shift then
59
+ Launchy.log "#{self.class.name} : Using browser value '#{browser}'"
60
+ return browser
61
+ end
62
+ raise Launchy::CommandNotFoundError, "Unable to find a browser command. If this is unexpected, #{Launchy.bug_report_message}"
61
63
  end
62
64
 
63
65
  def cmd_and_args( uri, options = {} )
data/lib/launchy/cli.rb CHANGED
@@ -7,7 +7,7 @@ module Launchy
7
7
  def initialize
8
8
  @options = {}
9
9
  end
10
-
10
+
11
11
  def parser
12
12
  @parser ||= OptionParser.new do |op|
13
13
  op.banner = "Usage: launchy [options] thing-to-launch"
@@ -14,7 +14,7 @@ module Launchy::Detect
14
14
  # NixDekstopEnvironment::Unknown
15
15
  def self.detect
16
16
  found = find_child( :is_current_desktop_environment? )
17
- Launchy.log("Current Desktop environment not flound. #{Launchy.bug_report_message}") unless found
17
+ Launchy.log("Current Desktop environment not found. #{Launchy.bug_report_message}") unless found
18
18
  return found
19
19
  end
20
20
 
@@ -48,7 +48,11 @@ module Launchy::Detect
48
48
 
49
49
  class Xfce < NixDesktopEnvironment
50
50
  def self.is_current_desktop_environment?
51
- %x[ xprop -root _DT_SAVE_MODE | grep ' = \"xfce\"$' ].strip.size > 0
51
+ if Launchy::Application.find_executable( 'xprop' ) then
52
+ %x[ xprop -root _DT_SAVE_MODE | grep ' = \"xfce\"$' ].strip.size > 0
53
+ else
54
+ false
55
+ end
52
56
  end
53
57
 
54
58
  def self.browser
@@ -28,7 +28,7 @@ module Launchy::Detect
28
28
  require 'spoon'
29
29
  return Jruby.new
30
30
  end
31
- return Forkable.new
31
+ return Forkable.new
32
32
  end
33
33
 
34
34
  #
@@ -55,6 +55,7 @@ module Launchy::Detect
55
55
  end
56
56
 
57
57
  def run( cmd, *args )
58
+ raise Launchy::CommandNotFoundError, "No command found to run with args '#{args.join(' ')}'. If this is unexpected, #{Launchy.bug_report_message}" unless cmd
58
59
  if Launchy.dry_run? then
59
60
  $stdout.puts dry_run( cmd, *args )
60
61
  else
data/lib/launchy/error.rb CHANGED
@@ -1,4 +1,5 @@
1
1
  module Launchy
2
2
  class Error < ::StandardError; end
3
3
  class ApplicationNotFoundError < Error; end
4
+ class CommandNotFoundError < Error; end
4
5
  end
@@ -1,5 +1,5 @@
1
1
  module Launchy
2
- VERSION = "2.0.5"
2
+ VERSION = "2.1.0"
3
3
 
4
4
  module Version
5
5
 
data/lib/launchy.rb CHANGED
@@ -51,7 +51,7 @@ module Launchy
51
51
  Launchy.application = options.delete( :application ) || ENV['LAUNCHY_APPLICATION']
52
52
  Launchy.host_os = options.delete( :host_os ) || ENV['LAUNCHY_HOST_OS']
53
53
  Launchy.ruby_engine = options.delete( :ruby_engine ) || ENV['LAUNCHY_RUBY_ENGINE']
54
- Launchy.dry_run = options.delete( :dry_run )
54
+ Launchy.dry_run = options.delete( :dry_run ) || ENV['LAUNCHY_DRY_RUN']
55
55
  end
56
56
 
57
57
  def debug=( d )
@@ -97,7 +97,7 @@ module Launchy
97
97
  end
98
98
 
99
99
  def bug_report_message
100
- "Please file a bug at https://github.com/copiousfreetime/launchy/issues/new"
100
+ "Please rerun with environment variable LAUNCHY_DEBUG=true or the '-d' commandline option and file a bug at https://github.com/copiousfreetime/launchy/issues/new"
101
101
  end
102
102
 
103
103
  def log(msg)
@@ -22,6 +22,10 @@ describe Launchy::Detect::NixDesktopEnvironment do
22
22
  end
23
23
  end
24
24
 
25
+ it "returns false for XFCE if xprop is not found" do
26
+ Launchy.host_os = "linux"
27
+ Launchy::Detect::NixDesktopEnvironment::Xfce.is_current_desktop_environment?.must_equal( false )
28
+ end
25
29
 
26
30
  it "returns nil if it cannot determine the *nix desktop environment" do
27
31
  Launchy.host_os = "linux"
@@ -20,6 +20,11 @@ describe Launchy::Detect::Runner do
20
20
  lambda{ Launchy::Detect::Runner.detect }.must_raise Launchy::Detect::RubyEngine::NotFoundError
21
21
  end
22
22
 
23
+ it "raises and error when there is no command found" do
24
+ runner = Launchy::Detect::Runner.detect
25
+ lambda{ runner.run( nil, *%w[ arg1 arg2 arg 3] ) }.must_raise Launchy::CommandNotFoundError
26
+ end
27
+
23
28
  # On anything that has fork, use Forkable
24
29
  %w[ linux darwin cygwin ].each do |host_os|
25
30
  %w[ ruby rbx macruby ].each do |engine_name|
data/spec/launchy_spec.rb CHANGED
@@ -23,6 +23,13 @@ describe Launchy do
23
23
  ENV["LAUNCHY_DEBUG"] = nil
24
24
  end
25
25
 
26
+ it "sets the global option :dry_run to value of LAUNCHY_DRY_RUN environment variable" do
27
+ ENV['LAUNCHY_DRY_RUN'] = 'true'
28
+ Launchy.extract_global_options({})
29
+ Launchy.dry_run?.must_equal 'true'
30
+ ENV['LAUNCHY_DRY_RUN'] = nil
31
+ end
32
+
26
33
  it "has the global option :debug" do
27
34
  Launchy.extract_global_options( { :debug => 'true' } )
28
35
  Launchy.debug?.must_equal true
data/spec/spec_helper.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  gem 'minitest'
2
- require 'minitest/autorun'
3
- require 'minitest/pride'
4
2
  require 'launchy'
5
3
  require 'stringio'
4
+ require 'minitest/autorun'
5
+ require 'minitest/pride'
metadata CHANGED
@@ -2,7 +2,7 @@
2
2
  name: launchy
3
3
  version: !ruby/object:Gem::Version
4
4
  prerelease:
5
- version: 2.0.5
5
+ version: 2.1.0
6
6
  platform: java
7
7
  authors:
8
8
  - Jeremy Hinegardner
@@ -10,144 +10,112 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-11-21 00:00:00 -07:00
14
- default_executable:
13
+ date: 2012-03-18 00:00:00 Z
15
14
  dependencies:
16
15
  - !ruby/object:Gem::Dependency
17
- name: spoon
16
+ name: addressable
18
17
  prerelease: false
19
18
  requirement: &id001 !ruby/object:Gem::Requirement
20
19
  none: false
21
20
  requirements:
22
21
  - - ~>
23
22
  - !ruby/object:Gem::Version
24
- version: 0.0.1
23
+ version: 2.2.6
25
24
  type: :runtime
26
25
  version_requirements: *id001
27
26
  - !ruby/object:Gem::Dependency
28
- name: ffi
27
+ name: rake
29
28
  prerelease: false
30
29
  requirement: &id002 !ruby/object:Gem::Requirement
31
30
  none: false
32
31
  requirements:
33
32
  - - ~>
34
33
  - !ruby/object:Gem::Version
35
- version: 1.0.9
36
- type: :runtime
34
+ version: 0.9.2.2
35
+ type: :development
37
36
  version_requirements: *id002
38
37
  - !ruby/object:Gem::Dependency
39
- name: addressable
38
+ name: minitest
40
39
  prerelease: false
41
40
  requirement: &id003 !ruby/object:Gem::Requirement
42
41
  none: false
43
42
  requirements:
44
43
  - - ~>
45
44
  - !ruby/object:Gem::Version
46
- version: 2.2.6
47
- type: :runtime
45
+ version: 2.11.3
46
+ type: :development
48
47
  version_requirements: *id003
49
48
  - !ruby/object:Gem::Dependency
50
- name: rake
49
+ name: rdoc
51
50
  prerelease: false
52
51
  requirement: &id004 !ruby/object:Gem::Requirement
53
52
  none: false
54
53
  requirements:
55
54
  - - ~>
56
55
  - !ruby/object:Gem::Version
57
- version: 0.9.2
56
+ version: "3.12"
58
57
  type: :development
59
58
  version_requirements: *id004
60
59
  - !ruby/object:Gem::Dependency
61
- name: minitest
60
+ name: spoon
62
61
  prerelease: false
63
62
  requirement: &id005 !ruby/object:Gem::Requirement
64
63
  none: false
65
64
  requirements:
66
65
  - - ~>
67
66
  - !ruby/object:Gem::Version
68
- version: 2.3.1
67
+ version: 0.0.1
69
68
  type: :development
70
69
  version_requirements: *id005
71
70
  - !ruby/object:Gem::Dependency
72
- name: bones
71
+ name: ffi
73
72
  prerelease: false
74
73
  requirement: &id006 !ruby/object:Gem::Requirement
75
74
  none: false
76
75
  requirements:
77
76
  - - ~>
78
77
  - !ruby/object:Gem::Version
79
- version: 3.7.0
78
+ version: 1.0.9
80
79
  type: :development
81
80
  version_requirements: *id006
82
- - !ruby/object:Gem::Dependency
83
- name: bones-rcov
84
- prerelease: false
85
- requirement: &id007 !ruby/object:Gem::Requirement
86
- none: false
87
- requirements:
88
- - - ~>
89
- - !ruby/object:Gem::Version
90
- version: 1.0.1
91
- type: :development
92
- version_requirements: *id007
93
- - !ruby/object:Gem::Dependency
94
- name: rcov
95
- prerelease: false
96
- requirement: &id008 !ruby/object:Gem::Requirement
97
- none: false
98
- requirements:
99
- - - ~>
100
- - !ruby/object:Gem::Version
101
- version: 0.9.9
102
- type: :development
103
- version_requirements: *id008
104
81
  - !ruby/object:Gem::Dependency
105
82
  name: spoon
106
83
  prerelease: false
107
- requirement: &id009 !ruby/object:Gem::Requirement
84
+ requirement: &id007 !ruby/object:Gem::Requirement
108
85
  none: false
109
86
  requirements:
110
87
  - - ~>
111
88
  - !ruby/object:Gem::Version
112
89
  version: 0.0.1
113
- type: :development
114
- version_requirements: *id009
90
+ type: :runtime
91
+ version_requirements: *id007
115
92
  - !ruby/object:Gem::Dependency
116
93
  name: ffi
117
94
  prerelease: false
118
- requirement: &id010 !ruby/object:Gem::Requirement
95
+ requirement: &id008 !ruby/object:Gem::Requirement
119
96
  none: false
120
97
  requirements:
121
98
  - - ~>
122
99
  - !ruby/object:Gem::Version
123
100
  version: 1.0.9
124
- type: :development
125
- version_requirements: *id010
126
- description: |
127
- Launchy is helper class for launching cross-platform applications in a
128
- fire and forget manner.
129
-
130
- There are application concepts (browser, email client, etc) that are
131
- common across all platforms, and they may be launched differently on
132
- each platform. Launchy is here to make a common approach to launching
133
- external application from within ruby programs.
134
-
101
+ type: :runtime
102
+ version_requirements: *id008
103
+ description: Launchy is helper class for launching cross-platform applications in a fire and forget manner. There are application concepts (browser, email client, etc) that are common across all platforms, and they may be launched differently on each platform. Launchy is here to make a common approach to launching external application from within ruby programs.
135
104
  email: jeremy@copiousfreetime.org
136
105
  executables:
137
106
  - launchy
138
107
  extensions: []
139
108
 
140
109
  extra_rdoc_files:
141
- - HISTORY
142
- - LICENSE
143
- - README
144
- - bin/launchy
110
+ - HISTORY.rdoc
111
+ - Manifest.txt
112
+ - README.rdoc
145
113
  files:
146
- - .gitignore
147
- - HISTORY
114
+ - HISTORY.rdoc
148
115
  - LICENSE
116
+ - Manifest.txt
149
117
  - NOTES
150
- - README
118
+ - README.rdoc
151
119
  - Rakefile
152
120
  - bin/launchy
153
121
  - lib/launchy.rb
@@ -178,16 +146,13 @@ files:
178
146
  - spec/spec_helper.rb
179
147
  - spec/tattle-host-os.yaml
180
148
  - spec/version_spec.rb
181
- - tasks/bundler.rake
182
- - tasks/contribute.rake
183
- has_rdoc: true
184
- homepage: http://www.copiousfreetime.org/projects/launchy
149
+ homepage: http://github.com/copiousfreetime/launchy
185
150
  licenses: []
186
151
 
187
152
  post_install_message:
188
153
  rdoc_options:
189
154
  - --main
190
- - README
155
+ - README.rdoc
191
156
  require_paths:
192
157
  - lib
193
158
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -204,19 +169,22 @@ required_rubygems_version: !ruby/object:Gem::Requirement
204
169
  version: "0"
205
170
  requirements: []
206
171
 
207
- rubyforge_project: launchy
208
- rubygems_version: 1.5.1
172
+ rubyforge_project:
173
+ rubygems_version: 1.8.15
209
174
  signing_key:
210
175
  specification_version: 3
211
176
  summary: Launchy is helper class for launching cross-platform applications in a fire and forget manner.
212
177
  test_files:
213
178
  - spec/application_spec.rb
214
- - spec/cli_spec.rb
215
- - spec/launchy_spec.rb
216
- - spec/version_spec.rb
217
179
  - spec/applications/browser_spec.rb
180
+ - spec/cli_spec.rb
218
181
  - spec/detect/host_os_family_spec.rb
219
182
  - spec/detect/host_os_spec.rb
220
183
  - spec/detect/nix_desktop_environment_spec.rb
221
184
  - spec/detect/ruby_engine_spec.rb
222
185
  - spec/detect/runner_spec.rb
186
+ - spec/launchy_spec.rb
187
+ - spec/mock_application.rb
188
+ - spec/spec_helper.rb
189
+ - spec/tattle-host-os.yaml
190
+ - spec/version_spec.rb
data/.gitignore DELETED
@@ -1,9 +0,0 @@
1
- *~
2
- *.swo
3
- *.swp
4
- doc/
5
- coverage/
6
- pkg/
7
- *.gemspec
8
- Gemfile*
9
- .rvmrc
data/tasks/bundler.rake DELETED
@@ -1,13 +0,0 @@
1
- namespace :bundle do
2
-
3
- file 'Gemfile' => [ 'gem:spec' ] do
4
- File.open( 'Gemfile', 'w+' ) do |f|
5
- f.puts 'source "http://rubygems.org"'
6
- f.puts 'gemspec'
7
- end
8
- end
9
-
10
- desc "Create a bundler Gemfile"
11
- task :gemfile => 'Gemfile'
12
-
13
- end
@@ -1,36 +0,0 @@
1
- desc "Instructions on how to contribute to launchy"
2
- task :help do
3
- abort <<-_banner
4
- -----------------------------------------------------------------------
5
- I see you are wanting to do some development on launchy. You will
6
- need to install the 'bones' gem first.
7
-
8
- % gem install bones -v #{USING_BONES_VERSION}
9
-
10
- The easiest way to start after that is with the
11
- 'install:dependencies' task:
12
-
13
- % rake gem:install_dependencies
14
-
15
- If you use bundler, then you will need to first create the Gemfile
16
- and then run 'bundle install':
17
-
18
- % rake bundle:gemfile
19
- % bundle install
20
-
21
- Now you are ready to work on launchy. Please submit bugs and pull
22
- requests to:
23
-
24
- https://github.com/copiousfreetime/launchy
25
-
26
- Thanks!
27
-
28
- -jeremy
29
- -----------------------------------------------------------------------
30
- _banner
31
- end
32
-
33
- desc "(Alias for 'help') Instructions on how to contribute to launchy"
34
- task 'how_to_contribute' => :help
35
- desc "(Alias for 'help') Instructions on how to contribute to launchy"
36
- task '==> I WANT TO CONTRIBUTE <==' => :help