oct 0.2.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
data/.gemfiles CHANGED
@@ -14,17 +14,22 @@ bin/oct
14
14
  config/cucumber.yml
15
15
  features/bin.feature
16
16
  features/oct.feature
17
+ features/settings.feature
17
18
  features/step_definitions/.gitignore
18
19
  features/step_definitions/oct_steps.rb
19
20
  features/support/aruba.rb
20
21
  features/support/env.rb
21
22
  lib/oct.rb
22
23
  lib/oct/app.rb
24
+ lib/oct/core/array.rb
25
+ lib/oct/core/hash.rb
23
26
  lib/oct/oct.rb
27
+ lib/oct/settings.rb
24
28
  oct.gemspec
29
+ spec/aruba_helper.rb
30
+ spec/basic_app/array_spec.rb
25
31
  spec/basic_gem/aruba_helper_spec.rb
26
32
  spec/basic_gem/basic_gem_spec.rb
27
33
  spec/basic_gem/gemspec_spec.rb
28
- spec/spec.opts
29
34
  spec/spec_helper.rb
30
35
  spec/watchr.rb
data/.gitignore CHANGED
@@ -1,10 +1,7 @@
1
- pkg/*
2
- *.gem
3
- .bundle
4
- coverage
5
- rdoc
6
- .yardoc
1
+ /pkg/
2
+ /.bundle/
3
+ /rdoc/
4
+ /.yardoc/
7
5
  rerun.txt
8
6
  tags
9
- tmp/fixtures
10
- tmp/aruba
7
+ /tmp/
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- source :rubygems
1
+ source "http://rubygems.org"
2
2
 
3
3
  # Specify your gem's dependencies in the .gemspec file
4
4
  gemspec
data/Gemfile.lock CHANGED
@@ -1,49 +1,58 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- oct (0.2.0)
5
- configatron (>= 2.5.1)
4
+ oct (0.3.1)
6
5
  term-ansicolor (>= 1.0.4)
7
6
 
8
7
  GEM
9
8
  remote: http://rubygems.org/
10
9
  specs:
11
- aruba (0.2.3)
12
- background_process
13
- cucumber (~> 0.9.0)
14
- background_process (1.2)
15
- builder (2.1.2)
16
- configatron (2.6.3)
17
- yamler (>= 0.1.0)
18
- cucumber (0.9.4)
19
- builder (~> 2.1.2)
10
+ aruba (0.4.6)
11
+ bcat (>= 0.6.1)
12
+ childprocess (>= 0.2.0)
13
+ cucumber (>= 1.0.2)
14
+ rdiscount (>= 1.6.8)
15
+ rspec (>= 2.6.0)
16
+ bcat (0.6.2)
17
+ rack (~> 1.0)
18
+ builder (3.0.0)
19
+ childprocess (0.2.2)
20
+ ffi (~> 1.0.6)
21
+ cucumber (1.1.0)
22
+ builder (>= 2.1.2)
23
+ diff-lcs (>= 1.1.2)
24
+ gherkin (~> 2.5.0)
25
+ json (>= 1.4.6)
26
+ term-ansicolor (>= 1.0.6)
27
+ diff-lcs (1.1.3)
28
+ ffi (1.0.10)
29
+ gherkin (2.5.4)
30
+ json (>= 1.4.6)
31
+ json (1.6.1)
32
+ rack (1.3.5)
33
+ rake (0.9.2.2)
34
+ rdiscount (1.6.8)
35
+ redcarpet (1.17.2)
36
+ rspec (2.7.0)
37
+ rspec-core (~> 2.7.0)
38
+ rspec-expectations (~> 2.7.0)
39
+ rspec-mocks (~> 2.7.0)
40
+ rspec-core (2.7.1)
41
+ rspec-expectations (2.7.0)
20
42
  diff-lcs (~> 1.1.2)
21
- gherkin (~> 2.2.9)
22
- json (~> 1.4.6)
23
- term-ansicolor (~> 1.0.5)
24
- diff-lcs (1.1.2)
25
- gherkin (2.2.9)
26
- json (~> 1.4.6)
27
- term-ansicolor (~> 1.0.5)
28
- json (1.4.6)
29
- kramdown (0.12.0)
30
- rake (0.8.7)
31
- rspec (1.3.1)
32
- term-ansicolor (1.0.5)
33
- yamler (0.1.0)
34
- yard (0.6.2)
43
+ rspec-mocks (2.7.0)
44
+ term-ansicolor (1.0.7)
45
+ yard (0.7.3)
35
46
 
36
47
  PLATFORMS
37
48
  ruby
38
49
 
39
50
  DEPENDENCIES
40
- aruba (>= 0.2.2)
41
- bundler (>= 1.0.7)
42
- configatron (>= 2.5.1)
43
- cucumber (>= 0.9.4)
44
- kramdown (>= 0.12.0)
51
+ aruba (~> 0.4.3)
52
+ bundler (>= 1.0.14)
53
+ cucumber (~> 1.0)
45
54
  oct!
46
55
  rake (>= 0.8.7)
47
- rspec (= 1.3.1)
48
- term-ansicolor (>= 1.0.4)
49
- yard (>= 0.6.2)
56
+ redcarpet (>= 1.17.2)
57
+ rspec (>= 2.6.0)
58
+ yard (>= 0.7.2)
data/HISTORY.markdown CHANGED
@@ -6,6 +6,14 @@ Most recent changes are at the top
6
6
  Changes
7
7
  -------
8
8
 
9
+ ### 0.3.1 - 06/11/2013 ###
10
+
11
+ * Use RbConfig instead of Config for Ruby 1.9
12
+
13
+ ### 0.3.0 - 10/27/2011 ###
14
+
15
+ * Add configuration files via the BasicApp framework, see features/settings.feature
16
+
9
17
  ### 0.2.0 - 11/24/2010 ###
10
18
 
11
19
  * ANSI coloring works under Windows with win32console gem
data/LICENSE CHANGED
@@ -1,4 +1,4 @@
1
- Copyright (c) 2010 GearheadForHire, LLC
1
+ Copyright (c) 2010-2011 GearheadForHire, LLC
2
2
 
3
3
  Permission is hereby granted, free of charge, to any person obtaining
4
4
  a copy of this software and associated documentation files (the
data/README.markdown CHANGED
@@ -10,7 +10,7 @@ Why?
10
10
  Oct is a sample RubyGem application cloned from BasicApp.
11
11
  See <http://github.com/robertwahler/basic_app> for more information.
12
12
 
13
- Oct does scratch an itch. 'Chmod' is easier to drive in octal and I can't
13
+ Oct does scratch an itch. 'Chmod' is easier to drive in octal and I can't
14
14
  convince 'ls -l' to output permissions in octal.
15
15
 
16
16
  Here is an equivalent bash script
@@ -35,30 +35,29 @@ Here is an equivalent bash script
35
35
  fi
36
36
 
37
37
  stat --format='%a,%U,%G,%t %n' $file
38
- done
38
+ done
39
39
 
40
40
 
41
- Run-time dependencies
41
+ Run-time dependencies
42
42
  ---------------------
43
43
 
44
44
  * Term-ansicolor for optional color output <http://github.com/flori/term-ansicolor>
45
- * Configatron for configuration support <http://github.com/markbates/configatron>
46
45
 
47
46
 
48
47
  Development dependencies
49
48
  ------------------------
50
49
 
51
50
  * Bundler for dependency management <http://github.com/carlhuda/bundler>
52
- * Rspec for unit testing <http://github.com/dchelimsky/rspec>
53
- * Cucumber for functional testing <http://github.com/aslakhellesoy/cucumber>
54
- * Aruba for CLI testing <http://github.com/aslakhellesoy/aruba>
55
- * YARD for documentation generation <http://github.com/lsegal/yard>
56
-
51
+ * Rspec for unit testing <http://github.com/rspec/rspec>
52
+ * Cucumber for functional testing <http://github.com/cucumber/cucumber>
53
+ * Aruba for CLI testing <http://github.com/cucumber/aruba>
54
+ * Yard for documentation generation <http://github.com/lsegal/yard>
55
+ * Redcarpet for documentation markup processing <http://github.com/tanoku/redcarpet>
57
56
 
58
57
  Installation
59
58
  ------------
60
59
 
61
- This gem has been published on RubyGems.org
60
+ This gem has been published on RubyGems.org
62
61
 
63
62
  gem install oct
64
63
 
@@ -73,7 +72,7 @@ oct --help
73
72
  Usage: oct [options] [FILES]
74
73
 
75
74
  Options:
76
-
75
+
77
76
  -v, --[no-]verbose Run verbosely
78
77
  -c, --[no-]coloring Ansi color in output
79
78
  --version Display current version
@@ -98,4 +97,4 @@ oct
98
97
  Copyright
99
98
  ---------
100
99
 
101
- Copyright (c) 2010 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
100
+ Copyright (c) 2010-2011 GearheadForHire, LLC. See [LICENSE](LICENSE) for details.
data/Rakefile CHANGED
@@ -1,25 +1,15 @@
1
1
  # encoding: utf-8
2
2
 
3
- # bundler/setup is managing $LOAD_PATH, any gem needed by this Rakefile must
4
- # be listed as a development dependency in the gemspec
3
+ # Bundler is managing $LOAD_PATH, any gem needed by this Rakefile must be
4
+ # listed as a development dependency in the gemspec
5
+ require 'bundler/setup'
6
+ require 'bundler/gem_tasks'
5
7
 
6
- require 'rubygems'
7
- require 'bundler/setup'
8
-
9
- Bundler::GemHelper.install_tasks
10
-
11
- def gemspec
12
- @gemspec ||= begin
13
- file = File.expand_path('../oct.gemspec', __FILE__)
14
- eval(File.read(file), binding, file)
15
- end
16
- end
17
-
18
- require 'spec'
19
- require 'spec/rake/spectask'
20
- Spec::Rake::SpecTask.new(:spec) do |spec|
21
- spec.libs << 'lib' << 'spec'
22
- spec.spec_files = FileList['spec/**/*_spec.rb']
8
+ require 'rspec/core/rake_task'
9
+ desc "Run RSpec"
10
+ RSpec::Core::RakeTask.new do |spec|
11
+ spec.pattern = 'spec/**/*_spec.rb'
12
+ spec.rspec_opts = ['--color', '--format nested']
23
13
  end
