Sha256: f9846543c2dd36053a078e49a92aa7281dca59f90d47a78f0aa923a118be3d2e
Contents?: true
Size: 1.17 KB
Versions: 2
Compression:
Stored size: 1.17 KB
Contents
module Dry module Types module Coercions include Dry::Core::Constants # @param [String] input # @return [String?] def to_nil(input) input unless empty_str?(input) end # @param [#to_str, Object] input # @return [Date, Object] # @see Date.parse def to_date(input) return input unless input.respond_to?(:to_str) Date.parse(input) rescue ArgumentError input end # @param [#to_str, Object] input # @return [DateTime, Object] # @see DateTime.parse def to_date_time(input) return input unless input.respond_to?(:to_str) DateTime.parse(input) rescue ArgumentError input end # @param [#to_str, Object] input # @return [Time, Object] # @see Time.parse def to_time(input) return input unless input.respond_to?(:to_str) Time.parse(input) rescue ArgumentError input end private # Checks whether String is empty # @param [String, Object] value # @return [Boolean] def empty_str?(value) EMPTY_STRING.eql?(value) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
dry-types-0.9.4 | lib/dry/types/coercions.rb |
dry-types-0.9.3 | lib/dry/types/coercions.rb |