Sha256: 3648fb7018e1c0323ecef1fdfbf404198a269efd3ffca19200a1fe71e829054d

Contents?: true

Size: 606 Bytes

Versions: 2

Compression:

Stored size: 606 Bytes

Contents

# frozen_string_literal: true
class YARD::Handlers::C::ModuleHandler < YARD::Handlers::C::Base
  MATCH1 = /([\w\.]+)\s* = \s*rb_define_module\s*\(\s*"([\w:]+)"\s*\)/mx
  MATCH2 = /([\w\.]+)\s* = \s*rb_define_module_under\s*\(\s*(\w+),\s*"(\w+)"\s*\)/mx
  handles MATCH1
  handles MATCH2
  statement_class BodyStatement

  process do
    statement.source.scan(MATCH1) do |var_name, module_name|
      handle_module(var_name, module_name)
    end
    statement.source.scan(MATCH2) do |var_name, in_module, module_name|
      handle_module(var_name, module_name, in_module)
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
yard-0.9.18 lib/yard/handlers/c/module_handler.rb
yard-0.9.17 lib/yard/handlers/c/module_handler.rb