Class: Scripref::Processor
- Inherits:
-
Object
- Object
- Scripref::Processor
- Includes:
- Enumerable
- Defined in:
- lib/scripref/processor.rb
Instance Attribute Summary collapse
-
#text ⇒ Object
Returns the value of attribute text.
Instance Method Summary collapse
-
#each ⇒ Object
Iterate over each piece of
str(text and parsed references) if block given, gets an iterator over the pieces otherwise. -
#each_ref ⇒ Object
Iterate over each parsed reference if block given, gets an iterator over each parsed reference otherwise.
-
#initialize(text = nil, *mods) ⇒ Processor
constructor
A new instance of Processor.
- #inspect ⇒ Object
Constructor Details
Instance Attribute Details
#text ⇒ Object
Returns the value of attribute text.
11 12 13 |
# File 'lib/scripref/processor.rb', line 11 def text @text end |
Instance Method Details
#each ⇒ Object
Iterate over each piece of str (text and parsed references) if block given, gets an iterator over the pieces otherwise.
40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/scripref/processor.rb', line 40 def each if block_given? scanner = StringScanner.new(text) while scanner.scan(/(.*?)(#{Regexp.new(reference_re.to_s)})/) yield scanner[1] yield @parser.parse(scanner[2]) end yield scanner.rest if scanner.rest self else enum_for :each end end |
#each_ref ⇒ Object
Iterate over each parsed reference if block given, gets an iterator over each parsed reference otherwise.
26 27 28 29 30 31 32 33 34 35 36 |
# File 'lib/scripref/processor.rb', line 26 def each_ref if block_given? scanner = StringScanner.new(text) while scanner.scan_until(reference_re) yield @parser.parse(scanner.matched) end self else enum_for :each_ref end end |
#inspect ⇒ Object
54 55 56 |
# File 'lib/scripref/processor.rb', line 54 def inspect "#<#{self.class} #{@mods.inspect}>" end |