Class: RSpec::Core::RakeTask
- Inherits:
-
Rake::TaskLib
- Object
- Rake::TaskLib
- RSpec::Core::RakeTask
- Includes:
- Rake::DSL
- Defined in:
- lib/rspec/core/rake_task.rb
Instance Attribute Summary (collapse)
-
- (Object) fail_on_error
Whether or not to fail Rake when an error occurs (typically when examples fail).
-
- (Object) failure_message
A message to print to stderr when there are failures.
-
- (Object) name
Name of task.
-
- (Object) pattern
Glob pattern to match files.
-
- (Object) rcov
Use rcov for code coverage?.
-
- (Object) rcov_opts
Command line options to pass to rcov.
-
- (Object) rcov_path
Path to rcov.
-
- (Object) rspec_opts
Command line options to pass to rspec.
-
- (Object) rspec_path
Path to rspec.
-
- (Object) ruby_opts
Command line options to pass to ruby.
-
- (Object) verbose
Use verbose output.
Instance Method Summary (collapse)
- - (Object) gemfile= deprecated Deprecated.
-
- (RakeTask) initialize(*args)
constructor
A new instance of RakeTask.
- - (Object) run_task(verbose)
- - (Object) setup_ivars(args)
-
- (Object) shellescape(string)
1.8.6's shellwords doesn't provide shellescape :(..
- - (Object) skip_bundler= deprecated Deprecated.
- - (Object) spec_opts=(opts) deprecated Deprecated.
- - (Object) warning=(true_or_false) deprecated Deprecated.
Constructor Details
- (RakeTask) initialize(*args)
A new instance of RakeTask
115 116 117 118 119 120 121 122 123 124 125 126 |
# File 'lib/rspec/core/rake_task.rb', line 115 def initialize(*args, &task_block) setup_ivars(args) desc "Run RSpec code examples" unless ::Rake.application.last_comment task name, *args do |_, task_args| RakeFileUtils.send(:verbose, verbose) do task_block.call(*[self, task_args].slice(0, task_block.arity)) if task_block run_task verbose end end end |
Instance Attribute Details
- (Object) fail_on_error
Whether or not to fail Rake when an error occurs (typically when examples fail).
default: true
52 53 54 |
# File 'lib/rspec/core/rake_task.rb', line 52 def fail_on_error @fail_on_error end |
- (Object) failure_message
A message to print to stderr when there are failures.
55 56 57 |
# File 'lib/rspec/core/rake_task.rb', line 55 def @failure_message end |
- (Object) name
Name of task.
default: :spec
15 16 17 |
# File 'lib/rspec/core/rake_task.rb', line 15 def name @name end |
- (Object) pattern
Glob pattern to match files.
default: 'spec/*/_spec.rb'
21 22 23 |
# File 'lib/rspec/core/rake_task.rb', line 21 def pattern @pattern end |
- (Object) rcov
Use rcov for code coverage?
Due to the many ways rcov
can run, if this option is enabled, it is
required that require 'rspec/autorun'
appears in spec_helper
.rb
default: false
71 72 73 |
# File 'lib/rspec/core/rake_task.rb', line 71 def rcov @rcov end |
- (Object) rcov_opts
Command line options to pass to rcov.
default: nil
83 84 85 |
# File 'lib/rspec/core/rake_task.rb', line 83 def rcov_opts @rcov_opts end |
- (Object) rcov_path
Path to rcov.
default: 'rcov'
77 78 79 |
# File 'lib/rspec/core/rake_task.rb', line 77 def rcov_path @rcov_path end |
- (Object) rspec_opts
Command line options to pass to rspec.
default: nil
101 102 103 |
# File 'lib/rspec/core/rake_task.rb', line 101 def rspec_opts @rspec_opts end |
- (Object) rspec_path
Path to rspec
default: 'rspec'
95 96 97 |
# File 'lib/rspec/core/rake_task.rb', line 95 def rspec_path @rspec_path end |
- (Object) ruby_opts
Command line options to pass to ruby.
default: nil
89 90 91 |
# File 'lib/rspec/core/rake_task.rb', line 89 def ruby_opts @ruby_opts end |
- (Object) verbose
Use verbose output. If this is set to true, the task will print the executed spec command to stdout.
default: true
62 63 64 |
# File 'lib/rspec/core/rake_task.rb', line 62 def verbose @verbose end |
Instance Method Details
- (Object) gemfile=
Has no effect. The rake task now checks ENV['BUNDLE_GEMFILE'] instead.
31 32 33 |
# File 'lib/rspec/core/rake_task.rb', line 31 def gemfile=(*) deprecate("RSpec::Core::RakeTask#gemfile=", :replacement => 'ENV["BUNDLE_GEMFILE"]') end |
- (Object) run_task(verbose)
139 140 141 142 143 144 145 146 147 148 149 |
# File 'lib/rspec/core/rake_task.rb', line 139 def run_task(verbose) command = spec_command begin puts command if verbose success = system(command) rescue puts if end abort("#{command} failed") if fail_on_error unless success end |
- (Object) setup_ivars(args)
128 129 130 131 132 133 134 135 136 137 |
# File 'lib/rspec/core/rake_task.rb', line 128 def setup_ivars(args) @name = args.shift || :spec @rcov_opts, @ruby_opts, @rspec_opts = nil, nil, nil @warning, @rcov = false, false @verbose, @fail_on_error = true, true @rcov_path = 'rcov' @rspec_path = 'rspec' @pattern = './spec{,/*/**}/*_spec.rb' end |
- (Object) shellescape(string)
1.8.6's shellwords doesn't provide shellescape :(.
158 159 160 |
# File 'lib/rspec/core/rake_task.rb', line 158 def shellescape(string) string.shellescape end |
- (Object) skip_bundler=
Has no effect. The rake task now checks ENV['BUNDLE_GEMFILE'] instead.
25 26 27 |
# File 'lib/rspec/core/rake_task.rb', line 25 def skip_bundler=(*) deprecate("RSpec::Core::RakeTask#skip_bundler=") end |
- (Object) spec_opts=(opts)
Use rspec_opts instead.
Command line options to pass to rspec.
default: nil
110 111 112 113 |
# File 'lib/rspec/core/rake_task.rb', line 110 def spec_opts=(opts) deprecate('RSpec::Core::RakeTask#spec_opts=', :replacement => 'rspec_opts=') @rspec_opts = opts end |
- (Object) warning=(true_or_false)
Use ruby_opts="-w" instead.
When true, requests that the specs be run with the warning flag set. e.g. "ruby -w"
default: false
43 44 45 46 |
# File 'lib/rspec/core/rake_task.rb', line 43 def warning=(true_or_false) deprecate("RSpec::Core::RakeTask#warning=", :replacement => 'ruby_opts="-w"') @warning = true_or_false end |