Sha256: 769610f62d256f5dd569334f4f5c00afd589c2e65def98a702bf553849a834d1

Contents?: true

Size: 1.2 KB

Versions: 1

Compression:

Stored size: 1.2 KB

Contents

module YARD::Handlers::C
  class MRubyBase < Base

    DEFAULT_NAMESPACES = {
      # 'mrb->top_self'      => '',
      'object_class'  => 'Object',
      'class_class'   => 'Class',
      'module_class'  => 'Module',
      'proc_class'    => 'Proc',
      'string_class'  => 'String',
      'array_class'   => 'Array',
      'hash_class'    => 'Hash',
      'float_class'   => 'Float',
      'fixnum_class'  => 'Fixnum',
      'true_class'    => 'TrueClass',
      'false_class'   => 'FalseClass',
      'nil_class'     => 'NilClass',
      'symbol_class'  => 'Symbol',
      'kernel_module' => 'Kernel'
    }

    def namespace_for_variable(var)
      DEFAULT_NAMESPACES[ var[/^\w+->(\w+)$/, 1] ] || super
    end

    def handle_class(var_name, class_name, parent, stmt, in_module = nil)
      object = super(var_name, class_name, parent, in_module)

      if stmt.comments
        register_docstring(object, stmt.comments.source, stmt)
      end

      object
    end

    def handle_module(var_name, module_name, stmt, in_module = nil)
      object = super(var_name, module_name, in_module)

      if stmt.comments
        register_docstring(object, stmt.comments.source, stmt)
      end

      object
    end

  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
yard-mruby-0.1.0 lib/yard/handlers/c/mruby_base.rb