class Vernacular::Modifiers::DateSigil

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`.

Constants

FORMAT

Public Class Methods

new() click to toggle source
Calls superclass method
# File lib/vernacular/modifiers/date_sigil.rb, line 11
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