Module: Origen::Tester::Doc::Generator
- Extended by:
- ActiveSupport::Concern
- Defined in:
- lib/origen/tester/doc/generator.rb,
lib/origen/tester/doc/generator/flow.rb,
lib/origen/tester/doc/generator/test.rb,
lib/origen/tester/doc/generator/tests.rb,
lib/origen/tester/doc/generator/flow_line.rb,
lib/origen/tester/doc/generator/test_group.rb
Defined Under Namespace
Classes: Flow, FlowLine, Test, TestGroup, Tests
Instance Method Summary (collapse)
- - (Object) at_flow_start private
- - (Object) at_run_start (also: #reset_globals) private
- - (Object) doc_comments
- - (Object) doc_comments_capture(comment)
- - (Object) doc_comments_consume
- - (Object) doc_comments_discard
-
- (Object) filter_source(source)
The source of all program files is passed in here before executing.
-
- (Object) flow(filename = nil)
Returns the current flow (as defined by the name of the current top level flow source file).
-
- (Object) flow_generators
Returns an array containing all flow generators.
-
- (Object) flows
Returns a hash containing all flows.
-
- (Object) sheet_generators
Returns an array containing all sheet generators where a sheet generator is a flow, test instance, patset or pat group sheet.
-
- (Object) tests
(also: #test_instances)
Returns a container for all generated tests.
Instance Method Details
- (Object) at_flow_start
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
45 46 |
# File 'lib/origen/tester/doc/generator.rb', line 45 def at_flow_start end |
- (Object) at_run_start Also known as: reset_globals
This method is part of a private API. You should avoid using this method if possible, as it may be removed or be changed in the future.
49 50 51 52 53 |
# File 'lib/origen/tester/doc/generator.rb', line 49 def at_run_start flow.at_run_start @@tests = nil @@flows = nil end |
- (Object) doc_comments
110 111 112 |
# File 'lib/origen/tester/doc/generator.rb', line 110 def doc_comments @doc_comments ||= [] end |
- (Object) doc_comments_capture(comment)
106 107 108 |
# File 'lib/origen/tester/doc/generator.rb', line 106 def doc_comments_capture(comment) doc_comments << "#{comment}" end |
- (Object) doc_comments_consume
114 115 116 117 118 |
# File 'lib/origen/tester/doc/generator.rb', line 114 def doc_comments_consume c = doc_comments doc_comments_discard c end |
- (Object) doc_comments_discard
120 121 122 |
# File 'lib/origen/tester/doc/generator.rb', line 120 def doc_comments_discard @doc_comments = [] end |
- (Object) filter_source(source)
The source of all program files is passed in here before executing. This will replace all comments with a method call containing the comment so that they can be captured.
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/origen/tester/doc/generator.rb', line 93 def filter_source(source) # :nodoc: src = '' source.split(/\r?\n/).each do |line| if line !~ /^\s*#-/ && line =~ /^\s*#(.*)/ comment = Regexp.last_match[1].gsub("'", "\\\\'") src << "Origen.interface.doc_comments_capture('#{comment}')\n" else src << "#{line}\n" end end src end |
- (Object) flow(filename = nil)
Returns the current flow (as defined by the name of the current top level flow source file).
Pass in a filename argument to have a specific flow returned instead.
If the flow does not exist yet it will be created.
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 |
# File 'lib/origen/tester/doc/generator.rb', line 28 def flow(filename = nil) unless filename if Origen.file_handler.current_file filename = Origen.file_handler.current_file.basename('.rb').to_s else filename = 'anonymous' end end f = filename.to_sym return flows[f] if flows[f] p = Flow.new p.inhibit_output if Origen.interface.resources_mode? p.filename = f flows[f] = p end |
- (Object) flow_generators
Returns an array containing all flow generators. All Origen program generators must implement this method
82 83 84 85 86 87 88 |
# File 'lib/origen/tester/doc/generator.rb', line 82 def flow_generators g = [] flows.each do |_name, sheet| g << sheet end g end |
- (Object) flows
Returns a hash containing all flows
63 64 65 |
# File 'lib/origen/tester/doc/generator.rb', line 63 def flows @@flows ||= {} end |
- (Object) sheet_generators
Returns an array containing all sheet generators where a sheet generator is a flow, test instance, patset or pat group sheet. All Origen program generators must implement this method
70 71 72 73 74 75 76 77 78 |
# File 'lib/origen/tester/doc/generator.rb', line 70 def sheet_generators # :nodoc: g = [] [flows].each do |sheets| sheets.each do |_name, sheet| g << sheet end end g end |
- (Object) tests Also known as: test_instances
Returns a container for all generated tests.
57 58 59 |
# File 'lib/origen/tester/doc/generator.rb', line 57 def tests @@tests ||= Tests.new end |