class Remap::Contract
Public Class Methods
call(rules:, options:, contract:, attributes:)
click to toggle source
Constructs a contract used to validate mapper input
@param rules [Array<Proc>] @param options [Hash] @param contract [Proc] @param attributes [Hash]
@return [Contract]
# File lib/remap/contract.rb, line 13 def self.call(rules:, options:, contract:, attributes:) Class.new(self) do rules.each do |rule| instance_exec(&rule) end options.each do |option| instance_exec(&option) end schema(contract) end.new(**attributes) end