Class: Alchemrest::Transforms::WithConstraint
- Inherits:
-
Morpher::Transform
- Object
- Morpher::Transform
- Alchemrest::Transforms::WithConstraint
- Defined in:
- lib/alchemrest/transforms/with_constraint.rb
Constant Summary collapse
- MESSAGE =
%(Input %<actual>p does not meet the constraint "%<description>s")
Instance Method Summary collapse
- #call(input) ⇒ Object
-
#initialize(constraint) ⇒ WithConstraint
constructor
A new instance of WithConstraint.
Constructor Details
#initialize(constraint) ⇒ WithConstraint
Returns a new instance of WithConstraint.
9 10 11 12 13 |
# File 'lib/alchemrest/transforms/with_constraint.rb', line 9 def initialize(constraint) raise ArgumentError, "Must provide an instance of Alchemrest::Transform::Constraint" unless constraint.is_a?(Constraint) super end |
Instance Method Details
#call(input) ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/alchemrest/transforms/with_constraint.rb', line 15 def call(input) if constraint.meets_conditions?(input) success(input) else failure( error(input:, message: format(MESSAGE, actual: input, description: constraint.description)), ) end end |