module Circa
Constants
- VERSION
Public Instance Methods
circa(input_string)
click to toggle source
Convenience method to create a new {Circa::Date} or {Circa::Time} @param [String] input_string
A string in format %Y-%m-%d or %Y-%m-%d %H:%M:%S
@return [Circa::Date/Circa::Time]
A new {Circa::Date} or {Circa::Time} depending on input
@raise [ArgumentError]
If an invalid input string is given
# File lib/circa.rb, line 15 def circa(input_string) if match_date(input_string) Date.new(input_string) elsif match_time(input_string) Time.new(input_string) else raise ArgumentError, "Invalid input string: #{input_string}" end end
Private Instance Methods
match_date(input_string)
click to toggle source
# File lib/circa.rb, line 27 def match_date(input_string) input_string =~ Date::REGEX end
match_time(input_string)
click to toggle source
# File lib/circa.rb, line 31 def match_time(input_string) date_re = Date::REGEX.source.sub(/\$$/, '') time_re = Time::REGEX.source.sub(/^\^/, '') input_string =~ Regexp.new("#{date_re}T|\s#{time_re}") end