Sha256: 33baa448975b4c1e30624368bbec190262eb88f8509aee694c733266ca7493a0
Contents?: true
Size: 1.11 KB
Versions: 1
Compression:
Stored size: 1.11 KB
Contents
# frozen_string_literal: true module TimeRangeExtractor class MatchResult def initialize(match_data) @match_data = match_data end def valid? @match_data && (start_time.present? && end_time.present?) end def start_time match_data[:start_time] end def start_period @start_period ||= match_data[:start_period].presence || begin force_start_period_to_am? ? 'am' : end_period end end def end_time match_data[:end_time] end def end_period match_data[:end_period] end def time_zone match_data[:time_zone] end def start_time_string [start_time, start_period, time_zone].compact.join(' ') end def end_time_string [end_time, end_period, time_zone].compact.join(' ') end private def range? start_time.present? && end_time.present? end def force_start_period_to_am? start_t = start_time.to_i end_t = end_time.to_i end_period.casecmp('pm') == 0 && (start_t > end_t || (end_t == 12 && start_t < end_t)) end attr_reader :match_data end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
time_range_extractor-0.3.0 | lib/time_range_extractor/match_result.rb |