spackle 0.0.1 → 0.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
data/README.rdoc CHANGED
@@ -82,6 +82,15 @@ Add to your spec_helper.rb:
82
82
  require "spackle"
83
83
  Spackle.init :with => :spec_formatter
84
84
 
85
+ <b>Note</b>: if you're not otherwise <em>explicitly</em> specifying
86
+ a standard RSpec formatter, Spackle's formatter will swallow all
87
+ your test run results, which probably isn't what you want. To prevent
88
+ this, simply make sure you specify another RSpec output formatter.
89
+ Probably the easiest way to do this is to ensure you have the following
90
+ in your <tt>spec/spec.opts</tt>
91
+
92
+ --format progress
93
+
85
94
  Now whenever RSpec runs, Spackle will listen in to your test results and
86
95
  relay information about any errors to your editor.
87
96
 
data/Rakefile CHANGED
@@ -15,6 +15,7 @@ Just tell your editor to jump to the next error location.
15
15
  gem.homepage = "http://github.com/rleemorlang/spackle"
16
16
  gem.authors = ["Rick Lee-Morlang"]
17
17
  gem.add_development_dependency "rspec", ">= 1.2.9"
18
+ gem.add_dependency "project_scout"
18
19
  # gem is a Gem::Specification... see http://www.rubygems.org/read/chapter/20 for additional settings
19
20
  end
20
21
  Jeweler::GemcutterTasks.new
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.1
1
+ 0.0.2
@@ -2,7 +2,7 @@
2
2
  spackle_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
3
3
  $LOAD_PATH.unshift(spackle_dir) unless $LOAD_PATH.include?(spackle_dir)
4
4
 
5
- require 'spackle/helpers/ruby_project_root'
5
+ require 'project_scout'
6
6
 
7
7
  # Load a Vim Quickfix file in an active vim session.
8
8
  #
@@ -24,7 +24,7 @@ def servername_from_arguments
24
24
  end
25
25
 
26
26
  def servername_from_project_root
27
- project_root = Spackle::Helpers::RubyProjectRoot.search Dir.pwd
27
+ project_root = ProjectScout.scan Dir.pwd
28
28
  File.basename(project_root) if project_root
29
29
  end
30
30
 
@@ -41,7 +41,9 @@ unless server_running?
41
41
  sleep 1
42
42
  end
43
43
 
