class SleepingKingStudios::Tasks::Ci::RSpecTask
Defines a Thor task for running the full RSpec test suite.
Public Class Methods
description()
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 10 def self.description 'Runs the RSpec test suite.' end
task_name()
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 14 def self.task_name 'rspec' end
Public Instance Methods
call(*files)
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 39 def call *files results = rspec_runner(files.empty?).call(:files => files) raw? ? results : RSpecResults.new(results) end
Private Instance Methods
default_format()
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 47 def default_format SleepingKingStudios::Tasks.configuration.ci.rspec. fetch(:format, :documentation) end
default_gemfile()
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 52 def default_gemfile File.join(Dir.pwd, 'Gemfile') end
gemfile()
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 56 def gemfile return options['gemfile'] if options.key?('gemfile') gemfile = ENV['BUNDLE_GEMFILE'] return gemfile if gemfile && gemfile != default_gemfile nil end
rspec_runner(default_coverage = true)
click to toggle source
# File lib/sleeping_king_studios/tasks/ci/rspec_task.rb, line 66 def rspec_runner default_coverage = true coverage = options.fetch('coverage', default_coverage) env = options.fetch('__env__', {}) env[:bundle_gemfile] = gemfile if gemfile env[:coverage] = false unless coverage format = options.fetch('format', default_format) opts = %w[--color --tty] opts << "--format=#{format}" unless quiet? RSpecRunner.new(:env => env, :options => opts) end