Sha256: 678c291e3bb22a7b6ec76a8fdefff5cabae7efbdeb1e831cb97202a77607f260

Contents?: true

Size: 597 Bytes

Versions: 2

Compression:

Stored size: 597 Bytes

Contents

# encoding: utf-8

module Mixture
  module Coerce
    # Handles coercion of the Date class.
    class Date < Base
      type Type::Date

      coerce_to(Type::Object, Itself)
      coerce_to(Type::String, :to_s)
      coerce_to(Type::Time, :to_time)
      coerce_to(Type::Date, :to_date)
      coerce_to(Type::DateTime, :to_datetime)
      coerce_to(Type::Array) { |value| value.to_time.to_a }
      coerce_to(Type::Float) { |value| value.to_time.to_f }
      coerce_to(Type::Integer) { |value| value.to_time.to_i }
      coerce_to(Type::Rational) { |value| value.to_time.to_r }
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
mixture-0.2.0 lib/mixture/coerce/date.rb
mixture-0.1.0 lib/mixture/coerce/date.rb