class Interscript::DSL::Group
Attributes
node[RW]
Public Class Methods
new(&block)
click to toggle source
# File lib/interscript/dsl/group.rb, line 6 def initialize(&block) @node = Interscript::Node::Group.new self.instance_exec(&block) end
Public Instance Methods
downcase()
click to toggle source
# File lib/interscript/dsl/group.rb, line 28 def downcase; :downcase; end
parallel(**kwargs, &block)
click to toggle source
# File lib/interscript/dsl/group.rb, line 39 def parallel(**kwargs, &block) puts "parallel(#{chars.inspect}) from #{self.inspect}" if $DEBUG group = Interscript::DSL::Group::Parallel.new(**kwargs, &block) @node.children << group.node end
run(stage, **kwargs)
click to toggle source
# File lib/interscript/dsl/group.rb, line 11 def run(stage, **kwargs) if stage.class != Interscript::Node::Item::Stage raise TypeError, "I::Node::Item::Stage expected, got #{stage.class}" end @node.children << Interscript::Node::Rule::Run.new(stage, **kwargs) end
sub(from, to, **kwargs, &block)
click to toggle source
# File lib/interscript/dsl/group.rb, line 18 def sub(from, to, **kwargs, &block) puts "sub(#{from.inspect},#{to}, kwargs = #{ kwargs.inspect }) from #{self.inspect}" if $DEBUG rule = Interscript::Node::Rule::Sub.new(from, to, **kwargs) @node.children << rule end
upcase()
click to toggle source
# File lib/interscript/dsl/group.rb, line 27 def upcase; :upcase; end