Sha256: 8672a5a7f0ab1c3d86961ed3f67f5c14376f672fe7e3118f210366d7fdd4c531

Contents?: true

Size: 370 Bytes

Versions: 3

Compression:

Stored size: 370 Bytes

Contents

# frozen_string_literal: true

module KeycloakRack
  # @abstract
  class FlexibleStruct < Dry::Struct
    transform_keys(&:to_sym)

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

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
keycloak_rack-1.1.1 lib/keycloak_rack/flexible_struct.rb
keycloak_rack-1.1.0 lib/keycloak_rack/flexible_struct.rb
keycloak_rack-1.0.0 lib/keycloak_rack/flexible_struct.rb