class Rubanok::HaveProcessed
Attributes
data_class[R]
matcher[R]
name[R]
processor[R]
Public Class Methods
new(data_class = nil)
click to toggle source
# File lib/rubanok/rspec.rb, line 11 def initialize(data_class = nil) if data_class @data_class = data_class.is_a?(Module) ? data_class : data_class.class end @matcher = have_received(:call) @name = "have_rubanok_processed" end
Public Instance Methods
as(alias_name)
click to toggle source
# File lib/rubanok/rspec.rb, line 19 def as(alias_name) @name = alias_name self end
failure_message()
click to toggle source
# File lib/rubanok/rspec.rb, line 46 def failure_message "expected to use #{processor.name}#{data_class ? " for #{data_class.name}" : ""}, but didn't" end
failure_message_when_negated()
click to toggle source
# File lib/rubanok/rspec.rb, line 50 def failure_message_when_negated "expected not to use #{processor.name}#{data_class ? " for #{data_class.name} " : ""}, but have used" end
matches?(proc)
click to toggle source
# File lib/rubanok/rspec.rb, line 33 def matches?(proc) raise ArgumentError, "#{name} only supports block expectations" unless Proc === proc raise ArgumentError, "Processor class is required. Please, specify it using `.with` modifier" if processor.nil? allow(processor).to receive(:call).and_call_original proc.call matcher.with(an_instance_of(data_class), anything) if data_class matcher.matches?(processor) end
supports_block_expectations?()
click to toggle source
# File lib/rubanok/rspec.rb, line 29 def supports_block_expectations? true end
with(processor)
click to toggle source
# File lib/rubanok/rspec.rb, line 24 def with(processor) @processor = processor self end