24
14
 
25
15
  require 'cucumber'
@@ -34,26 +24,59 @@ task :test => [:spec, :features]
34
24
  task :default => :test
35
25
 
36
26
  namespace :doc do
27
+
28
+ doc_version = File.open(File.join(File.dirname(__FILE__), 'VERSION'), "r") { |f| f.read }
37
29
  project_root = File.expand_path(File.dirname(__FILE__))
38
30
  doc_destination = File.join(project_root, 'rdoc')
39
31
 
40
32
  require 'yard'
41
- require 'yard/rake/yardoc_task'
42
33
 
43
34
  YARD::Rake::YardocTask.new(:generate) do |yt|
44
- yt.options = ['--output-dir', doc_destination
45
- ] +
46
- gemspec.rdoc_options - ['--line-numbers', '--inline-source']
35
+ yt.options = ['--output-dir', doc_destination,
36
+ '--title', "Oct #{doc_version} Documentation",
37
+ '--main', "README.markdown"
38
+ ]
47
39
  end
48
40
 
49
41
  desc "Remove generated documenation"
50
42
  task :clean do
51
43
  rm_r doc_destination if File.exists?(doc_destination)
52
44
  end
53
-
45
+
54
46
  desc "List undocumented objects"
55
47
  task :undocumented do
