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 25
def <<(exp)
  expressions.last << exp
end
add_sequence(active_opts = {}) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 29
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
branch(active_opts = {})
Alias for: add_sequence
branches() click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 45
def branches
  select { |subexp| subexp.is_a?(Sequence) }
end
condition() click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 41
def condition
  find { |subexp| subexp.is_a?(Condition) }
end
condition=(exp) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 36
def condition=(exp)
  expressions.delete(condition)
  expressions.unshift(exp)
end
reference() click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 49
def reference
  condition.reference
end
to_s(format = :full) click to toggle source
# File lib/regexp_parser/expression/classes/conditional.rb, line 53
def to_s(format = :full)
  "#{text}#{condition}#{branches.join('|')})#{quantifier_affix(format)}"
end