redcar 0.3.9 → 0.3.10.0dev

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.
Files changed (46) hide show
  1. data/CHANGES +18 -2
  2. data/Rakefile +9 -1
  3. data/bin/redcar +1 -1
  4. data/lib/redcar.rb +26 -21
  5. data/lib/redcar/runner.rb +8 -4
  6. data/plugins/document_search/features/replace.feature +9 -0
  7. data/plugins/document_search/lib/document_search/search.rb +7 -5
  8. data/plugins/project/lib/project.rb +1 -1
  9. data/plugins/project/lib/project/adapters/remote.rb +0 -2
  10. data/plugins/project/lib/project/adapters/remote_protocols/ftp.rb +2 -2
  11. data/plugins/project/lib/project/adapters/remote_protocols/protocol.rb +0 -2
  12. data/plugins/project/lib/project/adapters/remote_protocols/sftp.rb +2 -2
  13. data/plugins/redcar/redcar.rb +4 -1
  14. data/plugins/runnables/lib/runnables.rb +27 -12
  15. data/plugins/runnables/lib/runnables/command_output_controller.rb +20 -3
  16. data/plugins/runnables/lib/runnables/output_processor.rb +63 -0
  17. data/plugins/runnables/spec/runnables/output_processor_spec.rb +57 -0
  18. data/plugins/runnables/spec/spec_helper.rb +5 -0
  19. data/plugins/runnables/vendor/session/LICENSE +3 -0
  20. data/plugins/runnables/vendor/{session-2.4.0/HISTORY → session/README} +96 -1
  21. data/plugins/runnables/vendor/session/Rakefile +233 -0
  22. data/plugins/runnables/vendor/session/gemspec.rb +62 -0
  23. data/plugins/runnables/vendor/{session-2.4.0 → session}/lib/session.rb +6 -103
  24. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/bash.rb +0 -0
  25. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/driver.rb +0 -0
  26. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/session_idl.rb +0 -0
  27. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/session_sh.rb +0 -0
  28. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/sh0.rb +0 -0
  29. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/stdin.rb +0 -0
  30. data/plugins/runnables/vendor/{session-2.4.0 → session}/sample/threadtest.rb +0 -0
  31. data/plugins/runnables/vendor/session/session.gemspec +27 -0
  32. data/plugins/runnables/vendor/{session-2.4.0 → session}/test/session.rb +3 -0
  33. data/plugins/runnables/views/basic_ansi.css +34 -0
  34. data/plugins/runnables/views/color_tester.html +50 -0
  35. data/plugins/runnables/views/command_output.html.erb +7 -1
  36. data/plugins/strip_trailing_spaces/CHANGELOG +12 -0
  37. data/plugins/strip_trailing_spaces/README.md +32 -0
  38. data/plugins/strip_trailing_spaces/lib/strip_trailing_spaces.rb +53 -0
  39. data/plugins/strip_trailing_spaces/plugin.rb +8 -0
  40. metadata +4225 -4200
  41. data/plugins/runnables/vendor/session-2.4.0/README +0 -89
  42. data/plugins/runnables/vendor/session-2.4.0/TODO +0 -3
  43. data/plugins/runnables/vendor/session-2.4.0/VERSION +0 -1
  44. data/plugins/runnables/vendor/session-2.4.0/gemspec.rb +0 -22
  45. data/plugins/runnables/vendor/session-2.4.0/install.rb +0 -143
  46. data/plugins/runnables/vendor/session-2.4.0/session-2.4.0.gem +0 -0
