Class: Reading::Parsing::Rows::Regular::Notes
- Inherits:
-
Column
show all
- Defined in:
- lib/reading/parsing/rows/regular_columns/notes.rb
Overview
Constant Summary
collapse
- RATING_CHANGED_WORDS =
%w[
changed
updated
revised
downgraded
demoted
lowered
upgraded
promoted
raised
]
Constants inherited
from Column
Column::SHARED_REGEXES
Class Method Summary
collapse
Methods inherited from Column
column_name, flatten_into_arrays, regexes_before_formats, segment_group_separator, split_by_format?, split_by_segment?, split_by_segment_group?, to_sym, tweaks
Class Method Details
.regexes(segment_index) ⇒ Object
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
|
# File 'lib/reading/parsing/rows/regular_columns/notes.rb', line 24
def self.regexes(segment_index)
[%r{\A
(?:(?<blurb>💬)|(?<private>🔒))?\s*
(?<date>\d{4}/\d\d?/\d\d?)?:?\s*
(?:
(?:
(?:#{RATING_CHANGED_WORDS.join("|")})?\s*rating
|
rating\s*(?:#{RATING_CHANGED_WORDS.join("|")})?
)?
(?:\s+from\s+)?
(?:
(?<rating_from>\d)
\s+to\s+
(?<rating_to>\d)
)
(?:\s+because\s+|\s*[[:punct:]]\s*)?
)?
(?<content>.+)?
\z}xi]
end
|
.segment_separator ⇒ Object
20
21
22
|
# File 'lib/reading/parsing/rows/regular_columns/notes.rb', line 20
def self.segment_separator
/\s*--\s*/
end
|