class RuboCop::Cop::Style::MagicCommentFormat::CommentRange

Value object to extract source ranges for the different parts of a magic comment

def directives

multiple directives (emacs style)
A magic comment can contain one directive (normal style) or
def directives
  @directives ||= begin
    matches = []
    text.scan(DIRECTIVE_REGEXP) do
      offset = Regexp.last_match.offset(0)
      matches << loc.expression.adjust(begin_pos: offset.first)
                    .with(end_pos: loc.expression.begin_pos + offset.last)
    end
    matches
  end
end

def initialize(comment)

def initialize(comment)
  @comment = comment
end

def values

multiple directives (emacs style)
A magic comment can contain one value (normal style) or
def values
  @values ||= begin
    matches = []
    text.scan(VALUE_REGEXP) do
      offset = Regexp.last_match.offset(1)
      matches << loc.expression.adjust(begin_pos: offset.first)
                    .with(end_pos: loc.expression.begin_pos + offset.last)
    end
    matches
  end
end