class Mutest::AST::Regexp::Transformer::OptionsGroup::ASTToExpression

Mapper from `Parser::AST::Node` to `Regexp::Expression`

Private Instance Methods

options_group() click to toggle source

Options group instance constructed from options text

@return [Regexp::Expression::Group::Options]

# File lib/mutest/ast/regexp/transformer/options_group.rb, line 46
def options_group
  ::Regexp::Expression::Group::Options.new(
    ::Regexp::Token.new(:group, :options, text)
  )
end
subexpressions() click to toggle source

Recursive mapping of children

@return [Array<Regexp::Expression>]

# File lib/mutest/ast/regexp/transformer/options_group.rb, line 39
def subexpressions
  remaining_children.map(&Regexp.public_method(:to_expression))
end
text() click to toggle source

Flag text constructed from enabled options

@return [String]

# File lib/mutest/ast/regexp/transformer/options_group.rb, line 55
def text
  flags = options.map { |key, value| key if value }.join

  "(?#{flags}-:"
end
transform() click to toggle source

Covnert node into expression

@return [Regexp::Expression::Group::Options]

# File lib/mutest/ast/regexp/transformer/options_group.rb, line 30
def transform
  options_group.tap do |expression|
    expression.expressions = subexpressions
  end
end