yard-mruby 0.2.2 → 0.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (89) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +9 -9
  3. data/.rspec +2 -2
  4. data/.travis.yml +4 -4
  5. data/CODE_OF_CONDUCT.md +13 -13
  6. data/Gemfile +4 -4
  7. data/LICENSE.txt +21 -21
  8. data/README.md +31 -31
  9. data/Rakefile +6 -6
  10. data/bin/console +14 -14
  11. data/bin/setup +7 -7
  12. data/exe/mrbdoc +5 -5
  13. data/lib/yard-mruby.rb +1 -1
  14. data/lib/yard/mruby.rb +9 -9
  15. data/lib/yard/mruby/cli.rb +1 -1
  16. data/lib/yard/mruby/cli/yardoc.rb +14 -14
  17. data/lib/yard/mruby/code_objects.rb +6 -6
  18. data/lib/yard/mruby/code_objects/define_object.rb +8 -8
  19. data/lib/yard/mruby/code_objects/function_object.rb +72 -72
  20. data/lib/yard/mruby/code_objects/header_base_object.rb +15 -15
  21. data/lib/yard/mruby/code_objects/header_object.rb +30 -30
  22. data/lib/yard/mruby/code_objects/headers_root.rb +14 -14
  23. data/lib/yard/mruby/code_objects/typedef_object.rb +8 -8
  24. data/lib/yard/mruby/handlers.rb +1 -1
  25. data/lib/yard/mruby/handlers/c.rb +4 -4
  26. data/lib/yard/mruby/handlers/c/header.rb +5 -5
  27. data/lib/yard/mruby/handlers/c/header/base.rb +30 -30
  28. data/lib/yard/mruby/handlers/c/header/define_handler.rb +23 -23
  29. data/lib/yard/mruby/handlers/c/header/function_handler.rb +33 -33
  30. data/lib/yard/mruby/handlers/c/header/header_decl_handler.rb +20 -20
  31. data/lib/yard/mruby/handlers/c/header/typedef_handler.rb +31 -31
  32. data/lib/yard/mruby/handlers/c/source.rb +7 -7
  33. data/lib/yard/mruby/handlers/c/source/base.rb +56 -56
  34. data/lib/yard/mruby/handlers/c/source/class_handler.rb +35 -35
  35. data/lib/yard/mruby/handlers/c/source/init_handler.rb +16 -16
  36. data/lib/yard/mruby/handlers/c/source/method_handler.rb +25 -25
  37. data/lib/yard/mruby/handlers/c/source/module_handler.rb +34 -34
  38. data/lib/yard/mruby/handlers/c/source/symbol_handler.rb +16 -16
  39. data/lib/yard/mruby/parser.rb +1 -1
  40. data/lib/yard/mruby/parser/c.rb +4 -4
  41. data/lib/yard/mruby/parser/c/directive_statement.rb +6 -6
  42. data/lib/yard/mruby/parser/c/header_parser.rb +49 -49
  43. data/lib/yard/mruby/parser/c/parser.rb +10 -10
  44. data/lib/yard/mruby/parser/c/source_parser.rb +9 -9
  45. data/lib/yard/mruby/tags.rb +2 -2
  46. data/lib/yard/mruby/templates.rb +9 -9
  47. data/lib/yard/mruby/templates/helpers.rb +1 -1
  48. data/lib/yard/mruby/templates/helpers/html_helper.rb +32 -32
  49. data/lib/yard/mruby/version.rb +5 -5
  50. data/sample/.gitignore +5 -5
  51. data/sample/.inch.yml +3 -3
  52. data/sample/.travis.yml +2 -2
  53. data/sample/.yardopts +4 -4
  54. data/sample/CODE_OF_CONDUCT.md +13 -13
  55. data/sample/Gemfile +5 -5
  56. data/sample/LICENSE.txt +21 -21
  57. data/sample/README.md +12 -12
  58. data/sample/build_config.rb +9 -9
  59. data/sample/include/sample.h +37 -37
  60. data/sample/mrbgem.rake +15 -15
  61. data/sample/mrblib/sample.rb +14 -14
  62. data/sample/src/sample.c +34 -34
  63. data/sample/test/sample_spec.rb +11 -11
  64. data/templates/default/fulldoc/html/full_list_functions.erb +10 -10
  65. data/templates/default/fulldoc/html/full_list_headers.erb +10 -10
  66. data/templates/default/fulldoc/html/setup.rb +62 -62
  67. data/templates/default/function_details/html/function_signature.erb +10 -10
  68. data/templates/default/function_details/html/header.erb +3 -3
  69. data/templates/default/function_details/html/source.erb +10 -10
  70. data/templates/default/function_details/setup.rb +12 -12
  71. data/templates/default/header/html/define_summary.erb +11 -11
  72. data/templates/default/header/html/function_details_list.erb +7 -7
  73. data/templates/default/header/html/function_summary.erb +12 -12
  74. data/templates/default/header/html/functions.erb +1 -1
  75. data/templates/default/header/html/header.erb +1 -1
  76. data/templates/default/header/html/includes.erb +1 -1
  77. data/templates/default/header/html/item_summary.erb +19 -19
  78. data/templates/default/header/html/pre_docstring.erb +1 -1
  79. data/templates/default/header/html/setup.rb +32 -32
  80. data/templates/default/header/html/typedef_summary.erb +11 -11
  81. data/templates/default/headersroot/html/headers_list.erb +6 -6
  82. data/templates/default/headersroot/html/setup.rb +10 -10
  83. data/templates/default/layout/html/footer.erb +5 -5
  84. data/templates/default/layout/html/setup.rb +52 -52
  85. data/templates/default/tags/html/iso.erb +3 -3
  86. data/templates/default/tags/html/mrbgem.erb +3 -3
  87. data/templates/default/tags/setup.rb +10 -10
  88. data/yard-mruby.gemspec +27 -27
  89. metadata +7 -7
