Class: LittleMonster::RSpec::Matchers::HaveRunTask

Inherits:
Object
  • Object
show all
Defined in:
lib/little_monster/rspec/matchers/have_run_task.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(expected_task) ⇒ HaveRunTask

Returns a new instance of HaveRunTask.



6
7
8
9
10
11
12
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 6

def initialize(expected_task)
  @expected_task = if expected_task.class == Class
                     expected_task.to_s.underscore.split('/').last.to_sym
                   else
                     expected_task
                   end
end

Instance Attribute Details

#expected_dataObject (readonly)

Returns the value of attribute expected_data.



4
5
6
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 4

def expected_data
  @expected_data
end

#expected_taskObject (readonly)

Returns the value of attribute expected_task.



3
4
5
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 3

def expected_task
  @expected_task
end

Instance Method Details

#check_dataObject



24
25
26
27
28
29
30
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 24

def check_data
  if defined?(@expected_data)
    @task_data == @expected_data
  else
    true
  end
end

#check_task_runObject



20
21
22
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 20

def check_task_run
  !@task.nil?
end

#failure_messageObject



37
38
39
40
41
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 37

def failure_message
  message = "task #{@expected_task} was expected to run\n"
  message << "\twith data #{@expected_data} but was #{@task_data || 'nil'}\n" unless check_data
  message
end

#matches?(job) ⇒ Boolean

Returns:

  • (Boolean)


14
15
16
17
18
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 14

def matches?(job)
  @task = job.runned_tasks[@expected_task][:instance]
  @task_data = job.runned_tasks[@expected_task][:data]
  check_task_run && check_data
end

#with_data(data) ⇒ Object



32
33
34
35
# File 'lib/little_monster/rspec/matchers/have_run_task.rb', line 32

def with_data(data)
  @expected_data = data
  self
end