yard 0.5.8 → 0.6.0

Sign up to get free protection for your applications and to get access to all the features.

Potentially problematic release.


This version of yard might be problematic. Click here for more details.

Files changed (211) hide show
  1. data/.yardopts +2 -0
  2. data/ChangeLog +1064 -0
  3. data/README.md +103 -42
  4. data/Rakefile +3 -2
  5. data/benchmarks/parsing.rb +2 -1
  6. data/bin/yard +4 -0
  7. data/bin/yard-graph +1 -1
  8. data/bin/yard-server +4 -0
  9. data/docs/GettingStarted.md +8 -8
  10. data/docs/Handlers.md +5 -5
  11. data/docs/Overview.md +5 -5
  12. data/docs/Parser.md +1 -1
  13. data/docs/Tags.md +1 -1
  14. data/docs/Templates.md +27 -6
  15. data/docs/WhatsNew.md +222 -2
  16. data/lib/rubygems_plugin.rb +1 -0
  17. data/lib/yard.rb +7 -1
  18. data/lib/yard/autoload.rb +46 -6
  19. data/lib/yard/cli/{base.rb → command.rb} +20 -6
  20. data/lib/yard/cli/command_parser.rb +87 -0
  21. data/lib/yard/cli/diff.rb +176 -0
  22. data/lib/yard/cli/gems.rb +74 -0
  23. data/lib/yard/cli/{yard_graph.rb → graph.rb} +9 -8
  24. data/lib/yard/cli/help.rb +18 -0
  25. data/lib/yard/cli/server.rb +137 -0
  26. data/lib/yard/cli/stats.rb +210 -0
  27. data/lib/yard/cli/yardoc.rb +315 -116
  28. data/lib/yard/cli/yri.rb +45 -4
  29. data/lib/yard/code_objects/base.rb +73 -30
  30. data/lib/yard/code_objects/class_object.rb +9 -1
  31. data/lib/yard/code_objects/method_object.rb +11 -0
  32. data/lib/yard/code_objects/namespace_object.rb +8 -2
  33. data/lib/yard/code_objects/proxy.rb +2 -2
  34. data/lib/yard/core_ext/array.rb +3 -49
  35. data/lib/yard/core_ext/file.rb +7 -0
  36. data/lib/yard/core_ext/insertion.rb +60 -0
  37. data/lib/yard/docstring.rb +34 -7
  38. data/lib/yard/globals.rb +2 -2
  39. data/lib/yard/handlers/base.rb +101 -20
  40. data/lib/yard/handlers/processor.rb +23 -7
  41. data/lib/yard/handlers/ruby/alias_handler.rb +1 -0
  42. data/lib/yard/handlers/ruby/attribute_handler.rb +8 -0
  43. data/lib/yard/handlers/ruby/base.rb +71 -2
  44. data/lib/yard/handlers/ruby/class_condition_handler.rb +10 -0
  45. data/lib/yard/handlers/ruby/class_handler.rb +7 -4
  46. data/lib/yard/handlers/ruby/class_variable_handler.rb +1 -0
  47. data/lib/yard/handlers/ruby/constant_handler.rb +1 -0
  48. data/lib/yard/handlers/ruby/exception_handler.rb +1 -0
  49. data/lib/yard/handlers/ruby/extend_handler.rb +2 -3
  50. data/lib/yard/handlers/ruby/legacy/alias_handler.rb +1 -0
  51. data/lib/yard/handlers/ruby/legacy/attribute_handler.rb +2 -0
  52. data/lib/yard/handlers/ruby/legacy/base.rb +15 -2
  53. data/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +5 -0
  54. data/lib/yard/handlers/ruby/legacy/class_handler.rb +7 -4
  55. data/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +1 -0
  56. data/lib/yard/handlers/ruby/legacy/constant_handler.rb +1 -0
  57. data/lib/yard/handlers/ruby/legacy/exception_handler.rb +1 -0
  58. data/lib/yard/handlers/ruby/legacy/extend_handler.rb +1 -3
  59. data/lib/yard/handlers/ruby/legacy/method_handler.rb +7 -3
  60. data/lib/yard/handlers/ruby/legacy/mixin_handler.rb +2 -1
  61. data/lib/yard/handlers/ruby/legacy/module_handler.rb +1 -0
  62. data/lib/yard/handlers/ruby/legacy/process_handler.rb +1 -0
  63. data/lib/yard/handlers/ruby/legacy/visibility_handler.rb +1 -0
  64. data/lib/yard/handlers/ruby/legacy/yield_handler.rb +1 -0
  65. data/lib/yard/handlers/ruby/method_condition_handler.rb +1 -0
  66. data/lib/yard/handlers/ruby/method_handler.rb +5 -1
  67. data/lib/yard/handlers/ruby/mixin_handler.rb +2 -1
  68. data/lib/yard/handlers/ruby/module_handler.rb +1 -0
  69. data/lib/yard/handlers/ruby/process_handler.rb +7 -1
  70. data/lib/yard/handlers/ruby/struct_handler_methods.rb +3 -0
  71. data/lib/yard/handlers/ruby/visibility_handler.rb +8 -2
  72. data/lib/yard/handlers/ruby/yield_handler.rb +1 -0
  73. data/lib/yard/logging.rb +7 -1
  74. data/lib/yard/parser/base.rb +1 -0
  75. data/lib/yard/parser/c_parser.rb +2 -0
  76. data/lib/yard/parser/ruby/ast_node.rb +82 -63
  77. data/lib/yard/parser/ruby/legacy/ruby_lex.rb +36 -10
  78. data/lib/yard/parser/ruby/legacy/ruby_parser.rb +1 -0
  79. data/lib/yard/parser/ruby/legacy/statement.rb +9 -5
  80. data/lib/yard/parser/ruby/legacy/statement_list.rb +20 -11
  81. data/lib/yard/parser/ruby/ruby_parser.rb +18 -1
  82. data/lib/yard/parser/source_parser.rb +6 -1
  83. data/lib/yard/registry.rb +284 -278
  84. data/lib/yard/registry_store.rb +4 -2
  85. data/lib/yard/serializers/base.rb +30 -13
  86. data/lib/yard/serializers/file_system_serializer.rb +10 -1
  87. data/lib/yard/server/adapter.rb +51 -0
  88. data/lib/yard/server/commands/base.rb +98 -0
  89. data/lib/yard/server/commands/display_file_command.rb +20 -0
  90. data/lib/yard/server/commands/display_object_command.rb +50 -0
  91. data/lib/yard/server/commands/frames_command.rb +31 -0
  92. data/lib/yard/server/commands/library_command.rb +83 -0
  93. data/lib/yard/server/commands/library_index_command.rb +23 -0
  94. data/lib/yard/server/commands/list_command.rb +44 -0
  95. data/lib/yard/server/commands/search_command.rb +67 -0
  96. data/lib/yard/server/commands/static_file_command.rb +45 -0
  97. data/lib/yard/server/doc_server_helper.rb +22 -0
  98. data/lib/yard/server/doc_server_serializer.rb +29 -0
  99. data/lib/yard/server/library_version.rb +86 -0
  100. data/lib/yard/server/rack_adapter.rb +38 -0
  101. data/lib/yard/server/router.rb +110 -0
  102. data/lib/yard/server/static_caching.rb +16 -0
  103. data/lib/yard/server/templates/default/fulldoc/html/css/custom.css +78 -0
  104. data/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  105. data/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
  106. data/lib/yard/server/templates/default/fulldoc/html/js/live.js +32 -0
  107. data/lib/yard/server/templates/default/layout/html/breadcrumb.erb +46 -0
  108. data/lib/yard/server/templates/default/layout/html/headers.erb +11 -0
  109. data/lib/yard/server/templates/doc_server/frames/html/frames.erb +13 -0
  110. data/lib/yard/server/templates/doc_server/frames/html/setup.rb +3 -0
  111. data/lib/yard/server/templates/doc_server/full_list/html/full_list.erb +34 -0
  112. data/lib/yard/server/templates/doc_server/full_list/html/setup.rb +10 -0
  113. data/lib/yard/server/templates/doc_server/library_list/html/contents.erb +13 -0
  114. data/lib/yard/server/templates/doc_server/library_list/html/headers.erb +26 -0
  115. data/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +12 -0
  116. data/lib/yard/server/templates/doc_server/library_list/html/setup.rb +3 -0
  117. data/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
  118. data/lib/yard/server/templates/doc_server/processing/html/processing.erb +51 -0
  119. data/lib/yard/server/templates/doc_server/processing/html/setup.rb +3 -0
  120. data/lib/yard/server/templates/doc_server/search/html/search.erb +19 -0
  121. data/lib/yard/server/templates/doc_server/search/html/setup.rb +8 -0
  122. data/lib/yard/server/webrick_adapter.rb +38 -0
  123. data/lib/yard/tags/default_factory.rb +0 -5
  124. data/lib/yard/tags/library.rb +61 -22
  125. data/lib/yard/tags/tag.rb +26 -4
  126. data/lib/yard/templates/engine.rb +12 -1
  127. data/lib/yard/templates/erb_cache.rb +2 -1
  128. data/lib/yard/templates/helpers/base_helper.rb +96 -3
  129. data/lib/yard/templates/helpers/filter_helper.rb +5 -0
  130. data/lib/yard/templates/helpers/html_helper.rb +204 -94
  131. data/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +4 -0
  132. data/lib/yard/templates/helpers/markup_helper.rb +58 -3
  133. data/lib/yard/templates/helpers/method_helper.rb +7 -0
  134. data/lib/yard/templates/helpers/module_helper.rb +5 -0
  135. data/lib/yard/templates/helpers/text_helper.rb +10 -1
  136. data/lib/yard/templates/helpers/uml_helper.rb +13 -0
  137. data/lib/yard/templates/section.rb +106 -0
  138. data/lib/yard/templates/template.rb +20 -19
  139. data/lib/yard/verifier.rb +21 -2
  140. data/spec/cli/command_parser_spec.rb +43 -0
  141. data/spec/cli/diff_spec.rb +170 -0
  142. data/spec/cli/help_spec.rb +22 -0
  143. data/spec/cli/server_spec.rb +140 -0
  144. data/spec/cli/stats_spec.rb +75 -0
  145. data/spec/cli/yardoc_spec.rb +438 -182
  146. data/spec/cli/yri_spec.rb +13 -1
  147. data/spec/code_objects/base_spec.rb +51 -6
  148. data/spec/code_objects/class_object_spec.rb +15 -1
  149. data/spec/code_objects/method_object_spec.rb +29 -0
  150. data/spec/code_objects/namespace_object_spec.rb +150 -129
  151. data/spec/core_ext/array_spec.rb +4 -23
  152. data/spec/core_ext/insertion_spec.rb +37 -0
  153. data/spec/docstring_spec.rb +63 -0
  154. data/spec/handlers/attribute_handler_spec.rb +4 -0
  155. data/spec/handlers/base_spec.rb +98 -26
  156. data/spec/handlers/class_handler_spec.rb +5 -1
  157. data/spec/handlers/examples/attribute_handler_001.rb.txt +5 -0
  158. data/spec/handlers/examples/class_handler_001.rb.txt +4 -0
  159. data/spec/handlers/examples/module_handler_001.rb.txt +6 -1
  160. data/spec/handlers/examples/visibility_handler_001.rb.txt +4 -0
  161. data/spec/handlers/method_handler_spec.rb +5 -0
  162. data/spec/handlers/module_handler_spec.rb +4 -0
  163. data/spec/handlers/visibility_handler_spec.rb +6 -0
  164. data/spec/parser/source_parser_spec.rb +24 -0
  165. data/spec/registry_spec.rb +44 -8
  166. data/spec/server/adapter_spec.rb +38 -0
  167. data/spec/server/commands/base_spec.rb +87 -0
  168. data/spec/server/commands/static_file_command_spec.rb +67 -0
  169. data/spec/server/doc_server_serializer_spec.rb +58 -0
  170. data/spec/server/router_spec.rb +115 -0
  171. data/spec/server/spec_helper.rb +17 -0
  172. data/spec/server/static_caching_spec.rb +39 -0
  173. data/spec/server/webrick_servlet_spec.rb +20 -0
  174. data/spec/templates/constant_spec.rb +40 -0
  175. data/spec/templates/engine_spec.rb +9 -5
  176. data/spec/templates/examples/class002.html +1 -3
  177. data/spec/templates/examples/constant001.txt +25 -0
  178. data/spec/templates/examples/constant002.txt +7 -0
  179. data/spec/templates/examples/constant003.txt +11 -0
  180. data/spec/templates/examples/module001.txt +1 -1
  181. data/spec/templates/examples/module002.html +319 -0
  182. data/spec/templates/helpers/base_helper_spec.rb +2 -2
  183. data/spec/templates/helpers/html_helper_spec.rb +93 -3
  184. data/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +5 -0
  185. data/spec/templates/helpers/markup_helper_spec.rb +94 -67
  186. data/spec/templates/helpers/shared_signature_examples.rb +9 -0
  187. data/spec/templates/helpers/text_helper_spec.rb +12 -0
  188. data/spec/templates/module_spec.rb +21 -4
  189. data/spec/templates/section_spec.rb +146 -0
  190. data/spec/templates/template_spec.rb +9 -20
  191. data/templates/default/class/setup.rb +5 -5
  192. data/templates/default/constant/text/header.erb +11 -0
  193. data/templates/default/constant/text/setup.rb +3 -0
  194. data/templates/default/fulldoc/html/css/style.css +29 -3
  195. data/templates/default/fulldoc/html/js/app.js +67 -1
  196. data/templates/default/fulldoc/html/js/full_list.js +3 -8
  197. data/templates/default/fulldoc/html/js/jquery.js +150 -15
  198. data/templates/default/fulldoc/html/setup.rb +9 -0
  199. data/templates/default/layout/html/footer.erb +1 -1
  200. data/templates/default/layout/html/setup.rb +7 -25
  201. data/templates/default/method_details/html/source.erb +1 -1
  202. data/templates/default/module/html/attribute_summary.erb +2 -2
  203. data/templates/default/module/html/method_summary.erb +2 -2
  204. data/templates/default/module/setup.rb +27 -4
  205. data/templates/default/onefile/html/files.erb +5 -0
  206. data/templates/default/onefile/html/layout.erb +22 -0
  207. data/templates/default/onefile/html/readme.erb +3 -0
  208. data/templates/default/onefile/html/setup.rb +40 -0
  209. data/templates/default/root/html/setup.rb +1 -0
  210. data/templates/default/tags/setup.rb +26 -33
  211. metadata +80 -10
