Sha256: b047f40a5e425746d8c44812ae40793278a1bc70e56e6c49a6b6dd1f5d65cec5

Contents?: true

Size: 512 Bytes

Versions: 1

Compression:

Stored size: 512 Bytes

Contents

module NxtSchema
  module Node
    class TypeSystemResolver
      include NxtInit
      attr_init :node

      delegate_missing_to :node

      def call
        type_system = options.fetch(:type_system) { parent_node&.type_system }

        if type_system.is_a?(Module)
          type_system
        elsif type_system.is_a?(Symbol) || type_system.is_a?(String)
          "NxtSchema::Types::#{type_system.to_s.classify}".constantize
        else
          NxtSchema::Types
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
nxt_schema-1.0.0 lib/nxt_schema/node/type_system_resolver.rb