Class: Uttk::Filters::Saver

Inherits:
Filter show all
Includes:
Concrete
Defined in:
lib/uttk/filters/Saver.rb

Overview

FIXME Path based

This very basic filter, observe a logger, and save all received leaves, without any formatting.

With this observer you save a sort of execution trace. After that you can apply to another logger the same message sequence.

You can also simply check that two results are equal, for that, just compare the sequence message.

Instance Method Summary collapse

Methods inherited from Filter

composition, #notif

Methods inherited from Logger::Backend

#update

Constructor Details

#initialize(*a, &b) ⇒ Saver

Returns a new instance of Saver.



26
27
28
29
# File 'lib/uttk/filters/Saver.rb', line 26

def initialize(*a, &b)
  super
  @out = []
end

Instance Method Details

#each(&block) ⇒ Object



45
46
47
# File 'lib/uttk/filters/Saver.rb', line 45

def each ( &block )
  @out.each(&block)
end

#getObject



35
36
37
# File 'lib/uttk/filters/Saver.rb', line 35

def get
  @out.dup
end

#new_leaf(*args) ⇒ Object



31
32
33
# File 'lib/uttk/filters/Saver.rb', line 31

def new_leaf ( *args )
  @out << args
end

#to_uttk_log(log) ⇒ Object



39
40
41
42
43
# File 'lib/uttk/filters/Saver.rb', line 39

def to_uttk_log ( log )
  each do |a|
    log.update(:new_leaf, *a)
  end
end