@@ -0,0 +1,40 @@
1
+ require File.dirname(__FILE__) + "/spec_helper"
2
+
3
+ describe YARD::Templates::Engine.template(:default, :constant) do
4
+ describe 'fully dressed constant' do
5
+ it "should render text format correctly" do
6
+ YARD.parse_string <<-'eof'
7
+ class YARD::CLI::YRI
8
+ # Default search paths that should be loaded dynamically into YRI. These paths
9
+ # take precedence over all other paths ({SEARCH_PATHS_FILE} and RubyGems
10
+ # paths). To add a path, call:
11
+ #
12
+ # DEFAULT_SEARCH_PATHS.push("/path/to/.yardoc")
13
+ #
14
+ # @return [Array<String>] a list of extra search paths
15
+ # @since 0.6.0
16
+ DEFAULT_SEARCH_PATHS = []
17
+ end
18
+ eof
19
+ text_equals(Registry.at('YARD::CLI::YRI::DEFAULT_SEARCH_PATHS').format, :constant001)
20
+ end
21
+ end
22
+
23
+ describe 'simple constant with no documentation' do
24
+ it "should render text format correctly" do
25
+ # Short constant should show on single line
26
+ YARD.parse_string <<-'eof'
27
+ MYCONST = 'foo'
28
+ eof
29
+ text_equals(Registry.at('MYCONST').format, :constant002)
30
+
31
+ # Long constant should show on multiple lines, indented
32
+ YARD.parse_string <<-'eof'
33
+ MYCONST = [A, B, C, D, E, F, G, H, I, J, K, L,
34
+ M, N, O, P, Q, R, S, T, U, V, W,
35
+ X, Y, Z]
36
+ eof
37
+ text_equals(Registry.at('MYCONST').format, :constant003)
38
+ end
39
+ end
40
+ end
@@ -66,7 +66,7 @@ describe YARD::Templates::Engine do
66
66
  describe '.generate' do
