class RSpec::Core::RakeTask
def blank
def blank lambda {|s| s == ""} end
def files_to_run
def files_to_run if ENV['SPEC'] FileList[ ENV['SPEC'] ] else FileList[ pattern ].map { |f| f.gsub(/"/, '\"').gsub(/'/, "\\\\'") } end end
def gemfile=(*)
default:
Name of Gemfile to use.
ENV['BUNDLE_GEMFILE'] instead.
Deprecated and has no effect. The rake task now checks
def gemfile=(*) RSpec.deprecate("RSpec::Core::RakeTask#gemfile=", 'ENV["BUNDLE_GEMFILE"]') end
def initialize(*args)
def initialize(*args) @name = args.shift || :spec @pattern, @rcov_path, @rcov_opts, @ruby_opts, @rspec_opts = nil, nil, nil, nil, nil @warning, @rcov = false, false @verbose, @fail_on_error = true, true yield self if block_given? @rcov_path ||= 'rcov' @rspec_path ||= 'rspec' @pattern ||= './spec{,/*/**}/*_spec.rb' desc("Run RSpec code examples") unless ::Rake.application.last_comment task name do RakeFileUtils.send(:verbose, verbose) do if files_to_run.empty? puts "No examples matching #{pattern} could be found" else begin puts spec_command if verbose success = system(spec_command) rescue puts failure_message if failure_message end raise("ruby #{spec_command} failed") if fail_on_error unless success end end end end
def runner
def runner rcov ? rcov_path : rspec_path end
def skip_bundler=(*)
default:
not add 'bundle exec' to the command.
'bundle exec'. Set this to true to ignore the presence of a Gemfile, and
By default, if there is a Gemfile, the generated command will include
ENV['BUNDLE_GEMFILE'] instead.
Deprecated and has no effect. The rake task now checks
def skip_bundler=(*) RSpec.deprecate("RSpec::Core::RakeTask#skip_bundler=") end
def spec_command
def spec_command @spec_command ||= begin cmd_parts = [] cmd_parts << RUBY cmd_parts << ruby_opts cmd_parts << "-w" if warning? cmd_parts << "-S" cmd_parts << runner if rcov cmd_parts << ["-Ispec:lib", rcov_opts] else cmd_parts << rspec_opts end cmd_parts << files_to_run if rcov && rspec_opts cmd_parts << ["--", rspec_opts] end cmd_parts.flatten.compact.reject(&blank).join(" ") end end
def spec_opts=(opts)
default:
Command line options to pass to rspec.
Deprecated. Use rspec_opts instead.
def spec_opts=(opts) RSpec.deprecate('RSpec::Core::RakeTask#spec_opts=', 'rspec_opts=') @rspec_opts = opts end
def warning=(true_or_false)
def warning=(true_or_false) RSpec.deprecate("RSpec::Core::RakeTask#warning=", 'ruby_opts="-w"') @warning = true_or_false end
def warning?
def warning? warning end