56
48
  system('yard stats --list-undoc')
57
49
  end
58
50
 
59
51
  end
52
+
53
+ # put the gemfiles task in the bundler dependency chain
54
+ task :build => [:gemfiles]
55
+ task :install => [:gemfiles]
56
+ task :release => [:gemfiles]
57
+
58
+ desc "Generate .gemfiles via 'git ls-files'"
59
+ task :gemfiles do
60
+ files = `git ls-files`
61
+
62
+ filename = File.join(File.dirname(__FILE__), '.gemfiles')
63
+ cached_files = nil
64
+ if File.exists?(filename)
65
+ puts ".gemfiles exists, reading..."
66
+ cached_files = File.open(filename, "rb") {|f| f.read}
67
+ end
68
+
69
+ if cached_files && cached_files.match("\r\n")
70
+ puts ".gemfiles using DOS EOL"
71
+ files.gsub!(/\n/, "\r\n")
72
+ end
73
+
74
+ if cached_files != files
75
+ puts ".gemfiles updating"
76
+ File.open(filename, 'wb') {|f| f.write(files)}
77
+ else
78
+ puts ".gemfiles update not required"
79
+ end
80
+
81
+ raise "unable to process .gemfiles" unless files
82
+ end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.0
1
+ 0.3.1
data/bin/oct CHANGED
@@ -1,11 +1,9 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- $:.unshift(File.dirname(__FILE__) + '/../lib')
4
-
5
- require 'rubygems'
6
3
  require 'oct'
