Class: TimePatterns::TimePattern
- Inherits:
-
Object
- Object
- TimePatterns::TimePattern
- Defined in:
- lib/todo_time_patterns/time_patterns.rb
Direct Known Subclasses
ClassicTimePattern, ClassicTimeWithModifierPattern, ComplexIntervalPattern, IntervalEndingPattern, IntervalTimeEndingPattern, SimpleIntervalPattern, TimeEndingPattern, TimeWithModifierPattern
Instance Method Summary collapse
- #find_and_update(tokens) ⇒ Object
-
#initialize(pattern_array, token_class) ⇒ TimePattern
constructor
A new instance of TimePattern.
Constructor Details
#initialize(pattern_array, token_class) ⇒ TimePattern
Returns a new instance of TimePattern.
5 6 7 8 9 |
# File 'lib/todo_time_patterns/time_patterns.rb', line 5 def initialize(pattern_array, token_class) @pattern = pattern_array.join @number_of_pattern_tokens = pattern_array.length @token_class = token_class end |
Instance Method Details
#find_and_update(tokens) ⇒ Object
11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 |
# File 'lib/todo_time_patterns/time_patterns.rb', line 11 def find_and_update(tokens) return tokens unless tokens.to_s.include? @pattern tokens_clone = tokens.clone tokens.each_cons(@number_of_pattern_tokens) do |tokens_set| break unless tokens_set.length == @number_of_pattern_tokens tokens_set.extend(TokensStringRepresentation) if tokens_set.to_s == @pattern next unless valid? tokens_set time_token = @token_class.new tokens_set substitute_tokens tokens_set, time_token, tokens_clone end end tokens_clone end |