Sha256: 7661e9923acbe4248350b5c04b03502159ae83a976163ee01e9e67ebcc52d1f3

Contents?: true

Size: 554 Bytes

Versions: 5

Compression:

Stored size: 554 Bytes

Contents

# frozen_string_literal: true

module AzureSTT
  module Models
    #
    # Base class for the models
    #
    class Base < Dry::Struct
      # throw an error when unknown keys provided
      schema schema.strict

      # convert string keys to symbols
      transform_keys(&:to_sym)

      # resolve default types on nil
      transform_types do |type|
        if type.default?
          type.constructor do |value|
            value.nil? ? Dry::Types::Undefined : value
          end
        else
          type
        end
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
azure_stt-0.4.0 lib/azure_stt/models/base.rb
azure_stt-0.3.0 lib/azure_stt/models/base.rb
azure_stt-0.2.0 lib/azure_stt/models/base.rb
azure_stt-0.1.1 lib/azure_stt/models/base.rb
azure_stt-0.1.0 lib/azure_stt/models/base.rb