From 2eedb9b4b407778609b261a7e42773f5885da01e Mon Sep 17 00:00:00 2001 From: Seba Gamboa Date: Wed, 23 Sep 2015 16:15:45 -0300 Subject: Handle module comments --- lib/yard/handlers/c.rb | 2 +- lib/yard/handlers/c/mruby_base.rb | 10 ++++++++++ lib/yard/handlers/c/mruby_module_handler.rb | 12 ++++++------ 3 files changed, 17 insertions(+), 7 deletions(-) (limited to 'lib') diff --git a/lib/yard/handlers/c.rb b/lib/yard/handlers/c.rb index a291fa2..8666b51 100644 --- a/lib/yard/handlers/c.rb +++ b/lib/yard/handlers/c.rb @@ -1,6 +1,6 @@ require_relative 'c/mruby_base' require_relative 'c/mruby_symbol_handler' require_relative 'c/mruby_class_handler' -# require_relative 'c/mruby_module_handler' +require_relative 'c/mruby_module_handler' require_relative 'c/mruby_method_handler' diff --git a/lib/yard/handlers/c/mruby_base.rb b/lib/yard/handlers/c/mruby_base.rb index 4c321dd..3b45f9a 100644 --- a/lib/yard/handlers/c/mruby_base.rb +++ b/lib/yard/handlers/c/mruby_base.rb @@ -33,5 +33,15 @@ module YARD::Handlers::C 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 diff --git a/lib/yard/handlers/c/mruby_module_handler.rb b/lib/yard/handlers/c/mruby_module_handler.rb index c9243ac..3b86274 100644 --- a/lib/yard/handlers/c/mruby_module_handler.rb +++ b/lib/yard/handlers/c/mruby_module_handler.rb @@ -1,14 +1,14 @@ -module YARD::MRuby::Handlers::Source - class ModuleHandler < Base +module YARD::Handlers::C + class MRubyModuleHandler < MRubyBase - TOP_LEVEL_MODULE = /\*([\w]+)\s*=\s*mrb_define_module\s* + TOP_LEVEL_MODULE = /([\w]+)\s*=\s*mrb_define_module\s* \( \s*\w+\s*, \s*"(\w+)"\s* \) /mx - NAMESPACED_MODULE = /\*([\w]+)\s*=\s*mrb_define_module_under\s* + NAMESPACED_MODULE = /([\w]+)\s*=\s*mrb_define_module_under\s* \( \s*\w+\s*, \s*(\w+)\s*, @@ -23,10 +23,10 @@ module YARD::MRuby::Handlers::Source process do statement.source.scan(TOP_LEVEL_MODULE) do |var_name, module_name| - handle_module(var_name, module_name) + handle_module(var_name, module_name, statement) end statement.source.scan(NAMESPACED_MODULE) do |var_name, in_module, module_name| - handle_module(var_name, module_name, in_module) + handle_module(var_name, module_name, statement, in_module) end end end -- cgit v1.2.3