yard-mruby 0.2.2 → 0.2.3

Sign up to get free protection for your applications and to get access to all the features.
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>