Sha256: 8fac63e7a3b183ab2d1e2a829cc8fa9e2eac5945dcae2eb1f54644ada737d16a

Contents?: true

Size: 440 Bytes

Versions: 2

Compression:

Stored size: 440 Bytes

Contents

module Datacaster
  module Config
    extend self

    def add_predefined_caster(name, definition)
      caster =
        case definition
        when Proc
          Datacaster.partial_schema(&definition)
        when Base
          definition
        else
          raise ArgumentError.new("Expected Datacaster defintion lambda or Datacaster instance")
        end

      Predefined.define_method(name.to_sym) { caster }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
datacaster-2.0.2 lib/datacaster/config.rb
datacaster-2.0.1 lib/datacaster/config.rb