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