67
67
  it "should generate with fulldoc template" do
68
68
  mod = mock(:template)
69
- mod.should_receive(:run).with(:format => :text, :template => :default, :objects => [:a, :b, :c])
69
+ mod.should_receive(:run).with(:__globals => OpenStruct.new, :format => :text, :template => :default, :objects => [:a, :b, :c])
70
70
  Engine.should_receive(:template).with(:default, :fulldoc, :text).and_return(mod)
71
71
  Engine.generate([:a, :b, :c])
72
72
  end
@@ -85,7 +85,8 @@ describe YARD::Templates::Engine do
85
85
 
86
86
  it "should accept method call with no parameters" do
87
87
  loads_template(:default, :method, :text)
88
- @template.should_receive(:run).with :type => :method,
88
+ @template.should_receive(:run).with :__globals => OpenStruct.new,
89
+ :type => :method,
89
90
  :template => :default,
90
91
  :format => :text,
91
92
  :object => @object
@@ -94,7 +95,8 @@ describe YARD::Templates::Engine do
94
95
 
95
96
  it "should allow template key to be changed" do
96
97
  loads_template(:javadoc, :method, :text)
97
- @template.should_receive(:run).with :type => :method,
98
+ @template.should_receive(:run).with :__globals => OpenStruct.new,
99
+ :type => :method,
98
100
  :template => :javadoc,