@@ -1,34 +1,34 @@
1
- #include "sample.h"
2
-
3
- mrb_value sample_api_method(mrb_state *mrb)
4
- {
5
- return mrb_nil_value();
6
- }
7
-
8
- void sample_deprecated_method( void )
9
- {
10
- }
11
-
12
- /**
13
- * A sample Ruby method defined from C
14
- *
15
- * @return [String] Hello World!
16
- */
17
- mrb_value mrb_Sample_Hello__world(mrb_state *mrb, mrb_value self)
18
- {
19
- return sample_inline_method( mrb_str_new_cstr(mrb, "Hello World!" ) );
20
- }
21
-
22
- void
23
- mrb_sample_gem_init(mrb_state *mrb)
24
- {
25
- struct RClass *ns = mrb_define_module(mrb, "Sample");
26
- struct RClass *cl = mrb_define_class_under(mrb, ns, "Hello", mrb->object_class);
27
- mrb_define_method(mrb,cl, "world", mrb_Sample_Hello__world, MRB_ARGS_NONE() );
28
- }
29
-
30
- void
31
- mrb_sample_gem_final(mrb_state *mrb)
32
- {
33
- // Your C finalization code goes here
34
- }
1
+ #include "sample.h"
2
+
3
+ mrb_value sample_api_method(mrb_state *mrb)
4
+ {
5
+ return mrb_nil_value();
6
+ }
7
+
8
+ void sample_deprecated_method( void )
9
+ {
10
+ }
11
+
12
+ /**
13
+ * A sample Ruby method defined from C
14
+ *
15
+ * @return [String] Hello World!
16
+ */
17
+ mrb_value mrb_Sample_Hello__world(mrb_state *mrb, mrb_value self)
18
+ {
19
+ return sample_inline_method( mrb_str_new_cstr(mrb, "Hello World!" ) );
20
+ }
21
+
22
+ void
23
+ mrb_sample_gem_init(mrb_state *mrb)
24
+ {
25
+ struct RClass *ns = mrb_define_module(mrb, "Sample");
26
+ struct RClass *cl = mrb_define_class_under(mrb, ns, "Hello", mrb->object_class);
27
+ mrb_define_method(mrb,cl, "world", mrb_Sample_Hello__world, MRB_ARGS_NONE() );
28
+ }
29
+
30
+ void
31
+ mrb_sample_gem_final(mrb_state *mrb)
32
+ {
33
+ // Your C finalization code goes here
34
+ }
@@ -1,11 +1,11 @@
1
- describe Sample::Test do
2
- it "foos" do
3
- expect(subject.foo).to eq "bar"
4
- end
5
- end
6
-
7
- describe Sample::Hello do
8
- it "salutes" do
9
- expect(subject.world).to eq "Hello World!"
10
- end
11
- end
1
+ describe Sample::Test do
2
+ it "foos" do
3
+ expect(subject.foo).to eq "bar"
4
+ end
5
+ end
6
+
7
+ describe Sample::Hello do
8
+ it "salutes" do
9
+ expect(subject.world).to eq "Hello World!"
10
+ end
11
+ end
@@ -1,10 +1,10 @@
1
- <% even_odd = 'odd' %>
2
- <% @items.each do |item| %>
3
- <li class="<%= even_odd %> <%= item.has_tag?(:deprecated) ? 'deprecated' : '' %>">
4
- <div class="item">
5
- <%= linkify item, h(item.name(true)) %>
6
- <small><%= item.header.title %></small>
7
- </div>
8
- </li>
9
- <% even_odd = (even_odd == 'even' ? 'odd' : 'even') %>
10
- <% end %>
1
+ <% even_odd = 'odd' %>
2
+ <% @items.each do |item| %>
3
+ <li class="<%= even_odd %> <%= item.has_tag?(:deprecated) ? 'deprecated' : '' %>">
4
+ <div class="item">
5
+ <%= linkify item, h(item.name(true)) %>
6
+ <small><%= item.header.title %></small>
7
+ </div>
8
+ </li>
9
+ <% even_odd = (even_odd == 'even' ? 'odd' : 'even') %>
10
+ <% end %>
@@ -1,10 +1,10 @@
1
- <li id="object_" class="odd"><div class="item" style="padding-left:30px"><%= link_object(YARD::MRuby::CodeObjects::HEADERS_ROOT, "All Headers", nil, false) %></div></li>
2
- <% even_odd = 'odd' %>
3
- <% @items.each do |item| %>
4
- <li class="<%= even_odd %>">
5
- <div class="item">
6
- <%= linkify item, h(item.name(true)) %>
7
- </div>
8
- </li>
9
- <% even_odd = (even_odd == 'even' ? 'odd' : 'even') %>
10
- <% end %>
1
+ <li id="object_" class="odd"><div class="item" style="padding-left:30px"><%= link_object(YARD::MRuby::CodeObjects::HEADERS_ROOT, "All Headers", nil, false) %></div></li>
2
+ <% even_odd = 'odd' %>
3
+ <% @items.each do |item| %>
4
+ <li class="<%= even_odd %>">
5
+ <div class="item">
6
+ <%= linkify item, h(item.name(true)) %>
7
+ </div>
8
+ </li>
9
+ <% even_odd = (even_odd == 'even' ? 'odd' : 'even') %>
10
+ <% end %>
@@ -1,62 +1,62 @@
1
- def init
2
- super
3
-
4
- YARD::MRuby::CodeObjects::HEADERS_ROOT.tap do |root|
5
-
6
- # Generates the requirements splash page with the 'include' template
7
- serialize root
8
-
9
- root.headers.each do |header|
10
- serialize header
11
- end
12
- end
13
-
14
- end
15
-
16
- def generate_header_list
17
- headers = Registry.all(:header)
18
- headers_ordered_by_name = headers.sort {|x,y| x.name.to_s <=> y.name.to_s }
19
- generate_full_list headers_ordered_by_name, :headers
20
- end
21
-
22
- def generate_function_list
23
- functions = Registry.all(:function)
24
- functions_ordered_by_name = functions.sort {|x,y| x.name.to_s <=> y.name.to_s }
25
- generate_full_list functions_ordered_by_name, :functions
26
- end
27
-
28
- # Helpler method to generate a full_list page of the specified objects with the
29
- # specified type.
30
- def generate_full_list(objects,type,options = {})
31
- defaults = { :list_title => "#{type.to_s.capitalize} List",
32
- :css_class => "class",
33
- :list_filename => "#{type.to_s.gsub(/s$/,'')}_list.html" }
34
-
35
- options = defaults.merge(options)
36
-
37
- @items = objects
38
- @list_type = type
39
- @list_title = options[:list_title]
40
- @list_class = options[:css_class]
41
- asset options[:list_filename], erb(:full_list)
42
- end
43
-
44
- #
45
- # @note This method overrides YARD's default template class_list method.
46
- #
47
- # The existing YARD 'Class List' search field contains all the YARD namespace objects.
48
- # We, however, do not want the Include Namespace YARD Object (which holds the headers)
49
- # as it is a meta-object.
50
- #
51
- # This method removes the namespace from the root node, generates the class list,
52
- # and then adds it back into the root node.
53
- #
54
- def class_list(root = Registry.root)
55
- return super unless root == Registry.root
56
-
57
- include_namespace = YARD::MRuby::CodeObjects::HEADERS_ROOT
58
- root.instance_eval { children.delete include_namespace }
59
- out = super(root)
60
- root.instance_eval { children.push include_namespace }
61
- out
62
- end
1
+ def init
2
+ super
3
+
4
+ YARD::MRuby::CodeObjects::HEADERS_ROOT.tap do |root|
5
+
6
+ # Generates the requirements splash page with the 'include' template
7
+ serialize root
8
+
9
+ root.headers.each do |header|
10
+ serialize header
11
+ end
12
+ end
13
+
14
+ end
15
+
16
+ def generate_header_list
17
+ headers = Registry.all(:header)
18
+ headers_ordered_by_name = headers.sort {|x,y| x.name.to_s <=> y.name.to_s }
19
+ generate_full_list headers_ordered_by_name, :headers
20
+ end
21
+
22
+ def generate_function_list
23
+ functions = Registry.all(:function)
24
+ functions_ordered_by_name = functions.sort {|x,y| x.name.to_s <=> y.name.to_s }
25
+ generate_full_list functions_ordered_by_name, :functions
26
+ end
27
+
28
+ # Helpler method to generate a full_list page of the specified objects with the
29
+ # specified type.
30
+ def generate_full_list(objects,type,options = {})
31
+ defaults = { :list_title => "#{type.to_s.capitalize} List",
32
+ :css_class => "class",
33
+ :list_filename => "#{type.to_s.gsub(/s$/,'')}_list.html" }
34
+
35
+ options = defaults.merge(options)
36
+
37
+ @items = objects
38
+ @list_type = type
39
+ @list_title = options[:list_title]
40
+ @list_class = options[:css_class]
41
+ asset options[:list_filename], erb(:full_list)
42
+ end
43
+
44
+ #
45
+ # @note This method overrides YARD's default template class_list method.
46
+ #
47
+ # The existing YARD 'Class List' search field contains all the YARD namespace objects.
48
+ # We, however, do not want the Include Namespace YARD Object (which holds the headers)
49
+ # as it is a meta-object.
50
+ #
51
+ # This method removes the namespace from the root node, generates the class list,
52
+ # and then adds it back into the root node.
53
+ #
54
+ def class_list(root = Registry.root)
55
+ return super unless root == Registry.root
56
+
57
+ include_namespace = YARD::MRuby::CodeObjects::HEADERS_ROOT
58
+ root.instance_eval { children.delete include_namespace }
59
+ out = super(root)
60
+ root.instance_eval { children.push include_namespace }
61
+ out
62
+ end
@@ -1,10 +1,10 @@
1
- <h3 class="signature <%= 'first' if @index == 0 %>" id="<%= anchor_for(object) %>">
2
- <%= fsignature(object, false) %>
3
-
4
- <% if object.aliases.size > 0 %>
5
- <span class="aliases">Also known as:
6
- <span class="names"><%= object.aliases.map {|o|
7
- "<span id='#{anchor_for(o)}'>" + h(o.name.to_s) + "</span>" }.join(", ") %></span>
8
- </span>
9
- <% end %>
10
- </h3>
1
+ <h3 class="signature <%= 'first' if @index == 0 %>" id="<%= anchor_for(object) %>">
2
+ <%= fsignature(object, false) %>
3
+
4
+ <% if object.aliases.size > 0 %>
5
+ <span class="aliases">Also known as:
6
+ <span class="names"><%= object.aliases.map {|o|
7
+ "<span id='#{anchor_for(o)}'>" + h(o.name.to_s) + "</span>" }.join(", ") %></span>
8
+ </span>
9
+ <% end %>
10
+ </h3>
@@ -1,3 +1,3 @@
1
- <div class="method_details <%= @index == 0 ? 'first' : '' %>">
2
- <%= yieldall %>
3
- </div>
1
+ <div class="method_details <%= @index == 0 ? 'first' : '' %>">
2
+ <%= yieldall %>
3
+ </div>
@@ -1,10 +1,10 @@
1
- <table class="source_code">
2
- <tr>
3
- <td>
4
- <pre class="lines"><%= "\n\n\n" %><%= h format_lines(object) %></pre>
5
- </td>
6
- <td>
7
- <pre class="code"><span class="info file"># File '<%= h object.file %>'<% if object.line %>, line <%= object.line %><% end %></span><%= "\n\n" %><%= html_syntax_highlight object.source %></pre>
8
- </td>
9
- </tr>
10
- </table>
1
+ <table class="source_code">
2
+ <tr>
3
+ <td>
4
+ <pre class="lines"><%= "\n\n\n" %><%= h format_lines(object) %></pre>
5
+ </td>
6
+ <td>
7
+ <pre class="code"><span class="info file"># File '<%= h object.file %>'<% if object.line %>, line <%= object.line %><% end %></span><%= "\n\n" %><%= html_syntax_highlight object.source %></pre>
8
+ </td>
9
+ </tr>
10
+ </table>
@@ -1,12 +1,12 @@
1
- include YARD::MRuby::Templates::Helpers::HTMLHelper
2
-
3
- def init
4
- sections :header, [:function_signature, T('docstring'), :source]
5
- end
6
-
7
- def source
8
- return if owner != object.namespace
9
- return if Tags::OverloadTag === object
10
- return if object.source.nil?
11
- erb(:source)
12
- end
1
+ include YARD::MRuby::Templates::Helpers::HTMLHelper
2
+
3
+ def init
4
+ sections :header, [:function_signature, T('docstring'), :source]
5
+ end
6
+
7
+ def source
8
+ return if owner != object.namespace
9
+ return if Tags::OverloadTag === object
10
+ return if object.source.nil?
11
+ erb(:source)
12
+ end
@@ -1,11 +1,11 @@
1
- <% if define_listing.size > 0 %>
2
- <h2>Define Summary</h2>
3
- <dl class="constants">
4
- <% define_listing.each do |define| %>
5
- <dt id="<%= anchor_for(define) %>" class="<%= define.has_tag?(:deprecated) ? 'deprecated' : '' %>"><small>#define</small> <%= define.name %>
6
- <%= yieldall :object => define %>
7
- </dt>
8
- <dd><pre class="code"><%#= format_constant define.value %></pre></dd>
9
- <% end %>
10
- </dl>
11
- <% end %>
1
+ <% if define_listing.size > 0 %>
2
+ <h2>Define Summary</h2>
3
+ <dl class="constants">
4
+ <% define_listing.each do |define| %>
5
+ <dt id="<%= anchor_for(define) %>" class="<%= define.has_tag?(:deprecated) ? 'deprecated' : '' %>"><small>#define</small> <%= define.name %>
6
+ <%= yieldall :object => define %>
7
+ </dt>
8
+ <dd><pre class="code"><%#= format_constant define.value %></pre></dd>
9
+ <% end %>
10
+ </dl>
11
+ <% end %>
@@ -1,7 +1,7 @@
1
- <div id="functions_details" class="method_details_list">
2
- <h2>Function Details</h2>
3
-
4
- <% function_listing.each_with_index do |func, i| %>
5
- <%= yieldall :object => func, :owner => object, :index => i %>
6
- <% end %>
7
- </div>
1
+ <div id="functions_details" class="method_details_list">
2
+ <h2>Function Details</h2>
3
+
4
+ <% function_listing.each_with_index do |func, i| %>
5
+ <%= yieldall :object => func, :owner => object, :index => i %>
6
+ <% end %>
7
+ </div>
@@ -1,12 +1,12 @@
1
- <% if function_listing.size > 0 %>
2
- <h2>
3
- Function Summary
4
- <small><a href="#" class="summary_toggle">collapse</a></small>
5
- </h2>
6
-
7
- <ul class="summary">
8
- <% function_listing.each do |func| %>
9
- <%= yieldall :item => func %>
10
- <% end %>
11
- </ul>
12
- <% end %>
1
+ <% if function_listing.size > 0 %>
2
+ <h2>
3
+ Function Summary
4
+ <small><a href="#" class="summary_toggle">collapse</a></small>
5
+ </h2>
6
+
7
+ <ul class="summary">
8
+ <% function_listing.each do |func| %>
9
+ <%= yieldall :item => func %>
10
+ <% end %>
11
+ </ul>
12
+ <% end %>
@@ -1 +1 @@
1
- Header functions!
1
+ Header functions!
@@ -1 +1 @@
1
- <h1><%= format_object_title(object) %></h1>
1
+ <h1><%= format_object_title(object) %></h1>
@@ -1 +1 @@
1
- <!-- TODO: Included headers -->
1
+ <!-- TODO: Included headers -->
@@ -1,19 +1,19 @@
1
- <li class="<%= @item.visibility %> <%= @item.has_tag?(:deprecated) ? 'deprecated' : '' %>">
2
- <span class="summary_signature">
3
- <%= fsignature(@item, true, false) %>
4
-
5
- <% if @item.aliases.size > 0 %>
6
- (also: <%= @item.aliases.map {|o| h(o.name(true)) }.join(", ") %>)
7
- <% end %>
8
- </span>
9
- <% if @item.visibility != :public %><span class="note title <%= @item.visibility %>"><%= @item.visibility %></span><% end %>
10
- <% if @item.has_tag?(:abstract) %><span class="abstract note title">abstract</span><% end %>
11
- <% if @item.has_tag?(:deprecated) %><span class="deprecated note title">deprecated</span><% end %>
12
- <% if @item.has_tag?(:api) && @item.tag(:api).text == 'private' %><span class="private note title">private</span><% end %>
13
-
14
- <% if @item.has_tag?(:deprecated) %>
15
- <span class="summary_desc"><strong>Deprecated.</strong> <%= htmlify_line @item.tag(:deprecated).text %></span>
16
- <% else %>
17
- <span class="summary_desc"><%= htmlify_line docstring_summary(@item) %></span>
18
- <% end %>
19
- </li>
1
+ <li class="<%= @item.visibility %> <%= @item.has_tag?(:deprecated) ? 'deprecated' : '' %>">
2
+ <span class="summary_signature">
3
+ <%= fsignature(@item, true, false) %>
4
+
5
+ <% if @item.aliases.size > 0 %>
6
+ (also: <%= @item.aliases.map {|o| h(o.name(true)) }.join(", ") %>)
7
+ <% end %>
8
+ </span>
9
+ <% if @item.visibility != :public %><span class="note title <%= @item.visibility %>"><%= @item.visibility %></span><% end %>
10
+ <% if @item.has_tag?(:abstract) %><span class="abstract note title">abstract</span><% end %>
11
+ <% if @item.has_tag?(:deprecated) %><span class="deprecated note title">deprecated</span><% end %>
12
+ <% if @item.has_tag?(:api) && @item.tag(:api).text == 'private' %><span class="private note title">private</span><% end %>
13
+
14
+ <% if @item.has_tag?(:deprecated) %>
15
+ <span class="summary_desc"><strong>Deprecated.</strong> <%= htmlify_line @item.tag(:deprecated).text %></span>
16
+ <% else %>
17
+ <span class="summary_desc"><%= htmlify_line docstring_summary(@item) %></span>
18
+ <% end %>
19
+ </li>