Class: Humr::Handler::Time
- Inherits:
-
Humr::Handler
- Object
- Humr::Handler
- Humr::Handler::Time
- Defined in:
- lib/humr/handler/time.rb
Instance Method Summary collapse
- #_apache_common_log_time(s) ⇒ Object
- #_ctime(s) ⇒ Object
- #parse(s) ⇒ Object
- #parsers ⇒ Object
- #replace(s, &block) ⇒ Object
Methods inherited from Humr::Handler
Instance Method Details
#_apache_common_log_time(s) ⇒ Object
18 19 20 |
# File 'lib/humr/handler/time.rb', line 18 def _apache_common_log_time(s) ::Time.strptime(s, '%d/%b/%Y:%H:%M:%S %Z') end |
#_ctime(s) ⇒ Object
22 23 24 |
# File 'lib/humr/handler/time.rb', line 22 def _ctime(s) ::Time.strptime(s, '%c') end |
#parse(s) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/humr/handler/time.rb', line 26 def parse(s) for parser in parsers parsed = parser[s] rescue nil return parsed if parsed end nil end |
#parsers ⇒ Object
8 9 10 11 12 13 14 15 16 |
# File 'lib/humr/handler/time.rb', line 8 def parsers @parsers ||= [ method(:_apache_common_log_time), method(:_ctime), ::Time.method(:iso8601), ::Time.method(:httpdate), ::Time.method(:rfc822) ] end |
#replace(s, &block) ⇒ Object
35 36 37 38 |
# File 'lib/humr/handler/time.rb', line 35 def replace(s, &block) parsed = parse(s) parsed.to_s.sub(/.*/, &block) if parsed end |