summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--lib/yard/mruby/code_objects/define_object.rb3
-rw-r--r--lib/yard/mruby/code_objects/header_object.rb4
-rw-r--r--templates/default/header/html/define_summary.erb11
-rw-r--r--templates/default/header/html/setup.rb8
4 files changed, 26 insertions, 0 deletions
diff --git a/lib/yard/mruby/code_objects/define_object.rb b/lib/yard/mruby/code_objects/define_object.rb
index 4220acd..b486c56 100644
--- a/lib/yard/mruby/code_objects/define_object.rb
+++ b/lib/yard/mruby/code_objects/define_object.rb
@@ -2,6 +2,9 @@ module YARD::MRuby::CodeObjects
# A DefineObject represents a MRuby C API define macro declaration inside a header inside an include directory
class DefineObject < HeaderBaseObject
+ def value
+ ""
+ end
end
end
diff --git a/lib/yard/mruby/code_objects/header_object.rb b/lib/yard/mruby/code_objects/header_object.rb
index 2e70230..ddfa5d9 100644
--- a/lib/yard/mruby/code_objects/header_object.rb
+++ b/lib/yard/mruby/code_objects/header_object.rb
@@ -7,6 +7,10 @@ module YARD::MRuby::CodeObjects
children.find_all {|d| d.is_a?(FunctionObject) }
end
+ def defines
+ children.find_all {|d| d.is_a?(DefineObject) }
+ end
+
def path
self.name
end
diff --git a/templates/default/header/html/define_summary.erb b/templates/default/header/html/define_summary.erb
new file mode 100644
index 0000000..d4f28e8
--- /dev/null
+++ b/templates/default/header/html/define_summary.erb
@@ -0,0 +1,11 @@
+<% if define_listing.size > 0 %>
+ <h2>Define Summary</h2>
+ <dl class="constants">
+ <% define_listing.each do |define| %>
+ <dt id="<%= anchor_for(define) %>" class="<%= define.has_tag?(:deprecated) ? 'deprecated' : '' %>"><small>#define</small> <%= define.name %>
+ <%= yieldall :object => define %>
+ </dt>
+ <dd><pre class="code"><%#= format_constant define.value %></pre></dd>
+ <% end %>
+ </dl>
+<% end %>
diff --git a/templates/default/header/html/setup.rb b/templates/default/header/html/setup.rb
index 52eb81c..7ce1143 100644
--- a/templates/default/header/html/setup.rb
+++ b/templates/default/header/html/setup.rb
@@ -4,6 +4,7 @@ include YARD::MRuby::Templates::Helpers::HTMLHelper
def init
sections :header, :pre_docstring, T('docstring'), :includes,
:function_summary, [:item_summary],
+ :define_summary, [T('docstring')],
:function_details_list, [T('function_details')]
end
@@ -15,3 +16,10 @@ def function_listing
@funcs
end
+def define_listing
+ return @defines if @defines
+
+ @defines = object.defines
+ puts @defines.inspect
+ @defines
+end