Class: WordCountAnalyzer::Date
- Inherits:
-
Object
- Object
- WordCountAnalyzer::Date
- Defined in:
- lib/word_count_analyzer/date.rb
Constant Summary collapse
- DOW =
%w(monday tuesday wednesday thursday friday saturday sunday)- DOW_ABBR =
%w(mon tu tue tues wed th thu thur thurs fri sat sun)- MONTHS =
%w(january february march april may june july august september october november december)- MONTH_ABBR =
%w(jan feb mar apr jun jul aug sep sept oct nov dec)- DMY_MDY_REGEX =
Rubular: rubular.com/r/73CZ2HU0q6
/(\d{1,2}(\/|\.|-)){2}\d{4}\.?/- YMD_YDM_REGEX =
Rubular: rubular.com/r/GWbuWXw4t0
/\d{4}(\/|\.|-)(\d{1,2}(\/|\.|-)){2}\.?/- DIGIT_ONLY_YEAR_FIRST_REGEX =
Rubular: rubular.com/r/SRZ27XNlvR
/[12]\d{7}\D\.?/- DIGIT_ONLY_YEAR_LAST_REGEX =
Rubular: rubular.com/r/mpVSeaKwdY
/\d{4}[12]\d{3}\D\.?/
Instance Method Summary collapse
- #includes_date?(text) ⇒ Boolean
- #occurrences(text) ⇒ Object
- #replace(text) ⇒ Object
- #replace_number_only_date(text) ⇒ Object
Instance Method Details
#includes_date?(text) ⇒ Boolean
19 20 21 |
# File 'lib/word_count_analyzer/date.rb', line 19 def includes_date?(text) includes_long_date?(text) || includes_number_only_date?(text) end |
#occurrences(text) ⇒ Object
30 31 32 |
# File 'lib/word_count_analyzer/date.rb', line 30 def occurrences(text) replace(text).scan(/wsdateword/).size end |
#replace(text) ⇒ Object
23 24 25 26 27 28 |
# File 'lib/word_count_analyzer/date.rb', line 23 def replace(text) counter = 0 DOW_ABBR.map { |day| counter +=1 if text.include?('day') } text = redact_dates(counter, text) redact_regex(text) end |
#replace_number_only_date(text) ⇒ Object
34 35 36 37 38 39 |
# File 'lib/word_count_analyzer/date.rb', line 34 def replace_number_only_date(text) text.gsub(DMY_MDY_REGEX, ' wsdateword ') .gsub(YMD_YDM_REGEX, ' wsdateword ') .gsub(DIGIT_ONLY_YEAR_FIRST_REGEX, ' wsdateword ') .gsub(DIGIT_ONLY_YEAR_LAST_REGEX, ' wsdateword ') end |