7
4
  require 'optparse'
8
5
  require 'term/ansicolor'
6
+ require 'fileutils'
9
7
 
10
8
  available_actions = Oct::AVAILABLE_ACTIONS
11
9
 
@@ -20,23 +18,24 @@ help = banner
20
18
  help += <<HELP
21
19
 
22
20
  Options:
23
-
21
+
24
22
  HELP
25
23
 
26
24
  options = {}
27
25
  OptionParser.new do |opts|
28
26
  opts.banner = help
29
27
 
30
- # set defaults
31
- options[:verbose] = false
32
- options[:coloring] = true
33
-
34
28
  opts.on("-v", "--[no-]verbose", "Run verbosely") do |v|
35
29
  options[:verbose] = v
36
30
  end
37
31
 
38
- opts.on("-c", "--[no-]coloring", "Ansi color in output") do |c|
39
- options[:coloring] = c
32
+ opts.on("-c", "--[no-]coloring [MODE]", "--[no-]color [MODE]", "ANSI color in output. MODE=AUTO (default) or ALWAYS") do |c|
33
+ options[:color] = c.nil? ? "AUTO" : c
34
+ options[:color].upcase! if options[:color]
35
+ unless [nil, false, "AUTO", "ALWAYS"].include?(options[:color])
36
+ puts "oct, invalid color option: #{options[:color]}"
37
+ exit 1
38
+ end
40
39
  end
41
40
 
42
41
  opts.on("--version", "Display current version") do
@@ -44,16 +43,16 @@ OptionParser.new do |opts|
44
43
  exit 0
45
44
  end
46
45
 
47
- # opts.on("--config FILE", "Load configuration options from FILE") do |file|
48
- # options[:config] = file
49
- # end
46
+ opts.on("--config FILE", "Load configuration options from FILE") do |file|
47
+ options[:config] = file
48
+ end
50
49
 
51
50
  # no argument, shows at tail. This will print an options summary.
52
51
  opts.on_tail("-h", "--help", "Show this message") do
53
52
  puts opts
54
53
  exit 0
55
54
  end
56
-
55
+
57
56
  begin
58
57
  opts.parse!
59
58
  rescue OptionParser::InvalidOption => e
@@ -64,15 +63,20 @@ OptionParser.new do |opts|
64
63
 
65
64
  end
66
65
 
67
- if STDOUT.isatty
68
- Term::ANSIColor::coloring = options[:coloring]
66
+ # options from config file, if it exists, will not overwrite command line
67
+ options = Oct::Settings.new(FileUtils.pwd, options).options
68
+
69
+ if STDOUT.isatty || (options[:color] == 'ALWAYS')
70
+ Term::ANSIColor::coloring = options[:color]
69
71
 
70
- if options[:coloring] && Oct::WINDOWS
71
- begin
72
- require 'Win32/Console/ANSI'
73
- rescue LoadError
74
- Term::ANSIColor::coloring = false
75
- STDERR.puts 'WARNING: You must "gem install win32console" (1.2.0 or higher) to get color output on MRI/Windows'
72
+ if options[:color] && Oct::WINDOWS
73
+ unless ENV['ANSICON']
74
+ begin
75
+ require 'Win32/Console/ANSI'
76
+ rescue LoadError
77
+ Term::ANSIColor::coloring = false
78
+ STDERR.puts 'WARNING: You must "gem install win32console" (1.2.0 or higher) or use the ANSICON driver (https://github.com/adoxa/ansicon) to get color output on MRI/Windows'
79
+ end
76
80
  end
77
81
  end
78
82
 
@@ -80,5 +84,5 @@ else
80
84
  Term::ANSIColor::coloring = false
81
85
  end
82
86
 
83
- app = Oct::App.new(FileUtils.pwd, options)
84
- app.run
87
+ app = Oct::App.new(FileUtils.pwd, ARGV.dup, options)
88
+ app.execute
data/config/cucumber.yml CHANGED
@@ -1,7 +1,8 @@
1
1
  <%
