Stannum

A library for defining and validating data structures.

Class: Stannum::Constraints::Types::TimeType

Parent Namespace
Stannum::Constraints::Types
Inherited Classes
Stannum::Constraints::Type > Stannum::Constraints::Base > Object
Defined In
lib/stannum/constraints/types/time_type.rb

Table Of Contents

Overview

A TimeType constraint asserts that the object is a Time.

Back To Top

Constants

NEGATED_TYPE

= 'stannum.constraints.is_type'

Inherited From
Stannum::Constraints::Type

The :type of the error generated for a matching object.

TYPE

= 'stannum.constraints.is_not_type'

Inherited From
Stannum::Constraints::Type

The :type of the error generated for a non-matching object.

Back To Top

Constructor

#initialize(**options) => TimeType

Parameters

Returns

Back To Top

Instance Attributes

#options => Hash<Symbol, Object>

Inherited From
Stannum::Constraints::Base

Returns

Back To Top

Instance Methods

#==(other) => true, false

Inherited From
Stannum::Constraints::Base

Performs an equality comparison.

Parameters

Returns

#clone(freeze: nil) => Stannum::Constraints::Base

Inherited From
Stannum::Constraints::Base

Produces a shallow copy of the constraint.

Parameters

Returns

#does_not_match?(actual) => true, false

Inherited From
Stannum::Constraints::Base

Checks that the given object does not match the constraint.

Examples

Checking a matching object.

constraint = CustomConstraint.new
object     = MatchingObject.new

constraint.does_not_match?(object) #=> false

Checking a non-matching object.

constraint = CustomConstraint.new
object     = NonMatchingObject.new

constraint.does_not_match?(object) #=> true

Parameters

Returns

See Also

#dup => Stannum::Constraints::Base

Inherited From
Stannum::Constraints::Base

Produces a shallow copy of the constraint.

Returns

#errors_for(actual, errors: nil) => Stannum::Errors

Inherited From
Stannum::Constraints::Type

Note: This method should only be called for an object that does not match the constraint. Generating errors for a matching object can result in undefined behavior.

Generates an errors object for the given object.

The errors object represents the difference between the given object and the expected properties or behavior. It may be the same for all objects, or different based on the details of the object or the constraint.

Examples

Generating errors for a non-matching object.

constraint = CustomConstraint.new
object     = NonMatchingObject.new
errors     = constraint.errors_for(object)

errors.class #=> Stannum::Errors
errors.to_a  #=> [{ type: 'some_error', message: 'some error message' }]

Parameters

Returns

See Also

#expected_type => Class, Module, String

Inherited From
Stannum::Constraints::Type

Returns

#match(actual) => Object

Inherited From
Stannum::Constraints::Base

Checks the given object against the constraint and returns errors, if any.

This method checks the given object against the expected properties or behavior. If the object matches the constraint, #match will return true. If the object does not match the constraint, #match will return false and the generated errors for that object.

Examples

Checking a matching object.

constraint = CustomConstraint.new
object     = MatchingObject.new

success, errors = constraint.match(object)
success #=> true
errors  #=> nil

Checking a non-matching object.

constraint = CustomConstraint.new
object     = NonMatchingObject.new

success, errors = constraint.match(object)
success      #=> false
errors.class #=> Stannum::Errors
errors.to_a  #=> [{ type: 'some_error', message: 'some error message' }]

Parameters

See Also

#matches?(actual) => true, false

Also known as: match?

Inherited From
Stannum::Constraints::Type

Checks that the object is an instance of the expected type.

Returns

See Also

#message => String, nil

Inherited From
Stannum::Constraints::Base

Returns

#negated_errors_for(actual, errors: nil) => Stannum::Errors

Inherited From
Stannum::Constraints::Type

Note: This method should only be called for an object that matches the constraint. Generating errors for a matching object can result in undefined behavior.

Generates an errors object for the given object when negated.

The errors object represents the difference between the given object and the expected properties or behavior when the constraint is negated. It may be the same for all objects, or different based on the details of the object or the constraint.

Examples

Generating errors for a matching object.

constraint = CustomConstraint.new
object     = MatchingObject.new
errors     = constraint.negated_errors_for(object)

errors.class #=> Stannum::Errors
errors.to_a  #=> [{ type: 'some_error', message: 'some error message' }]

Parameters

Returns

See Also

#negated_match(actual) => Object

Inherited From
Stannum::Constraints::Base

Checks the given object against the constraint and returns errors, if any.

This method checks the given object against the expected properties or behavior. If the object matches the constraint, #negated_match will return false and the generated errors for that object. If the object does not match the constraint, #negated_match will return true.

Examples

Checking a matching object.

constraint = CustomConstraint.new
object     = MatchingObject.new

success, errors = constraint.negated_match(object)
success      #=> false
errors.class #=> Stannum::Errors
errors.to_a  #=> [{ type: 'some_error', message: 'some error message' }]

Checking a non-matching object.

constraint = CustomConstraint.new
object     = NonMatchingObject.new

success, errors = constraint.negated_match(object)
success #=> true
errors  #=> nil

Parameters

See Also

#negated_message => String, nil

Inherited From
Stannum::Constraints::Base

Returns

#negated_type => String

Inherited From
Stannum::Constraints::Base

Returns

#optional? => true, false

Inherited From
Stannum::Support::Optional

Returns

#required? => true, false

Inherited From
Stannum::Support::Optional

Returns

#type => String

Inherited From
Stannum::Constraints::Base

Returns

#with_options(**options) => Stannum::Constraints::Base

Inherited From
Stannum::Constraints::Type

Creates a copy of the constraint and updates the copy’s options.

Parameters

Returns

Back To Top


Back to Documentation | Versions | 0.4 | Reference | Stannum | Stannum::Constraints | Stannum::Constraints::Types