class Regexp::Expression::Conditional::Expression
Attributes
Public Instance Methods
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 30 def <<(exp) expressions.last << exp end
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 34 def add_sequence(active_opts = {}) raise TooManyBranches.new if branches.length == 2 params = { conditional_level: conditional_level + 1 } Branch.add_to(self, params, active_opts) end
Also aliased as: branch
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 50 def branches select { |subexp| subexp.is_a?(Sequence) } end
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 46 def condition find { |subexp| subexp.is_a?(Condition) } end
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 41 def condition=(exp) expressions.delete(condition) expressions.unshift(exp) end
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 62 def initialize_copy(orig) self.referenced_expression = orig.referenced_expression.dup super end
Calls superclass method
Regexp::Expression::Subexpression#initialize_copy
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 58 def parts [text.dup, condition, *intersperse(branches, '|'), ')'] end
Source
# File lib/regexp_parser/expression/classes/conditional.rb, line 54 def reference condition.reference end