2
2
  rerun = File.file?('rerun.txt') ? IO.read('rerun.txt') : ""
3
- rerun_opts = rerun.to_s.strip.empty? ? "--format pretty features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
- std_opts = "#{rerun_opts} --format rerun --out rerun.txt --strict --tags ~@wip"
3
+ rerun_opts = rerun.to_s.strip.empty? ? "--format #{ENV['CUCUMBER_FORMAT'] || 'progress'} features" : "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} #{rerun}"
4
+ std_opts = "--format #{ENV['CUCUMBER_FORMAT'] || 'pretty'} --strict --tags ~@wip"
5
5
  %>
6
- default: <%= std_opts %>
7
- wip: --tags @wip:3 --wip features
6
+ default: <%= std_opts %> -r features
7
+ wip: --tags @wip:3 --wip -r features
8
+ rerun: <%= rerun_opts %> --format rerun --out rerun.txt --strict --tags ~@wip -r features
data/features/bin.feature CHANGED
@@ -3,18 +3,18 @@ Feature: Options via a command line interface (CLI)
3
3
 
4
4
  As an interactive user or automated script
5
5
  The application should accept options on the command line
6
- These options should override hard coded defaults
6
+ These options should override hard coded defaults
7
7
  In order to configure options
8
8
 
9
9
  Scenario: Version info
10
- When I run "oct --version"
10
+ When I run `oct --version`
11
11
  Then the exit status should be 0
12
12
  And the output should match /oct, version ([\d]+\.[\d]+\.[\d]+$)/
13
13
 
14
14
  Scenario: Help
15
- When I run "oct --help"
15
+ When I run `oct --help`
16
16
  Then the exit status should be 0
17
- And the output should match:
17
+ And the output should match:
18
18
  """
19
19
  .*
20
20
  Usage: .*
@@ -25,9 +25,9 @@ Feature: Options via a command line interface (CLI)
25
25
  """
26
26
 
27
27
  Scenario: Invalid option
28
- When I run "oct --non-existing-option"
28
+ When I run `oct --non-existing-option`
29
29
  Then the exit status should be 1
30
- And the output should match:
30
+ And the output should match:
31
31
  """
32
32
  ^.* invalid option: --non-existing-option
33
33
  ^.* --help for more information
data/features/oct.feature CHANGED
@@ -13,7 +13,7 @@ Feature: Octal file listing
13
13
  And file "file1.txt" is chmod 0644
14
14
 
15
15
  Scenario: No files on the command line
16
- When I run "oct"
16
+ When I run `oct`
17
17
  Then the exit status should be 0
18
18
  And the output should contain:
19
19
  """
@@ -22,7 +22,7 @@ Feature: Octal file listing
22
22
  """
23
23
 
24
24
  Scenario: Files on the command line
25
- When I run "oct file1*"
25
+ When I run `oct file1.txt`
26
26
  Then the exit status should be 0
27
27
  And the output should contain:
28
28
  """
