Module: Relaton::Core::DateParser
- Defined in:
- lib/relaton/core/date_parser.rb
Instance Method Summary collapse
Instance Method Details
#parse_date(date, str: true) ⇒ Date, ...
Returns date.
7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/relaton/core/date_parser.rb', line 7 def parse_date(date, str: true) # rubocop:disable Metrics/CyclomaticComplexity,Metrics/MethodLength return date if date.is_a?(Date) case date.to_s when /(?<date>\w+\s\d{4})/ # February 2012 format_date $~[:date], "%B %Y", str, "%Y-%m" when /(?<date>\w+\s\d{1,2},\s\d{4})/ # February 11, 2012 format_date $~[:date], "%B %d, %Y", str, "%Y-%m-%d" when /(?<date>\d{4}-\d{1,2}-\d{1,2})/ # 2012-02-03 or 2012-2-3 format_date $~[:date], "%Y-%m-%d", str when /(?<date>\d{4}-\d{1,2})/ # 2012-02 or 2012-2 format_date $~[:date], "%Y-%m", str when /(?<date>\d{4})/ # 2012 format_date $~[:date], "%Y", str end end |