class RegexpExamples::GroupResult

All Group#result methods return an array of GroupResult objects The key objective here is to keep track of all capture groups, in order to fill in backreferences

Attributes

group_id[R]
subgroups[R]

Public Class Methods

new(result, group_id = nil, subgroups = []) click to toggle source
Calls superclass method
# File lib/regexp-examples/groups.rb, line 7
def initialize(result, group_id = nil, subgroups = [])
  @group_id = group_id
  @subgroups = result.respond_to?(:group_id) ? result.all_subgroups : subgroups
  super(result)
end

Public Instance Methods

all_subgroups() click to toggle source
# File lib/regexp-examples/groups.rb, line 13
def all_subgroups
  [self, subgroups].flatten.keep_if(&:group_id)
end
swapcase() click to toggle source
Calls superclass method
# File lib/regexp-examples/groups.rb, line 17
def swapcase
  # Override to preserve subgroups
  GroupResult.new(super.to_s, group_id, subgroups)
end