8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
# File 'lib/perron/resource/reading_time.rb', line 8
def estimated_reading_time(wpm: DEFAULT_WORDS_PER_MINUTE, format: DEFAULT_FORMAT)
word_count = content.scan(/\b[a-zA-Z]+\b/).size
total_minutes = [(word_count.to_f / wpm).ceil, 1].max
hours = total_minutes / 60
minutes = total_minutes % 60
seconds = ((word_count.to_f / wpm) * 60).to_i % 60
return total_minutes if format.blank?
format % {
minutes: minutes,
total_minutes: total_minutes,
hours: hours,
seconds: seconds,
min: minutes,
h: hours,
s: seconds
}
end
|