class Stannum::ParameterValidation::MethodValidations

@api private

Base class for modules that handle tracking validated methods.

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/stannum/parameter_validation.rb, line 81
def initialize
  super

  @contracts = {}
end

Public Instance Methods

add_contract(method_name, contract) click to toggle source

@private

# File lib/stannum/parameter_validation.rb, line 88
def add_contract(method_name, contract)
  @contracts[method_name] = contract
end
contracts() click to toggle source

@return [Hash] the validation contracts defined for the class.

# File lib/stannum/parameter_validation.rb, line 93
def contracts
  ancestors
    .select do |ancestor|
      ancestor.is_a? Stannum::ParameterValidation::MethodValidations
    end
    .map(&:own_contracts)
    .reduce(:merge)
end
own_contracts() click to toggle source

@private

# File lib/stannum/parameter_validation.rb, line 103
def own_contracts
  @contracts
end