class DeepDouble::FakeMethod
Public Class Methods
new(stubbed_values)
click to toggle source
# File lib/deep_double/fake_method.rb, line 11 def initialize(stubbed_values) @stubbed_values = stubbed_values validate_stubbed_values end
Public Instance Methods
call(*args)
click to toggle source
# File lib/deep_double/fake_method.rb, line 16 def call(*args) result(args) end
Private Instance Methods
result(args)
click to toggle source
# File lib/deep_double/fake_method.rb, line 26 def result(args) validate_result_exists(args) @stubbed_values.key?(args) ? @stubbed_values[args] : @stubbed_values[:default] end
result_exists?(args)
click to toggle source
# File lib/deep_double/fake_method.rb, line 36 def result_exists?(args) @stubbed_values.key?(args) || @stubbed_values.key?(:default) end
validate_result_exists(args)
click to toggle source
# File lib/deep_double/fake_method.rb, line 31 def validate_result_exists(args) return if result_exists?(args) raise ArgumentError, "FakeMethod not defined for args: #{args}" end
validate_stubbed_values()
click to toggle source
# File lib/deep_double/fake_method.rb, line 22 def validate_stubbed_values ValidateStubbedValues.new(@stubbed_values).call end