Sha256: 2ebfd862b1a914455a7b47b925bcbbca838d99c545ed5faeb1cf5f1f36a98289

Contents?: true

Size: 482 Bytes

Versions: 1

Compression:

Stored size: 482 Bytes

Contents

# frozen_string_literal: true

module Gladwords
  # @api private
  module Types
    include ROM::Types

    def self.type(**meta)
      yield(meta).meta(meta)
    end

    ID = Types::Int

    Date = type(format: '%Y%m%d') do |format:|
      read = Types.Constructor(::Date) { |d| ::Date.strptime(d, format) }

      Types::String.meta(read: read)
    end

    Statuses = Types::Strict::String.enum(
      'UNKNOWN',
      'ENABLED',
      'PAUSED',
      'REMOVED'
    )
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
gladwords-1.0.1 lib/gladwords/types.rb