Class: WaterDrop::Contracts::Base

Inherits:
Dry::Validation::Contract
  • Object
show all
Defined in:
lib/waterdrop/contracts/base.rb

Overview

Base for all the contracts in WaterDrop

Direct Known Subclasses

Config, Message

Instance Method Summary collapse

Instance Method Details

#validate!(data, error_class) ⇒ Boolean

Returns true.

Parameters:

  • data (Hash)

    data for validation

  • error_class (Class)

    error class that should be used when validation fails

Returns:

  • (Boolean)

    true

Raises:

  • (StandardError)

    any error provided in the error_class that inherits from the standard error



14
15
16
17
18
19
20
# File 'lib/waterdrop/contracts/base.rb', line 14

def validate!(data, error_class)
  result = call(data)

  return true if result.success?

  raise error_class, result.errors.to_h
end