Module: Trailblazer::Operation::Procedural::Validate

Defined in:
lib/trailblazer/operation/procedural/validate.rb

Instance Method Summary collapse

Instance Method Details

#validate(params, contract: self["contract.default"], path: "contract.default") ⇒ Object

:params



3
4
5
6
7
8
9
10
11
12
13
14
15
16
# File 'lib/trailblazer/operation/procedural/validate.rb', line 3

def validate(params, contract:self["contract.default"], path:"contract.default") # :params
  # DISCUSS: should we only have path here and then look up contract ourselves?
  result = validate_contract(contract, params) # run validation.  # FIXME: must be overridable.

  self["result.#{path}"] = result

  if valid = result.success? # FIXME: to_bool or success?
    yield result if block_given?
  else
    # self["errors.#{path}"] = result.errors # TODO: remove me
  end

  valid
end

#validate_contract(contract, params) ⇒ Object



18
19
20
# File 'lib/trailblazer/operation/procedural/validate.rb', line 18

def validate_contract(contract, params)
  contract.(params)
end