99
101
  :format => :text,
100
102
  :object => @object
@@ -103,7 +105,8 @@ describe YARD::Templates::Engine do
103
105
 
104
106
  it "should allow type key to be changed" do
105
107
  loads_template(:default, :fulldoc, :text)
106
- @template.should_receive(:run).with :type => :fulldoc,
108
+ @template.should_receive(:run).with :__globals => OpenStruct.new,
109
+ :type => :fulldoc,
107
110
  :template => :default,
108
111
  :format => :text,
109
112
  :object => @object
@@ -112,7 +115,8 @@ describe YARD::Templates::Engine do
112
115
 
113
116
  it "should allow format key to be changed" do
114
117
  loads_template(:default, :method, :html)
115
- @template.should_receive(:run).with :type => :method,
118
+ @template.should_receive(:run).with :__globals => OpenStruct.new,
119
+ :type => :method,
116
120
  :template => :default,
117
121
  :format => :html,
118
122
  :object => @object
@@ -27,9 +27,7 @@
27
27
 
28
28
 
29
29
  <dt class="r2 last">Defined in:</dt>
30
- <dd class="r2 last">(stdin)<span class="defines">,<br />
31
- (stdin),<br /> (stdin)</span>
32
- </dd>
30
+ <dd class="r2 last">(stdin)</dd>
33
31
 
