Sha256: c627929ea47d701c87cc5100e647d2a16318a2ac21f832a2eda86de4a7205688
Contents?: true
Size: 699 Bytes
Versions: 2
Compression:
Stored size: 699 Bytes
Contents
module Crawler class Cinema module Duration SECONDS_PER_HOUR = 3600 SECONDS_PER_MINUTE = 60 module_function def parse(str) duration = 0 duration_matches = str.match(/^((?<hours>\d+)(h|hours?))?\s*((?<minutes>\d+)(m|minutes?|mins?))?\s*((?<seconds>\d+)(s|seconds?|secs?))?$/i) if duration_matches duration += duration_matches[:hours].to_i * SECONDS_PER_HOUR if duration_matches[:hours] duration += duration_matches[:minutes].to_i * SECONDS_PER_MINUTE if duration_matches[:minutes] duration += duration_matches[:seconds].to_i if duration_matches[:seconds] end duration end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
crawler-cinema-core-0.1.1 | lib/crawler/cinema/duration.rb |
crawler-cinema-core-0.1.0 | lib/crawler/cinema/duration.rb |