Class: Timmy::TargetedTimerDefinition

Inherits:
Object
  • Object
show all
Defined in:
lib/timmy/targeted_timer_definition.rb

Instance Attribute Summary collapse

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(id, start_regex:, stop_regex: nil) ⇒ TargetedTimerDefinition

Returns a new instance of TargetedTimerDefinition.



24
25
26
27
28
29
# File 'lib/timmy/targeted_timer_definition.rb', line 24

def initialize(id, start_regex:, stop_regex: nil)
  @id = id

  @start_regex = start_regex
  @stop_regex = stop_regex
end

Instance Attribute Details

#idObject (readonly)

Returns the value of attribute id.



22
23
24
# File 'lib/timmy/targeted_timer_definition.rb', line 22

def id
  @id
end

#start_regexObject (readonly)

Returns the value of attribute start_regex.



22
23
24
# File 'lib/timmy/targeted_timer_definition.rb', line 22

def start_regex
  @start_regex
end

#stop_regexObject (readonly)

Returns the value of attribute stop_regex.



22
23
24
# File 'lib/timmy/targeted_timer_definition.rb', line 22

def stop_regex
  @stop_regex
end

Class Method Details

.add(id, start_regex:, stop_regex: nil) ⇒ Object



4
5
6
7
# File 'lib/timmy/targeted_timer_definition.rb', line 4

def add(id, start_regex:, stop_regex: nil)
  delete(id)
  all.push(self.new(id, start_regex: start_regex, stop_regex: stop_regex))
end

.allObject



13
14
15
16
17
18
19
# File 'lib/timmy/targeted_timer_definition.rb', line 13

def all
  @all ||= [
    self.new(:docker_build,
      start_regex: /Step \d+\/\d+ : (?<label>.*)$/,
      stop_regex: / ---> [0-9a-f]{12}$/)
  ]
end

.delete(id) ⇒ Object



9
10
11
# File 'lib/timmy/targeted_timer_definition.rb', line 9

def delete(id)
  all.reject! { |definition| definition.id == id }
end