class DeepDouble::FakeMethod::ValidateStubbedValues

Public Class Methods

new(stubbed_values) click to toggle source
# File lib/deep_double/fake_method/validate_stubbed_values.rb, line 9
def initialize(stubbed_values)
  @stubbed_values = stubbed_values
end

Public Instance Methods

call() click to toggle source
# File lib/deep_double/fake_method/validate_stubbed_values.rb, line 13
def call
  validate_type
  validate_keys
end

Private Instance Methods

valid_key?(key) click to toggle source
# File lib/deep_double/fake_method/validate_stubbed_values.rb, line 38
def valid_key?(key)
  key.is_a?(Array) || key == :default
end
validate_key(key) click to toggle source
# File lib/deep_double/fake_method/validate_stubbed_values.rb, line 30
def validate_key(key)
  return if valid_key?(key)
  raise ArgumentError,
    "Keys in a stubbed values Hash must by Arrays representing " +
    "argument lists (the empty array represents 0 arguments). The " +
    "following key was invalid: #{key.inspect}"
end
validate_keys() click to toggle source
# File lib/deep_double/fake_method/validate_stubbed_values.rb, line 26
def validate_keys
  @stubbed_values.keys.each { |key| validate_key(key) }
end
validate_type() click to toggle source
# File lib/deep_double/fake_method/validate_stubbed_values.rb, line 20
def validate_type
  return if @stubbed_values.is_a?(Hash)
  raise ArgumentError,
    "The stubbed values defining a FakeMethod must be a Hash"
end