summaryrefslogtreecommitdiffhomepage
path: root/lib/yard/mruby/handlers/c/source/base.rb
diff options
context:
space:
mode:
authorSeba Gamboa <[email protected]>2015-09-25 18:01:14 -0300
committerSeba Gamboa <[email protected]>2015-09-25 18:01:14 -0300
commit3a60c88a3b3dbd334e4769a6283fb90c0495c25b (patch)
treede3d8ec187771d6e2d5f42da864c19ee6d69d890 /lib/yard/mruby/handlers/c/source/base.rb
parent82e906d74dcc943d737ced7a6ebfee1e71a74aaf (diff)
downloadyard-mruby-3a60c88a3b3dbd334e4769a6283fb90c0495c25b.tar.gz
yard-mruby-3a60c88a3b3dbd334e4769a6283fb90c0495c25b.zip
Sorting tons of stuff around
Diffstat (limited to 'lib/yard/mruby/handlers/c/source/base.rb')
-rw-r--r--lib/yard/mruby/handlers/c/source/base.rb54
1 files changed, 54 insertions, 0 deletions
diff --git a/lib/yard/mruby/handlers/c/source/base.rb b/lib/yard/mruby/handlers/c/source/base.rb
new file mode 100644
index 0000000..268ef9f
--- /dev/null
+++ b/lib/yard/mruby/handlers/c/source/base.rb
@@ -0,0 +1,54 @@
+module YARD::MRuby::Handlers
+ module C
+ module Source
+ class Base < YARD::Handlers::C::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
+
+ YARD::Handlers::Processor.register_handler_namespace :source, Source
+ end
+end