Upgraded Rails and RSpec
[monkeycharger.git] / vendor / plugins / rspec / RSpec.tmbundle / Support / lib / spec / mate / runner.rb
blobf669208de9ebaec3455ce9e551aad317f9b19258
1 module Spec
2   module Mate
3     class Runner
4       def run_files(stdout, options={})
5         files = ENV['TM_SELECTED_FILES'].split(" ").map{|p| p[1..-2]}
6         options.merge!({:files => files})
7         run(stdout, options)
8       end
10       def run_file(stdout, options={})
11         options.merge!({:files => [single_file]})
12         run(stdout, options)
13       end
15       def run_focussed(stdout, options={})
16         options.merge!({:files => [single_file], :line => ENV['TM_LINE_NUMBER']})
17         run(stdout, options)
18       end
20       def single_file
21         ENV['TM_FILEPATH'][ENV['TM_PROJECT_DIRECTORY'].length+1..-1]
22       end
24       def run(stdout, options)
25         argv = options[:files].dup
26         argv << '--format'
27         argv << 'textmate'
28         if options[:line]
29           argv << '--line'
30           argv << options[:line]
31         end
32         argv += ENV['TM_RSPEC_OPTS'].split(" ") if ENV['TM_RSPEC_OPTS']
33         Dir.chdir(ENV['TM_PROJECT_DIRECTORY']) do
34           ::Spec::Runner::CommandLine.run(::Spec::Runner::OptionParser.parse(argv, STDERR, stdout))
35         end
36       end
37     end
38   end
39 end