Tools

A library of utility services and concerns.

Class: SleepingKingStudios::Tools::Assertions::MessagesStrategy

Parent Namespace
SleepingKingStudios::Tools::Assertions
Inherited Classes
SleepingKingStudios::Tools::Messages::Strategies::HashStrategy > SleepingKingStudios::Tools::Messages::Strategy > Object
Defined In
lib/sleeping_king_studios/tools/assertions/messages_strategy.rb

Table Of Contents

Overview

Messages strategy for displaying assertions errors.

Defines its own internal message templates, and automatically handles value name option (:as option) when generating messages.

Back To Top

Constants

ERROR_MESSAGES

= { 'blank' => 'must be nil or empty', 'block' => 'block returned a falsy value', 'boolean' => 'must be true or false', 'class' => 'is not a Class', 'class_or_module' => 'is not a Class or Module', 'exclusion' => 'is one of %s', 'exclusion_range' => 'is within %s', 'inclusion' => 'is not one of %s', 'inclusion_range' => 'is outside %s', 'inherit_from' => 'does not inherit from %s', 'instance_of' => 'is not an instance of %s', 'instance_of_anonymous' => 'is not an instance of %s (%s)', 'matches' => 'does not match the expected value', 'matches_proc' => 'does not match the Proc', 'matches_regexp' => 'does not match the pattern %s', 'name' => 'is not a String or a Symbol', 'nil' => 'must be nil', 'not_nil' => 'must not be nil', # @note: This value will be changed in a future version. 'presence' => "can't be blank" }.freeze</code></span>

rubocop:disable Layout/HashAlignment

Back To Top

Constructor

#initialize => MessagesStrategy

rubocop:enable Layout/HashAlignment

Returns

Back To Top

Instance Attributes

#templates => Hash (readonly)

Inherited From
SleepingKingStudios::Tools::Messages::Strategies::HashStrategy

Returns

Back To Top

Instance Methods

#call(key, parameters: {}, scope: nil, **options) => String

Inherited From
SleepingKingStudios::Tools::Messages::Strategy

Generates a formatted string for the given key, parameters, and options.

If the strategy does not define a message for the key, you can provide a default value.

Parameters

Returns

#fetch(key, default = nil, scope: nil, **options) => Object
#fetch(key, scope: nil, **options, &default) => Object

Inherited From
SleepingKingStudios::Tools::Messages::Strategy

Overloads

#fetch(key, default = nil, scope: nil, **options) => Object

Retrieves the messages template with the given scope and options.

If there is no template matching the given key, scope, and options, returns the default value or raises a KeyError if no default value is provided.

Parameters
  • key (String, Symbol) — the key used to resolve the message.
  • default (Object) — the default value to return if the strategy does not define a message for the key.
  • scope (String) — the namespace for the key. Combined with the given key to generate the scoped key value.
  • options (Hash) — additional options for resolving or generating the message.
Returns
  • (Object) — the stored template for the requested key, or the provided default value.
#fetch(key, scope: nil, **options, &default) => Object

If there is no template matching the given key, scope, and options, the block is called with the scoped key and the value returned by the block is returned by #fetch.

Parameters
  • key (String, Symbol) — the key used to resolve the message.
  • scope (String) — the namespace for the key. Combined with the given key to generate the scoped key value.
  • options (Hash) — additional options for resolving or generating the message.
Yield Parameters
  • scoped_key (String) — the fully scoped key for the requested template, combining the given key and the given scope, if any.
  • options (Hash) — additional options for resolving the message.
Yield Returns
  • (Object) — the default value for the given scoped key.
Returns
  • (Object) — the stored template for the requested key, or the value returned by the provided default block.

Raises

#get(key, scope: nil, **options) => Object

Inherited From
SleepingKingStudios::Tools::Messages::Strategy

Retrieves the messages template with the given scope and options.

Parameters

Returns

Back To Top


Back to Documentation | Reference | SleepingKingStudios | SleepingKingStudios::Tools | SleepingKingStudios::Tools::Assertions