34
32
  </dl>
35
33
  <div class="clear"></div>
@@ -0,0 +1,25 @@
1
+ ------------------------- Constant: YARD::CLI::YRI::DEFAULT_SEARCH_PATHS
2
+
3
+ DEFAULT_SEARCH_PATHS = []
4
+
5
+ ------------------------------------------------------------------------
6
+
7
+ Default search paths that should be loaded dynamically into YRI.
8
+ These paths take precedence over all other paths
9
+ ({SEARCH_PATHS_FILE} and RubyGems paths). To add a path, call:
10
+
11
+ DEFAULT_SEARCH_PATHS.push("/path/to/.yardoc")
12
+
13
+ Returns:
14
+ --------
15
+
16
+ (Array<String>) - a list of extra search paths
17
+
18
+
19
+ Since:
20
+ ------
21
+
22
+ 0.6.0
23
+
24
+
25
+ ------------------------------------------------------------------------
@@ -0,0 +1,7 @@
1
+ ------------------------------------------------------ Constant: MYCONST
2
+
3
+ MYCONST = 'foo'
4
+
5
+ ------------------------------------------------------------------------
6
+
7
+ ------------------------------------------------------------------------
@@ -0,0 +1,11 @@
1
+ ------------------------------------------------------ Constant: MYCONST
2
+
3
+ MYCONST =
4
+
5
+ [A, B, C, D, E, F, G, H, I, J, K, L,
6
+ M, N, O, P, Q, R, S, T, U, V, W,
7
+ X, Y, Z]
8
+
9
+ ------------------------------------------------------------------------
10
+
11
+ ------------------------------------------------------------------------
@@ -16,7 +16,7 @@ Defined Under Namespace:
16
16
  Includes:
