Class: RSpec::Hermetic::VerifyTask

Inherits:
Object
  • Object
show all
Extended by:
Rake::DSL
Defined in:
lib/rspec/hermetic/verify_task.rb,
sig/rspec/hermetic.rbs

Constant Summary collapse

DEFAULT_CANDIDATES =

Returns:

  • (String)
"tmp/rspec_hermetic_candidates.json"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(candidates_path, output: $stdout) ⇒ VerifyTask

Returns a new instance of VerifyTask.

Parameters:

  • candidates_path (String)
  • output: (Object) (defaults to: $stdout)


28
29
30
31
# File 'lib/rspec/hermetic/verify_task.rb', line 28

def initialize(candidates_path, output: $stdout)
  @candidates_path = candidates_path
  @output = output
end

Class Method Details

.install(name = "hermetic:verify") ⇒ Object

Parameters:

  • name (String) (defaults to: "hermetic:verify")

Returns:

  • (Object)


16
17
18
19
20
21
22
23
24
25
26
# File 'lib/rspec/hermetic/verify_task.rb', line 16

def self.install(name = "hermetic:verify")
  task_name = name.to_s
  namespace_name, short_name = task_name.split(":", 2)

  namespace namespace_name do
    desc "Verify rspec-hermetic polluter/victim candidates by running victim alone and polluter before victim"
    task short_name, [:candidates] do |_task, args|
      new(args[:candidates] || ENV["HERMETIC_CANDIDATES"] || DEFAULT_CANDIDATES).run
    end
  end
end

Instance Method Details

#runObject

Returns:

  • (Object)


33
34
35
36
37
38
39
# File 'lib/rspec/hermetic/verify_task.rb', line 33

def run
  candidates.each do |candidate|
    polluter = candidate.fetch("polluter")
    victim = candidate.fetch("victim")
    verify_pair(polluter, victim)
  end
end