class UsecaseTracer
Attributes
testresult[R]
tracelog[R]
Public Class Methods
class_tracer(*args)
click to toggle source
# File lib/usecase_tracer.rb, line 24 def self.class_tracer(*args) a = *args @@classes = a.map(&:to_s) end
ignore_methods(*args)
click to toggle source
# File lib/usecase_tracer.rb, line 29 def self.ignore_methods(*args) a = *args @@ignore_methods = a.flatten end
new()
click to toggle source
# File lib/usecase_tracer.rb, line 15 def initialize() @usecases = [] cases() @tracelog = [] @testresult = [] end
Public Instance Methods
passed?()
click to toggle source
# File lib/usecase_tracer.rb, line 47 def passed?() @testresult.map(&:last).all? end
run()
click to toggle source
# File lib/usecase_tracer.rb, line 34 def run() @usecases.each.with_index do |x, i| desc, blk = x @desc = desc r = blk.call @testresult << [i, r] if r.is_a?(TrueClass) or r.is_a?(FalseClass) end end
trace(ignore: []) { || ... }
click to toggle source
# File lib/usecase_tracer.rb, line 51 def trace(ignore: []) it = IndentedTracer.new it.classes = @@classes it.ignore_methods = (@@ignore_methods + [*ignore].map(&:to_sym)) it.on yield it.off @tracelog << it.log(@desc, tags: @@classes) end
Private Instance Methods
cases()
click to toggle source
override this method with your own implementation of usecase methods
# File lib/usecase_tracer.rb, line 69 def cases() end
usecase(desc='', &blk)
click to toggle source
# File lib/usecase_tracer.rb, line 73 def usecase(desc='', &blk) @usecases << [desc, blk] end