Class: Railsmith::BaseService::InputResolver

Inherits:
Object
  • Object
show all
Includes:
InputResolverHelpers
Defined in:
lib/railsmith/base_service/input_resolver.rb

Overview

Resolves and validates declared service inputs.

Instance Method Summary collapse

Constructor Details

#initialize(registry, filter: true) ⇒ InputResolver

Returns a new instance of InputResolver.

Parameters:

  • registry (InputRegistry)

    the input definitions for this service

  • filter (Boolean) (defaults to: true)

    whether to drop undeclared keys (default: true)



50
51
52
53
# File 'lib/railsmith/base_service/input_resolver.rb', line 50

def initialize(registry, filter: true)
  @registry = registry
  @filter   = filter
end

Instance Method Details

#resolve(raw_params) ⇒ Railsmith::Result

Run the pipeline against raw_params.

Returns:

  • (Railsmith::Result)

    success with resolved hash, or failure with validation_error



58
59
60
61
62
# File 'lib/railsmith/base_service/input_resolver.rb', line 58

def resolve(raw_params)
  return Result.success(value: raw_params) unless @registry.any?

  run_pipeline(extract(raw_params))
end