44
+ STDERR.reopen("/dev/null")
45
+ STDOUT.reopen(STDERR)
44
46
  system %{gvim --servername #{servername} --remote-send "<ESC>" &> /dev/null}
45
47
  system %{gvim --servername #{servername} --remote-expr "LoadSpackleQuickfix('#{ARGV.first}')" &> /dev/null}
46
48
  system %{gvim --servername #{servername} --remote-send "<ESC><C-W>p" &> /dev/null}
47
-
49
+ exit
data/bin/spackle-vim-open CHANGED
@@ -30,7 +30,7 @@ def servername_from_arguments
30
30
  end
31
31
 
32
32
  def servername_from_project_root
33
- project_root = Spackle::Helpers::RubyProjectRoot.search Dir.pwd
33
+ project_root = ProjectScout.scan Dir.pwd
34
34
  File.basename(project_root) if project_root
35
35
  end
36
36
 
@@ -44,6 +44,7 @@ def arguments
44
44
  arguments << "--remote-silent"
45
45
  arguments += ARGV
46
46
  end
47
+ arguments
47
48
  end
48
49
 
49
50
  system *arguments
data/lib/spackle.rb CHANGED
@@ -1,10 +1,11 @@
1
1
  $LOAD_PATH.unshift(File.join(File.dirname(__FILE__)))
2
2
 
3
+ require 'project_scout'
4
+
3
5
  require 'spackle/configuration'
4
6
  require 'spackle/error'
5
7
  require 'spackle/output'
6
8
  require 'spackle/spec' if defined? Spec
7
- require 'spackle/helpers/ruby_project_root'
8
9
 
9
10
  module Spackle
10
11
  class << self
@@ -62,7 +63,7 @@ module Spackle
62
63
  else
63
64
  config_files << File.expand_path("~/.spackle")
64
65
 
65
- project_root = Spackle::Helpers::RubyProjectRoot.search Dir.pwd
66
+ project_root = ProjectScout.scan Dir.pwd
66
67
  if project_root
67
68
  config_files << File.join(project_root, ".spackle")
68
69
  end
@@ -78,7 +79,7 @@ module Spackle
78
79
  end
79
80
 
80
81
  def spackle_file
81
- projectname = Spackle::Helpers::RubyProjectRoot.search Dir.pwd
82
+ projectname = ProjectScout.scan Dir.pwd
82
83
  projectname = File.basename(projectname) + ".spackle" if projectname
83
84
  filename = configuration.spackle_file || projectname || "default.spackle"
84
85
 
data/spec/spackle_spec.rb CHANGED
@@ -31,7 +31,7 @@ describe Spackle do
31
31
  end
32
32
 
33
33
  it "should check for a .spackle file in the project root directory" do
34
- Spackle::Helpers::RubyProjectRoot.should_receive(:search).and_return("/some/dir/project")
34
+ ProjectScout.should_receive(:scan).and_return("/some/dir/project")
35
35
  File.should_receive(:exists?).with any_args()
36
36
  File.should_receive(:exists?).with("/some/dir/project/.spackle").and_return(true)
37
37
  Spackle.load_config_from_dotfile.should be_true
@@ -82,12 +82,12 @@ describe Spackle do
82
82
  end
83
83
 
84
84
  it "should end with default.spackle if no project root detected" do
85
- Spackle::Helpers::RubyProjectRoot.stub! :search => nil
85
+ ProjectScout.stub! :scan => nil
86
86
  Spackle.spackle_file.should match(%r(/default\.spackle$))
87
87
  end
88
88
 
89
89
  it "should be named after the project root if detected" do
90
- Spackle::Helpers::RubyProjectRoot.should_receive(:search).and_return("/some/dir/project")
90
+ ProjectScout.should_receive(:scan).and_return("/some/dir/project")
91
91
  Spackle.spackle_file.should match(%r(/project\.spackle$))
92
92
  end
93
93
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: spackle
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Rick Lee-Morlang
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-17 00:00:00 -08:00
12
+ date: 2009-12-07 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -22,6 +22,16 @@ dependencies:
22
22
  - !ruby/object:Gem::Version
23
23
  version: 1.2.9
24
24
  version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: project_scout
27
+ type: :runtime
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: "0"
34
+ version:
25
35
  description: "\n\
26
36
  Spackle tells your editor about the errors in your code. No more need to \n\
27
37
  visually scan your test output for errors, filenames, and line numbers.\n\
@@ -31,7 +41,6 @@ email: rick@lee-morlang.com
31
41
  executables:
32
42
  - spackle
33
43
  - spackle-vim-open
34
- - ruby-project-root
35
44
  - spackle-vim-load-quickfix
36
45
  extensions: []
37
46
 
@@ -45,7 +54,6 @@ files:
45
54
  - README.rdoc
46
55
  - Rakefile
47
56
  - VERSION
48
- - bin/ruby-project-root
49
57
  - bin/spackle
50
58
  - bin/spackle-vim-load-quickfix
51
59
  - bin/spackle-vim-open
@@ -53,7 +61,6 @@ files:
53
61
  - lib/spackle/commandline.rb
54
62
  - lib/spackle/configuration.rb
55
63
  - lib/spackle/error.rb
56
- - lib/spackle/helpers/ruby_project_root.rb
57
64
  - lib/spackle/output.rb
58
65
  - lib/spackle/output/base.rb
59
66
  - lib/spackle/output/vim_quickfix.rb
@@ -1,14 +0,0 @@
1
- #!/usr/bin/env ruby
2
- spackle_dir = File.expand_path(File.join(File.dirname(__FILE__), '..', 'lib'))
3
- $LOAD_PATH.unshift(spackle_dir) unless $LOAD_PATH.include?(spackle_dir)
4
-
5
- require 'spackle/helpers/ruby_project_root'
6
-
7
- project_root = Spackle::Helpers::RubyProjectRoot.search Dir.pwd
8
-
9
- if project_root.nil?
10
- exit 1
11
- else
12
- puts project_root
13
- end
14
-
@@ -1,34 +0,0 @@
1
- module Spackle
2
- module Helpers
3
- module RubyProjectRoot
4
- class << self
5
- # Search recursively from the current working directory up for something
6
- # that looks like the root directory of a Ruby project.
7
- #
8
- # Returns the path to the found project dir, if any. Nil otherwise.
9
- #
10
- # Stops looking when it reaches the top of the tree, or the user's
11
- # home directory.
12
- #
13
- # Detects a project dir via any of:
14
- # * a config/environment.rb file
15
- # * a spec/spec_helper.rb file
16
- # * a features/step_definitions directory
17
- def search(directory)
18
- directory = File.expand_path(directory)
19
- while directory != '/'
20
- return directory if is_project_dir?(directory)
21
- directory = File.expand_path(directory + '/..')
22
- end
23
- nil
24
- end
25
-
26
- def is_project_dir?(path)
27
- File.exists?(File.join(path, "config/environment.rb")) ||
28
- File.exists?(File.join(path, "spec/spec_helper.rb")) ||
29
- File.directory?(File.join(path, "features/step_definitions"))
30
- end
31
- end
32
- end
33
- end
34
- end