Sha256: 39c8fe7318bf28cd5b0d838825088ec2b8197915e5e8c58f083b4b6386f3d509

Contents?: true

Size: 439 Bytes

Versions: 4

Compression:

Stored size: 439 Bytes

Contents

# frozen_string_literal: true

module LedgerSync
  module Serialization
    module Type
      class ParseDateType < LedgerSync::Type::Value
        attr_reader :format

        def initialize(args = {})
          @format = args.fetch(:format)
        end

        def cast_value(args = {})
          value = args.fetch(:value)

          return if value.nil?

          Date.strptime(value, format)
        end
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
ledger_sync-1.4.4 lib/ledger_sync/serialization/type/parse_date_type.rb
ledger_sync-1.4.2 lib/ledger_sync/serialization/type/parse_date_type.rb
ledger_sync-1.4.1 lib/ledger_sync/serialization/type/parse_date_type.rb
ledger_sync-1.4.0 lib/ledger_sync/serialization/type/parse_date_type.rb