Sha256: 373965fe2bc90815fa4c3e901d5aa88cf9852db8bad4e79137f7dada7551c150

Contents?: true

Size: 824 Bytes

Versions: 55

Compression:

Stored size: 824 Bytes

Contents

# frozen_string_literal: true
class YARD::Handlers::C::ClassHandler < YARD::Handlers::C::Base
  MATCH1 = /([\w\.]+)\s* = \s*(?:rb_define_class|boot_defclass)\s*
            \(
               \s*"([\w:]+)",
               \s*(\w+|0)\s*
            \)/mx

  MATCH2 = /([\w\.]+)\s* = \s*rb_define_class_under\s*
            \(
               \s*(\w+),
               \s*"(\w+)"(?:,
               \s*([\w\*\s\(\)\.\->]+)\s*)?  # for SWIG
            \s*\)/mx
  handles MATCH1
  handles MATCH2
  statement_class BodyStatement

  process do
    statement.source.scan(MATCH1) do |var_name, class_name, parent|
      handle_class(var_name, class_name, parent)
    end
    statement.source.scan(MATCH2) do |var_name, in_module, class_name, parent|
      handle_class(var_name, class_name, parent.strip, in_module)
    end
  end
end

Version data entries

55 entries across 55 versions & 6 rubygems

Version Path
yard-0.9.33 lib/yard/handlers/c/class_handler.rb
yard-0.9.32 lib/yard/handlers/c/class_handler.rb
yard-0.9.31 lib/yard/handlers/c/class_handler.rb
yard-0.9.30 lib/yard/handlers/c/class_handler.rb
yard-0.9.29 lib/yard/handlers/c/class_handler.rb
devcycle-ruby-server-sdk-2.0.0 vendor/bundle/ruby/3.0.0/gems/yard-0.9.28/lib/yard/handlers/c/class_handler.rb
kinetic_sdk-5.0.20 gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
yard-0.9.28 lib/yard/handlers/c/class_handler.rb
yard-0.9.27 lib/yard/handlers/c/class_handler.rb
yard-0.9.26 lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.35 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.34 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.33 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.32 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.31 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.30 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.29 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.28 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.27 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb
qiita_org-0.1.26 gems/ruby/2.7.0/gems/yard-0.9.25/lib/yard/handlers/c/class_handler.rb