require "drexed/datetime/version" module Drexed module Datetime class Engine < ::Rails::Engine ## Time.datetime_to("yyyy-mm-dd") => "2012-03-04" def datetime_to(tach) delineators = tach.scan /\W+/ formatters = tach.scan /[a-z]+/i units = { "yy" => "y", "yyyy" => "Y", "m" => "-m", "mm" => "m", "M" => "b", "MM" => "B", "d" => "-d", "dd" => "d", "D" => "a", "DD" => "A", "h" => "-I", "hh" => "I", "H" => "-H", "HH" => "H", "mi" => "M", "p" => "P", "P" => "p" } strftime(formatters.map{ |f| "%#{units[f]}#{delineators.shift || ""}" }.join) end end end end Time.send :include, Drexed::Datetime Date.send :include, Drexed::Datetime DateTime.send :include, Drexed::Datetime