Sha256: 5fb03a3584d54b932857e90b5d394ad6c92409076060a0f542d3cfe65cf60b90

Contents?: true

Size: 574 Bytes

Versions: 7

Compression:

Stored size: 574 Bytes

Contents

class YARD::Handlers::C::MixinHandler < YARD::Handlers::C::Base
  MATCH = /rb_include_module\s*\(\s*(\w+?),\s*(\w+?)\s*\)/
  handles MATCH
  statement_class BodyStatement

  process do
    statement.source.scan(MATCH) do |klass_var, mixin_var|
      namespace = namespace_for_variable(klass_var)
      ensure_loaded!(namespace)

      if var = namespace_for_variable(mixin_var)
        namespace.mixins(:instance) << var
      else
        raise YARD::Parser::UndocumentableError,
          "CRuby mixin for unrecognized variable '#{mixin_var}'"
      end
    end
  end
end

Version data entries

7 entries across 6 versions & 2 rubygems

Version Path
abaci-0.3.0 vendor/bundle/gems/yard-0.9.2/lib/yard/handlers/c/mixin_handler.rb
abaci-0.3.0 vendor/bundle/gems/yard-0.9.1/lib/yard/handlers/c/mixin_handler.rb
yard-0.9.5 lib/yard/handlers/c/mixin_handler.rb
yard-0.9.4 lib/yard/handlers/c/mixin_handler.rb
yard-0.9.3 lib/yard/handlers/c/mixin_handler.rb
yard-0.9.2 lib/yard/handlers/c/mixin_handler.rb
yard-0.9.1 lib/yard/handlers/c/mixin_handler.rb