Module: Axn::Core::FieldResolvers

Defined in:
lib/axn/core/field_resolvers.rb,
lib/axn/core/field_resolvers/model.rb,
lib/axn/core/field_resolvers/extract.rb

Defined Under Namespace

Classes: Extract, Model

Constant Summary collapse

RESOLVERS =

Registry for field resolvers This allows us to easily add new field types in the future

{
  model: FieldResolvers::Model,
  extract: FieldResolvers::Extract,
}.freeze

Class Method Summary collapse

Class Method Details

.resolve(type:, field:, provided_data:, options: {}) ⇒ Object

Raises:

  • (ArgumentError)


16
17
18
19
20
21
# File 'lib/axn/core/field_resolvers.rb', line 16

def self.resolve(type:, field:, provided_data:, options: {})
  resolver_class = RESOLVERS[type]
  raise ArgumentError, "Unknown field resolver type: #{type}" unless resolver_class

  resolver_class.new(field:, options:, provided_data:).call
end