17
17
  ---------
18
18
 
19
- B, D, E, F, A::B::C
19
+ A::B::C, F, E, D, B
20
20
 
21
21
 
22
22
  Class methods:
@@ -0,0 +1,319 @@
1
+ <h1>Module: A
2
+
3
+
4
+
5
+ </h1>
6
+
7
+ <dl class="box">
8
+
9
+
10
+
11
+
12
+
13
+
14
+
15
+
16
+ <dt class="r1 last">Defined in:</dt>
17
+ <dd class="r1 last">(stdin)</dd>
18
+
19
+ </dl>
20
+ <div class="clear"></div>
21
+
22
+
23
+
24
+ <h2>Foo <small>(<a href="#" class="summary_toggle">collapse</a>)</small></h2>
25
+ <ul class="summary">
26
+
27
+ <li class="public ">
28
+ <span class="summary_signature">
29
+
30
+ <a title="#foo_attr (instance method)">- <strong>foo_attr</strong> </a>
31
+
32
+
33
+
34
+ </span>
35
+
36
+
37
+
38
+
39
+
40
+
41
+
42
+
43
+
44
+
45
+
46
+ <span class="summary_desc"><div class='inline'>Returns the value of attribute foo_attr.</div></span>
47
+
48
+ </li>
49
+
50
+
51
+ </ul>
52
+
53
+
54
+
55
+ <h2>
56
+ Foo
57
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
58
+ </h2>
59
+
60
+ <ul class="summary">
61
+
62
+ <li class="public ">
63
+ <span class="summary_signature">
64
+
65
+ <a title="bar (class method)">+ <strong>bar</strong> </a>
66
+
67
+
68
+
69
+ </span>
70
+
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ <span class="summary_desc"><div class='inline'></div></span>
79
+
80
+ </li>
81
+
82
+
83
+ <li class="public ">
84
+ <span class="summary_signature">
85
+
86
+ <a title="#foo (instance method)">- <strong>foo</strong> </a>
87
+
88
+
89
+
90
+ </span>
91
+
92
+
93
+
94
+
95
+
96
+
97
+
98
+
99
+ <span class="summary_desc"><div class='inline'></div></span>
100
+
101
+ </li>
102
+
103
+
104
+ </ul>
105
+
106
+ <h2>
107
+ Bar
108
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
109
+ </h2>
110
+
111
+ <ul class="summary">
112
+
113
+ <li class="public ">
114
+ <span class="summary_signature">
115
+
116
+ <a title="#baz (instance method)">- <strong>baz</strong> </a>
117
+
118
+
119
+
120
+ </span>
121
+
122
+
123
+
124
+
125
+
126
+
127
+
128
+
129
+ <span class="summary_desc"><div class='inline'></div></span>
130
+
131
+ </li>
132
+
133
+
134
+ </ul>
135
+
136
+ <h2>
137
+ Class Method Summary
138
+ <small>(<a href="#" class="summary_toggle">collapse</a>)</small>
139
+ </h2>
140
+
141
+ <ul class="summary">
142
+
143
+ <li class="public ">
144
+ <span class="summary_signature">
145
+
146
+ <a title="baz (class method)">+ <strong>baz</strong> </a>
147
+
148
+
149
+
150
+ </span>
151
+
152
+
153
+
154
+
155
+
156
+
157
+
158
+
159
+ <span class="summary_desc"><div class='inline'></div></span>
160
+
161
+ </li>
162
+
163
+
164
+ </ul>
165
+
166
+
167
+
168
+ <div id="instance_attr_details" class="attr_details">
169
+ <h2>Instance Attribute Details</h2>
170
+
171
+
172
+ <span id="foo_attr=-instance_method"></span>
173
+ <span id="foo_attr-instance_method"></span>
174
+ <div class="method_details first">
175
+ <p class="signature first" id="foo_attr-instance_method">
176
+
177
+ - <strong>foo_attr</strong>
178
+
179
+
180
+
181
+ </p><div class="docstring">
182
+ <div class="discussion">
183
+ Returns the value of attribute foo_attr
184
+
185
+ </div>
186
+ </div>
187
+ <div class="tags">
188
+
189
+ </div><table class="source_code">
190
+ <tr>
191
+ <td>
192
+ <pre class="lines">
193
+
194
+
195
+ 3
196
+ 4
197
+ 5</pre>
198
+ </td>
199
+ <td>
200
+ <pre class="code"><span class="info file"># File '(stdin)', line 3</span>
201
+
202
+ def foo_attr
203
+ @foo_attr
204
+ end</pre>
205
+ </td>
206
+ </tr>
207
+ </table>
208
+ </div>
209
+
210
+ </div>
211
+
212
+
213
+ <div id="class_method_details" class="method_details_list">
214
+ <h2>Class Method Details</h2>
215
+
216
+
217
+ <div class="method_details first">
218
+ <p class="signature first" id="bar-class_method">
219
+
220
+ + <strong>bar</strong>
221
+
222
+
223
+
224
+ </p><table class="source_code">
225
+ <tr>
226
+ <td>
227
+ <pre class="lines">
228
+
229
+
230
+ 5</pre>
231
+ </td>
232
+ <td>
233
+ <pre class="code"><span class="info file"># File '(stdin)', line 5</span>
234
+
235
+ def self.bar; end</pre>
236
+ </td>
237
+ </tr>
238
+ </table>
239
+ </div>
240
+
241
+ <div class="method_details ">
242
+ <p class="signature " id="baz-class_method">
243
+
244
+ + <strong>baz</strong>
245
+
246
+
247
+
248
+ </p><table class="source_code">
249
+ <tr>
250
+ <td>
251
+ <pre class="lines">
252
+
253
+
254
+ 12</pre>
255
+ </td>
256
+ <td>
257
+ <pre class="code"><span class="info file"># File '(stdin)', line 12</span>
258
+
259
+ def self.baz; end</pre>
260
+ </td>
261
+ </tr>
262
+ </table>
263
+ </div>
264
+
265
+ </div>
266
+
267
+ <div id="instance_method_details" class="method_details_list">
268
+ <h2>Instance Method Details</h2>
269
+
270
+
271
+ <div class="method_details first">
272
+ <p class="signature first" id="baz-instance_method">
273
+
274
+ - <strong>baz</strong>
275
+
276
+
277
+
278
+ </p><table class="source_code">
279
+ <tr>
280
+ <td>
281
+ <pre class="lines">
282
+
283
+
284
+ 8</pre>
285
+ </td>
286
+ <td>
287
+ <pre class="code"><span class="info file"># File '(stdin)', line 8</span>
288
+
289
+ def baz; end</pre>
290
+ </td>
291
+ </tr>
292
+ </table>
293
+ </div>
294
+
295
+ <div class="method_details ">
296
+ <p class="signature " id="foo-instance_method">
297
+
298
+ - <strong>foo</strong>
299
+
300
+
301
+
302
+ </p><table class="source_code">
303
+ <tr>
304
+ <td>
305
+ <pre class="lines">
306
+
307
+
308
+ 4</pre>
309
+ </td>
310
+ <td>
311
+ <pre class="code"><span class="info file"># File '(stdin)', line 4</span>
312
+
313
+ def foo; end</pre>
314
+ </td>
315
+ </tr>
316
+ </table>
317
+ </div>
318
+
319
+ </div>