Sha256: dba4c77c3d45027dd7a4f310b6f894a22622f1fb0110b3ceb31ca73a28ee1ac5
Contents?: true
Size: 790 Bytes
Versions: 2
Compression:
Stored size: 790 Bytes
Contents
module SmsAero::Types # Describes a user's birthday in year-month-date format # Accepts dates, times, datetimes, and strings parceable to dates # # @example # SmsAero::Types::Birthday["1901-12-9"] # => "1901-12-09" # SmsAero::Types::Birthday[Time.new(1901, 12, 9, 10, 12)] # => "1901-12-09" # Birthday = Strict::String .constrained(format: /\A\d{4}-\d{2}-\d{2}\z/) .constructor do |value| begin date = value.to_date if value.respond_to? :to_date date ||= ::Date.parse(value.to_s) date.strftime "%Y-%m-%d" rescue StandardError raise TypeError, "#{value.inspect} cannot be coerced to date" end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
sms_aero-0.0.11 | lib/sms_aero/types/birthday.rb |
sms_aero-0.0.10 | lib/sms_aero/types/birthday.rb |