@@ -0,0 +1,139 @@
1
+ @announce
2
+ Feature: Configuration via yaml file
3
+
4
+ In order to configure options, as an interactive user or automated script,
5
+ the program should process configuration options via yaml. These options
6
+ should override hard coded defaults but not command line options.
7
+
8
+ Config files are read from multiple locations in order of priority. Once a
9
+ config file is found, all other config files are ignored.
10
+
11
+ Config file priority:
12
+
13
+ oct.conf
14
+ .oct.conf
15
+ config/oct.conf
16
+ ~/.oct.conf
17
+
18
+ All command line options can be read from the config file from the "options:"
19
+ block. The "options" block is optional.
20
+
21
+ NOTE: All file system testing is done via the Aruba gem. The home folder
22
+ config file is stubbed to prevent testing contamination in case it exists.
23
+
24
+
25
+ Scenario: Specified config file exists
26
+ Given an empty file named "config.conf"
27
+ When I run `oct action --verbose --config config.conf`
28
+ Then the output should contain:
29
+ """
30
+ config file: config.conf
31
+ """
32
+
33
+ Scenario: Specified config file option but not given on command line
34
+ When I run `oct action --verbose --config`
35
+ Then the exit status should be 1
36
+ And the output should contain:
37
+ """
38
+ missing argument: --config
39
+ """
40
+
41
+ Scenario: Specified config file not found
42
+ When I run `oct path --verbose --config config.conf`
43
+ Then the exit status should be 1
44
+ And the output should contain:
45
+ """
46
+ config file not found
47
+ """
48
+
49
+ Scenario: Reading options from specified config file, ignoring the
50
+ default config file
51
+ Given a file named "oct.conf" with:
52
+ """
53
+ ---
54
+ options:
55
+ color: true
56
+ """
57
+ And a file named "no_color.conf" with:
58
+ """
59
+ ---
60
+ options:
61
+ color: false
62
+ """
63
+ When I run `oct action --verbose --config no_color.conf`
64
+ Then the output should contain:
65
+ """
66
+ :color=>false
67
+ """
68
+ And the output should not contain:
69
+ """
70
+ :color=>true
71
+ """
72
+
73
+ Scenario: Reading options from specified config file, ignoring the
74
+ default config file with override on command line
75
+ Given a file named "oct.conf" with:
76
+ """
77
+ ---
78
+ options:
79
+ color: true
80
+ """
81
+ And a file named "no_color.conf" with:
82
+ """
83
+ ---
84
+ options:
85
+ color: false
86
+ """
87
+ When I run `oct action --verbose --config no_color.conf --color`
88
+ Then the output should contain:
89
+ """
90
+ :color=>"AUTO"
91
+ """
92
+ And the output should not contain:
93
+ """
94
+ :color=>false
95
+ """
96
+ And the output should not contain:
97
+ """
98
+ :color=>true
99
+ """
100
+
101
+ Scenario: Reading options from config file with negative override on command line
102
+ And a file named "with_color.conf" with:
103
+ """
104
+ ---
105
+ options:
106
+ color: true
107
+ """
108
+ When I run `oct action --verbose --config with_color.conf --no-color`
109
+ Then the output should contain:
110
+ """
111
+ :color=>false
112
+ """
113
+
114
+ Scenario: Negative override on command line with alternative spelling '--no-coloring'
115
+ And a file named "with_color.conf" with:
116
+ """
117
+ ---
118
+ options:
119
+ color: true
120
+ """
121
+ When I run `oct action --verbose --config with_color.conf --no-coloring`
122
+ Then the output should contain:
123
+ """
124
+ :color=>false
125
+ """
126
+
127
+ Scenario: Reading text options from config file
128
+ Given a file named "with_always_color.conf" with:
129
+ """
130
+ ---
131
+ options:
132
+ color: ALWAYS
133
+ """
134
+ When I run `oct action --verbose --config with_always_color.conf`
135
+ Then the output should contain:
136
+ """
137
+ :color=>"ALWAYS"
138
+ """
139
+
@@ -1,3 +1,5 @@
1
+ require 'fileutils'
2
+
1
3
  Given /^file "([^"]*)" is chmod (\d+)$/ do |filename, permissions|
2
4
  in_current_dir do
3
5
  FileUtils.chmod permissions.to_i(8), filename
@@ -1,21 +1,21 @@
1
- require 'aruba'
1
+ require 'aruba/api'
2
2
  require 'fileutils'
3
3
 
4
- APP_BIN_PATH = File.join(ENV['PWD'], 'bin', 'oct')
4
+ APP_BIN_PATH = File.join(FileUtils.pwd, 'bin', 'oct')
5
5
 
6
6
  module Aruba
7
7
  module Api
8
8
 
9
- alias_method :old_run, :run
9
+ alias_method :old_run_simple, :run_simple
10
+
11
+ # override aruba
12
+ def run_simple(cmd, fail_on_error=true)
10
13
 
11
- # override aruba
12
- def run(cmd, fail_on_error=true)
13
-
14
14
  # run development version in verbose mode
15
- cmd = cmd.gsub(/^oct/, "#{APP_BIN_PATH} --verbose")
15
+ cmd = cmd.gsub(/^oct/, "ruby -S #{APP_BIN_PATH} --verbose")
16
16
 
17
- # run original aruba 'run'
18
- old_run(cmd, fail_on_error)
17
+ # run original aruba 'run'
18
+ old_run_simple(cmd, fail_on_error)
19
19
  end
20
20
  end
21
21
  end