Sha256: 161f8fb011fb0ee6b8817a33db9a097f58004afeb2d372ab532efa2babad65e4
Contents?: true
Size: 665 Bytes
Versions: 1
Compression:
Stored size: 665 Bytes
Contents
# frozen_string_literal: true module Vernacular module Modifiers # Extends Ruby syntax to allow date sigils, or ~d(...). The date inside is # parsed and as an added benefit if it is a set value it is replaced with # the more efficient `strptime`. class DateSigil < RegexModifier FORMAT = '%FT%T%:z' def initialize super(/~d\((.+?)\)/) do |match| content = match[3..-2] begin date = Date.parse(content) "Date.strptime('#{date.strftime(FORMAT)}', '#{FORMAT}')" rescue ArgumentError "Date.parse(#{content})" end end end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
vernacular-1.0.0 | lib/vernacular/modifiers/date_sigil.rb |