Module: ActionParamsContract

Defined in:
lib/action_params_contract.rb,
lib/action_params_contract/params.rb,
lib/action_params_contract/version.rb,
lib/action_params_contract/configuration.rb,
lib/action_params_contract/dry_extensions.rb,
lib/action_params_contract/request_context.rb,
lib/action_params_contract/params_validator.rb,
lib/action_params_contract/schema_installer.rb,
lib/action_params_contract/contract_generator.rb,
lib/action_params_contract/controller_installer.rb,
lib/action_params_contract/dry_extensions/evaluator.rb,
lib/action_params_contract/dry_extensions/schema_dsl.rb,
lib/action_params_contract/dry_extensions/rule_prepend.rb,
lib/action_params_contract/errors/invalid_params_error.rb,
lib/action_params_contract/dry_extensions/default_macro.rb,
lib/action_params_contract/errors/conflicting_root_error.rb,
lib/action_params_contract/errors/invalid_receiver_error.rb,
lib/action_params_contract/dry_extensions/validation_scope.rb,
lib/action_params_contract/errors/unnamed_controller_error.rb,
lib/action_params_contract/errors/default_on_required_error.rb,
lib/action_params_contract/dry_extensions/schema_dsl_prepend.rb,
lib/action_params_contract/errors/duplicate_registration_error.rb,
lib/action_params_contract/dry_extensions/controller_action_dsl.rb,
lib/action_params_contract/errors/missing_request_context_error.rb

Defined Under Namespace

Modules: Contracts, ControllerInstaller, DryExtensions, Params, RequestContext Classes: Configuration, ConflictingRootError, ContractGenerator, DefaultOnRequiredError, DuplicateRegistrationError, InvalidParamsError, InvalidReceiverError, MissingRequestContextError, ParamsValidator, SchemaInstaller, UnnamedControllerError

Constant Summary collapse

VERSION =
"0.2.0"

Class Method Summary collapse

Class Method Details

.configurationObject



21
22
23
# File 'lib/action_params_contract.rb', line 21

def configuration
  @configuration ||= Configuration.new
end

.configure {|configuration| ... } ⇒ Object

Yields:



25
26
27
# File 'lib/action_params_contract.rb', line 25

def configure
  yield(configuration)
end

.params_errorsObject



32
33
34
# File 'lib/action_params_contract.rb', line 32

def params_errors
  Hash(RequestContext.current_controller&.instance_variable_get(ParamsValidator::ERRORS_IVAR))
end

.validate(&block) ⇒ Object



29
# File 'lib/action_params_contract.rb', line 29

def validate(&block)  = SchemaInstaller.call(block, raise_on_failure: false)

.validate!(&block) ⇒ Object



30
# File 'lib/action_params_contract.rb', line 30

def validate!(&block) = SchemaInstaller.call(block, raise_on_failure: true)