Module: ReadTime
- Included in:
- String
- Defined in:
- lib/read-time.rb
Defined Under Namespace
Classes: Configuration
Class Attribute Summary collapse
Class Method Summary collapse
Instance Method Summary collapse
Class Attribute Details
.config ⇒ Object
33 34 35 |
# File 'lib/read-time.rb', line 33 def self.config @config ||= Configuration.new end |
Class Method Details
.configure {|config| ... } ⇒ Object
41 42 43 |
# File 'lib/read-time.rb', line 41 def self.configure yield(config) end |
.reset_config ⇒ Object
37 38 39 |
# File 'lib/read-time.rb', line 37 def self.reset_config @config = Configuration.new end |
Instance Method Details
#readtime(options = {}) ⇒ Object
2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 |
# File 'lib/read-time.rb', line 2 def readtime( = {}) reading_speed = ([:reading_speed] || ReadTime.config.reading_speed).to_f format = [:format] || ReadTime.config.format word_count = scan(/[\w-]+/).size num = ((word_count / reading_speed) * 60).ceil minutes = num / 60 seconds = num - (minutes * 60) case format when :default min = (num / 60.0).ceil "#{min} minute read" when :long if seconds.zero? "#{minutes} minute read" elsif minutes.zero? "#{seconds} second read" else "#{minutes} minute #{seconds} second read" end else min = (num / 60.0).ceil "#{min} minute read" end end |