class Regexp::Expression::Conditional::Expression

Attributes

referenced_expression[RW]

Public Instance Methods

<<(exp) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 30
def <<(exp)
  expressions.last << exp
end
add_sequence(active_opts = {}, params = { ts: 0 }) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 34
def add_sequence(active_opts = {}, params = { ts: 0 })
  raise TooManyBranches.new if branches.length == 2
  params = params.merge({ conditional_level: conditional_level + 1 })
  Branch.add_to(self, params, active_opts)
end
Also aliased as: branch
branch(active_opts = {}, params = { ts: 0 })
Alias for: add_sequence
branches() click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 50
def branches
  select { |subexp| subexp.is_a?(Sequence) }
end
condition() click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 46
def condition
  find { |subexp| subexp.is_a?(Condition) }
end
condition=(exp) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 41
def condition=(exp)
  expressions.delete(condition)
  expressions.unshift(exp)
end
initialize_copy(orig) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 58
def initialize_copy(orig)
  self.referenced_expression = orig.referenced_expression.dup
  super
end
reference() click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 54
def reference
  condition.reference
end