@@ -1,89 +0,0 @@
1
- URLS: |
2
-
3
- http://raa.ruby-lang.org/project/session/
4
- http://www.codeforpeople.com/lib/ruby/session/
5
-
6
-
7
- NAME: |
8
-
9
- Session
10
- ::Sh
11
- ::Bash
12
- ::Shell
13
- ::IDL
14
-
15
- SYNOPSIS: |
16
-
17
- Session::* offers a set of classes built upon Open3::popen3 for driving
18
- external progams via pipes. It offers a significant abstraction over
19
- Open3::popen in that the stdout/stderr of each command sent can be deliniated:
20
-
21
- open3:
22
-
23
- i.o,e = Open3::popen3 '/bin/sh'
24
-
25
- i.puts 'ls'
26
- i.puts 'echo 42'
27
-
28
- now, how to determine the boundry between the output from 'ls' and 'echo'?
29
- the only (simple) way is start a process for each command
30
-
31
- i.o,e = Open3::popen3 '/bin/sh'
32
- i.puts 'ls'
33
- i.close
34
- stdout, stderr = o.read, e.read
35
-
36
- i.o,e = Open3::popen3 '/bin/sh'
37
- i.puts 'echo 42'
38
- i.close
39
- stdout, stderr = o.read, e.read
40
-
41
- session:
42
-
43
- sh = Session::new
44
-
45
- stdout, stderr = sh.execute 'ls'
46
- stdout, stderr = sh.execute 'echo 42'
47
-
48
- Both stderr and stdout can be redirected, and the exit_status of each command
49
- is made available:
50
-
51
- bash = Session::Bash.new
52
- stdout, stderr = StringIO::new, StringIO::new
53
-
54
- bash.execute 'ls', :stdout => stdout, :stderr => stderr
55
- # bash.execute 'ls', 1 => stdout, 2 => stderr # same thing
56
- # bash.execute 'ls', :o => stdout, :e => stderr # same thing
57
-
58
- exit_status = bash.exit_status
59
-
60
- A block form can be used to specify a callback to be invoked whenever output
61
- has become availible:
62
-
63
- bash = Session::Bash.new
64
-
65
- bash.execute( 'long_running_command.exe' ) do |out, err|
66
- logger << out if out
67
- elogger << err if err
68
- end
69
-
70
- Sessions are Thread safe (in the sense that they do not block on io
71
- operations) allowing commands spawned from guis to update widgets with output
72
- while running in the background.
73
-
74
- button.configure 'action' => lambda do
75
- sh = Session::new
76
- sh.execute(cmd) do |o,e|
77
- out_widget.update o if o
78
- err_widget.update e if e
79
- end
80
- end
81
-
82
- SAMPLES: |
83
-
84
- see samples/*
85
-
86
-
87
- AUTHOR: |
88
-
89
- ara.t.howard@noaa.gov
@@ -1,3 +0,0 @@
1
- TODO:
2
- - factor out err/out methods from send_command so subclassing is safer
3
- - determine non-system call method of doing 'mkfifo', possibly c extension?
@@ -1 +0,0 @@
1
- 2.4.0
@@ -1,22 +0,0 @@
1
- lib, version = File::basename(File::dirname(File::expand_path(__FILE__))).split %r/-/, 2
2
-
3
- require 'rubygems'
4
-
5
- spec = Gem::Specification.new do |s|
6
- s.name = lib
7
- s.version = version
8
- s.platform = Gem::Platform::RUBY
9
- s.summary = lib
10
-
11
- s.files = Dir["lib/*"] + Dir["bin/*"]
12
-
13
- s.require_path = "lib"
14
- s.autorequire = lib
15
-
16
- s.has_rdoc = File::exist? "doc"
17
- s.test_suite_file = "test/#{ lib }.rb" if File::directory? "test"
18
-
19
- s.author = "Ara T. Howard"
20
- s.email = "ara.t.howard@noaa.gov"
21
- s.homepage = "http://codeforpeople.com/lib/ruby/#{ lib }/"
22
- end
@@ -1,143 +0,0 @@
1
- #!/usr/bin/env ruby
2
- require 'rbconfig'
3
- require 'find'
4
- require 'ftools'
5
- require 'tempfile'
6
- include Config
7
-
8
- LIBDIR = "lib"
9
- LIBDIR_MODE = 0644
10
-
11
- BINDIR = "bin"
12
- BINDIR_MODE = 0755
13
-
14
-
15
- $srcdir = CONFIG["srcdir"]
16
- $version = CONFIG["MAJOR"]+"."+CONFIG["MINOR"]
17
- $libdir = File.join(CONFIG["libdir"], "ruby", $version)
18
- $archdir = File.join($libdir, CONFIG["arch"])
19
- $site_libdir = $:.find {|x| x =~ /site_ruby$/}
20
- $bindir = CONFIG["bindir"]
21
- $ruby_install_name = CONFIG['ruby_install_name'] || CONFIG['RUBY_INSTALL_NAME']
22
- $ruby = File.join($bindir, $ruby_install_name || 'ruby')
23
-
24
- if !$site_libdir
25
- $site_libdir = File.join($libdir, "site_ruby")
26
- elsif $site_libdir !~ %r/#{Regexp.quote($version)}/
27
- $site_libdir = File.join($site_libdir, $version)
28
- end
29
-
30
- def install_rb(srcdir=nil, destdir=nil, mode=nil, bin=nil)
31
- #{{{
32
- path = []
33
- dir = []
34
- Find.find(srcdir) do |f|
35
- next unless FileTest.file?(f)
36
- next if (f = f[srcdir.length+1..-1]) == nil
37
- next if (/CVS$/ =~ File.dirname(f))
38
- path.push f
39
- dir |= [File.dirname(f)]
40
- end
41
- for f in dir
42
- next if f == "."
43
- next if f == "CVS"
44
- File::makedirs(File.join(destdir, f))
45
- end
46
- for f in path
47
- next if (/\~$/ =~ f)
48
- next if (/^\./ =~ File.basename(f))
49
- unless bin
50
- File::install(File.join(srcdir, f), File.join(destdir, f), mode, true)
51
- else
52
- from = File.join(srcdir, f)
53
- to = File.join(destdir, f)
54
- shebangify(from) do |sf|
55
- $deferr.print from, " -> ", File::catname(from, to), "\n"
56
- $deferr.printf "chmod %04o %s\n", mode, to
57
- File::install(sf, to, mode, false)
58
- end
59
- end
60
- end
61
- #}}}
62
- end
63
- def shebangify f
64
- #{{{
65
- open(f) do |fd|
66
- buf = fd.read 42
67
- if buf =~ %r/^\s*#\s*!.*ruby/o
68
- ftmp = Tempfile::new("#{ $$ }_#{ File::basename(f) }")
69
- begin
70
- fd.rewind
71
- ftmp.puts "#!#{ $ruby }"
72
- while((buf = fd.read(8192)))
73
- ftmp.write buf
74
- end
75
- ftmp.close
76
- yield ftmp.path
77
- ensure
78
- ftmp.close!
79
- end
80
- else
81
- yield f
82
- end
83
- end
84
- #}}}
85
- end
86
- def ARGV.switch
87
- #{{{
88
- return nil if self.empty?
89
- arg = self.shift
90
- return nil if arg == '--'
91
- if arg =~ /^-(.)(.*)/
92
- return arg if $1 == '-'
93
- raise 'unknown switch "-"' if $2.index('-')
94
- self.unshift "-#{$2}" if $2.size > 0
95
- "-#{$1}"
96
- else
97
- self.unshift arg
98
- nil
99
- end
100
- #}}}
101
- end
102
- def ARGV.req_arg
103
- #{{{
104
- self.shift || raise('missing argument')
105
- #}}}
106
- end
107
-
108
-
109
- #
110
- # main program
111
- #
112
-
113
- libdir = $site_libdir
114
- bindir = $bindir
115
-
116
- begin
117
- while switch = ARGV.switch
118
- case switch
119
- when '-d', '--destdir'
120
- libdir = ARGV.req_arg
121
- when '-l', '--libdir'
122
- libdir = ARGV.req_arg
123
- when '-b', '--bindir'
124
- bindir = ARGV.req_arg
125
- when '-r', '--ruby'
126
- $ruby = ARGV.req_arg
127
- else
128
- raise "unknown switch #{switch.dump}"
129
- end
130
- end
131
- rescue
132
- STDERR.puts $!.to_s
133
- STDERR.puts File.basename($0) +
134
- " -d <destdir>" +
135
- " -l <libdir>" +
136
- " -b <bindir>"
137
- " -r <ruby>"
138
- exit 1
139
- end
140
-
141
- install_rb(LIBDIR, libdir, LIBDIR_MODE)
142
- install_rb(BINDIR, bindir, BINDIR_MODE, bin=true)
143
-