diff options
| author | Seba Gamboa <[email protected]> | 2015-09-23 15:37:14 -0300 |
|---|---|---|
| committer | Seba Gamboa <[email protected]> | 2015-09-23 15:37:14 -0300 |
| commit | 31e52a0a7d6ffc367132f260c18b41c99dbcb5c1 (patch) | |
| tree | 2b920221a6a1187d8625ff24ebde0b01288fe35f | |
| parent | 3474e63884bc7fb8dbacd2c94a5b30f6abf155c8 (diff) | |
| download | yard-mruby-31e52a0a7d6ffc367132f260c18b41c99dbcb5c1.tar.gz yard-mruby-31e52a0a7d6ffc367132f260c18b41c99dbcb5c1.zip | |
Handlinc class comments
| -rw-r--r-- | lib/yard/handlers/c/mruby_base.rb | 11 | ||||
| -rw-r--r-- | lib/yard/handlers/c/mruby_class_handler.rb | 4 | ||||
| -rw-r--r-- | spec/handlers/c/mruby_class_handler_spec.rb | 9 |
3 files changed, 22 insertions, 2 deletions
diff --git a/lib/yard/handlers/c/mruby_base.rb b/lib/yard/handlers/c/mruby_base.rb index 45f0dd6..ccf85b4 100644 --- a/lib/yard/handlers/c/mruby_base.rb +++ b/lib/yard/handlers/c/mruby_base.rb @@ -24,5 +24,16 @@ module YARD::Handlers::C 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 + end end diff --git a/lib/yard/handlers/c/mruby_class_handler.rb b/lib/yard/handlers/c/mruby_class_handler.rb index 9e3d1f5..72d516c 100644 --- a/lib/yard/handlers/c/mruby_class_handler.rb +++ b/lib/yard/handlers/c/mruby_class_handler.rb @@ -25,10 +25,10 @@ module YARD::Handlers::C process do statement.source.scan(TOP_LEVEL_CLASS) do |var_name, class_name, parent| - handle_class(var_name, class_name, parent) + handle_class(var_name, class_name, parent, statement) end statement.source.scan(NAMESPACED_CLASS) do |var_name, in_module, class_name, parent| - handle_class(var_name, class_name, parent, in_module) + handle_class(var_name, class_name, parent, statement, in_module) end end end diff --git a/spec/handlers/c/mruby_class_handler_spec.rb b/spec/handlers/c/mruby_class_handler_spec.rb index 521ad62..5c13ab2 100644 --- a/spec/handlers/c/mruby_class_handler_spec.rb +++ b/spec/handlers/c/mruby_class_handler_spec.rb @@ -29,4 +29,13 @@ describe YARD::Handlers::C::MRubyClassHandler do expect(Registry.at('Bar').superclass).to eq Registry.at('Foo') end + it "should associate declaration comments as class docstring" do + parse_init(<<-eof) + /* Docstring! */ + cFoo = mrb_define_class(mrb, "Foo", mrb->object_class); + eof + + expect(Registry.at('Foo').docstring).not_to be_blank + end + end |
