reading 1.3.0 → 1.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: ec7c69957c18686ee0fa910f82e4ffbaffae36ee1e489562f0995cb008d55f7b
|
|
4
|
+
data.tar.gz: 05f7be9abf21880fb2a935857c0b6d5c374eced42ca95872a1a4450c3fb494ce
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: dfbcdf57e5e725da9f634eafebf9eca95f570f22caf14ca607fa937d381aa0cc959b540f234fb47e7485f71074b2ac3f95bf7861b51ec0e539a36fe042fe4c2e
|
|
7
|
+
data.tar.gz: a5961b47989e97894b15787dad5e6556f4cf5a220c725ac390ac37d4a50f4a7faf6dea28ec0167870880014e3accd7cf552c0dc80ba651a0fc19508f48d1c240
|
data/lib/reading/filter.rb
CHANGED
|
@@ -72,7 +72,7 @@ module Reading
|
|
|
72
72
|
return items unless minimum_previous_rating
|
|
73
73
|
|
|
74
74
|
items.select! do |item|
|
|
75
|
-
max_previous_rating = item.notes.map { it.rating_change.first }.compact.max
|
|
75
|
+
max_previous_rating = item.notes.reject(&:private?).map { it.rating_change.first }.compact.max
|
|
76
76
|
max_previous_rating && max_previous_rating >= minimum_previous_rating &&
|
|
77
77
|
item.rating && item.rating < minimum_previous_rating
|
|
78
78
|
end
|
|
@@ -17,6 +17,7 @@ module Reading
|
|
|
17
17
|
content: note[:content],
|
|
18
18
|
}
|
|
19
19
|
}.then { distribute_dates_to_rating_changes!(it, parsed_row) }
|
|
20
|
+
.then { capitalize_content_of_rating_changes!(it, parsed_row) }
|
|
20
21
|
end
|
|
21
22
|
|
|
22
23
|
private
|
|
@@ -48,6 +49,15 @@ module Reading
|
|
|
48
49
|
note[:date] = last_experience[:spans].last[:dates]&.end || last_experience[:spans].first[:dates]&.begin
|
|
49
50
|
end
|
|
50
51
|
end
|
|
52
|
+
|
|
53
|
+
def capitalize_content_of_rating_changes!(transformed_notes, parsed_row)
|
|
54
|
+
return unless transformed_notes
|
|
55
|
+
|
|
56
|
+
transformed_notes.each do |note|
|
|
57
|
+
next if note[:rating_change].empty? || note[:content].nil?
|
|
58
|
+
note[:content].capitalize!
|
|
59
|
+
end
|
|
60
|
+
end
|
|
51
61
|
end
|
|
52
62
|
end
|
|
53
63
|
end
|
|
@@ -5,19 +5,31 @@ module Reading
|
|
|
5
5
|
# See https://github.com/fpsvogel/reading/blob/main/doc/csv-format.md#notes-column
|
|
6
6
|
# and https://github.com/fpsvogel/reading/blob/main/doc/csv-format.md#notes-column-special-notes
|
|
7
7
|
class Notes < Column
|
|
8
|
+
RATING_CHANGED_WORDS = %w[
|
|
9
|
+
changed
|
|
10
|
+
updated
|
|
11
|
+
revised
|
|
12
|
+
downgraded
|
|
13
|
+
demoted
|
|
14
|
+
lowered
|
|
15
|
+
upgraded
|
|
16
|
+
promoted
|
|
17
|
+
raised
|
|
18
|
+
]
|
|
19
|
+
|
|
8
20
|
def self.segment_separator
|
|
9
21
|
/\s*--\s*/
|
|
10
22
|
end
|
|
11
23
|
|
|
12
24
|
def self.regexes(segment_index)
|
|
13
25
|
[%r{\A
|
|
14
|
-
(?:(?<blurb>💬)|(?<private>🔒))
|
|
26
|
+
(?:(?<blurb>💬)|(?<private>🔒))?\s*
|
|
15
27
|
(?<date>\d{4}/\d\d?/\d\d?)?:?\s*
|
|
16
28
|
(?:
|
|
17
29
|
(?:
|
|
18
|
-
(
|
|
30
|
+
(?:#{RATING_CHANGED_WORDS.join("|")})?\s*rating
|
|
19
31
|
|
|
|
20
|
-
rating\s*(
|
|
32
|
+
rating\s*(?:#{RATING_CHANGED_WORDS.join("|")})?
|
|
21
33
|
)?
|
|
22
34
|
(?:\s+from\s+)?
|
|
23
35
|
(?:
|
data/lib/reading/stats/filter.rb
CHANGED
|
@@ -113,7 +113,7 @@ module Reading
|
|
|
113
113
|
positive_operator = operator == :"!=" ? :== : operator
|
|
114
114
|
|
|
115
115
|
matches = items.select { |item|
|
|
116
|
-
actual_previous_ratings = item.notes.map { it.rating_change.first }.compact
|
|
116
|
+
actual_previous_ratings = item.notes.reject(&:private?).map { it.rating_change.first }.compact
|
|
117
117
|
|
|
118
118
|
previous_ratings.any? { |previous_rating|
|
|
119
119
|
if !actual_previous_ratings.empty? || %i[== !=].include?(operator)
|
data/lib/reading/version.rb
CHANGED