class RSpec::Que::Matchers::QueueUp
Attributes
after_count[R]
argument_list_matcher[R]
before_count[R]
job_class[R]
Public Class Methods
new(job_class = nil)
click to toggle source
# File lib/rspec/que/queue_up.rb, line 21 def initialize(job_class = nil) @matchers = [QueuedSomething.new] @matchers << QueuedClass.new(job_class) if job_class @count_matcher = QueueCount.new(self, QueueCount::EXACTLY, 1) @job_class = job_class @stages = [] end
Public Instance Methods
at(the_time)
click to toggle source
# File lib/rspec/que/queue_up.rb, line 49 def at(the_time) @matchers << QueuedAt.new(the_time) self end
description()
click to toggle source
# File lib/rspec/que/queue_up.rb, line 88 def description "queues up a #{job_description}" end
failure_message()
click to toggle source
# File lib/rspec/que/queue_up.rb, line 66 def failure_message # last stage to have any candidate jobs failed_stage = @stages.reject do |s| s[:candidates].empty? end.last || @stages.first failed_matcher = failed_stage[:matcher] failed_candidates = failed_stage[:candidates] found_instead = failed_matcher.failed_msg(failed_candidates) "expected to enqueue #{job_description}, but found #{found_instead}" end
failure_message_when_negated()
click to toggle source
# File lib/rspec/que/queue_up.rb, line 78 def failure_message_when_negated format "expected not to enqueue #{job_description}, got %d enqueued: %s", @matched_jobs.length, @matched_jobs.map { |j| format_job(j) }.join(", ") end
matches?(block)
click to toggle source
# File lib/rspec/que/queue_up.rb, line 29 def matches?(block) before_jobs = enqueued_jobs.dup block.call @matched_jobs = enqueued_jobs - before_jobs @matchers.each do |matcher| @stages << { matcher: matcher, candidates: @matched_jobs.dup } @matched_jobs.delete_if { |job| !matcher.matches?(job) } end @stages << { matcher: @count_matcher, candidates: @matched_jobs.dup } @count_matcher.matches?(@matched_jobs.count) end
of_priority(priority)
click to toggle source
# File lib/rspec/que/queue_up.rb, line 54 def of_priority(priority) @matchers << QueuedPriority.new(priority) self end
supports_block_expectations?()
click to toggle source
# File lib/rspec/que/queue_up.rb, line 84 def supports_block_expectations? true end
with(*args)
click to toggle source
# File lib/rspec/que/queue_up.rb, line 44 def with(*args) @matchers << QueuedArgs.new(args) self end
Private Instance Methods
enqueued_jobs()
click to toggle source
# File lib/rspec/que/queue_up.rb, line 96 def enqueued_jobs ::Que.execute "SELECT * FROM que_jobs" end
format_job(job)
click to toggle source
# File lib/rspec/que/queue_up.rb, line 108 def format_job(job) "#{job[:job_class]}[" + job[:args].join(", ") + "]" end
job_description()
click to toggle source
# File lib/rspec/que/queue_up.rb, line 100 def job_description if @count_matcher.default? @matchers.map(&:desc).join(" ") else [*@matchers, @count_matcher].map(&:desc).join(" ") end end