nutshell-crm 0.0.1 → 0.0.2

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 (491) hide show
  1. data/Rakefile +4 -1
  2. data/lib/nutshell-crm.rb +274 -6
  3. data/lib/nutshell-crm/version.rb +1 -1
  4. data/nutshell-crm.gemspec +1 -0
  5. data/spec/nutshell-crm_spec.rb +40 -167
  6. data/vendor/bundle/bin/yard +19 -0
  7. data/vendor/bundle/bin/yardoc +19 -0
  8. data/vendor/bundle/bin/yri +19 -0
  9. data/vendor/bundle/gems/yard-0.7.4/.yardopts +18 -0
  10. data/vendor/bundle/gems/yard-0.7.4/ChangeLog +10533 -0
  11. data/vendor/bundle/gems/yard-0.7.4/LEGAL +74 -0
  12. data/vendor/bundle/gems/yard-0.7.4/LICENSE +22 -0
  13. data/vendor/bundle/gems/yard-0.7.4/README.md +514 -0
  14. data/vendor/bundle/gems/yard-0.7.4/Rakefile +99 -0
  15. data/vendor/bundle/gems/yard-0.7.4/benchmarks/builtins_vs_eval.rb +23 -0
  16. data/vendor/bundle/gems/yard-0.7.4/benchmarks/concat_vs_join.rb +12 -0
  17. data/vendor/bundle/gems/yard-0.7.4/benchmarks/erb_vs_erubis.rb +53 -0
  18. data/vendor/bundle/gems/yard-0.7.4/benchmarks/format_args.rb +46 -0
  19. data/vendor/bundle/gems/yard-0.7.4/benchmarks/generation.rb +37 -0
  20. data/vendor/bundle/gems/yard-0.7.4/benchmarks/marshal_vs_dbm.rb +63 -0
  21. data/vendor/bundle/gems/yard-0.7.4/benchmarks/parsing.rb +46 -0
  22. data/vendor/bundle/gems/yard-0.7.4/benchmarks/pathname_vs_string.rb +50 -0
  23. data/vendor/bundle/gems/yard-0.7.4/benchmarks/rdoc_vs_yardoc.rb +10 -0
  24. data/vendor/bundle/gems/yard-0.7.4/benchmarks/ri_vs_yri.rb +18 -0
  25. data/vendor/bundle/gems/yard-0.7.4/benchmarks/ripper_parser.rb +12 -0
  26. data/vendor/bundle/gems/yard-0.7.4/benchmarks/splat_vs_flatten.rb +12 -0
  27. data/vendor/bundle/gems/yard-0.7.4/benchmarks/template_erb.rb +22 -0
  28. data/vendor/bundle/gems/yard-0.7.4/benchmarks/template_format.rb +6 -0
  29. data/vendor/bundle/gems/yard-0.7.4/benchmarks/template_profile.rb +17 -0
  30. data/vendor/bundle/gems/yard-0.7.4/benchmarks/yri_cache.rb +19 -0
  31. data/vendor/bundle/gems/yard-0.7.4/bin/yard +4 -0
  32. data/vendor/bundle/gems/yard-0.7.4/bin/yard-graph +4 -0
  33. data/vendor/bundle/gems/yard-0.7.4/bin/yard-server +4 -0
  34. data/vendor/bundle/gems/yard-0.7.4/bin/yardoc +4 -0
  35. data/vendor/bundle/gems/yard-0.7.4/bin/yri +4 -0
  36. data/vendor/bundle/gems/yard-0.7.4/docs/CodeObjects.md +115 -0
  37. data/vendor/bundle/gems/yard-0.7.4/docs/GettingStarted.md +590 -0
  38. data/vendor/bundle/gems/yard-0.7.4/docs/Glossary.md +12 -0
  39. data/vendor/bundle/gems/yard-0.7.4/docs/Handlers.md +152 -0
  40. data/vendor/bundle/gems/yard-0.7.4/docs/Overview.md +61 -0
  41. data/vendor/bundle/gems/yard-0.7.4/docs/Parser.md +191 -0
  42. data/vendor/bundle/gems/yard-0.7.4/docs/Tags.md +586 -0
  43. data/vendor/bundle/gems/yard-0.7.4/docs/Templates.md +518 -0
  44. data/vendor/bundle/gems/yard-0.7.4/docs/WhatsNew.md +887 -0
  45. data/vendor/bundle/gems/yard-0.7.4/docs/images/code-objects-class-diagram.png +0 -0
  46. data/vendor/bundle/gems/yard-0.7.4/docs/images/handlers-class-diagram.png +0 -0
  47. data/vendor/bundle/gems/yard-0.7.4/docs/images/overview-class-diagram.png +0 -0
  48. data/vendor/bundle/gems/yard-0.7.4/docs/images/parser-class-diagram.png +0 -0
  49. data/vendor/bundle/gems/yard-0.7.4/docs/images/tags-class-diagram.png +0 -0
  50. data/vendor/bundle/gems/yard-0.7.4/lib/rubygems_plugin.rb +4 -0
  51. data/vendor/bundle/gems/yard-0.7.4/lib/yard.rb +57 -0
  52. data/vendor/bundle/gems/yard-0.7.4/lib/yard/autoload.rb +233 -0
  53. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/command.rb +73 -0
  54. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/command_parser.rb +89 -0
  55. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/config.rb +136 -0
  56. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/diff.rb +201 -0
  57. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/gems.rb +83 -0
  58. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/graph.rb +103 -0
  59. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/help.rb +18 -0
  60. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/list.rb +22 -0
  61. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/server.rb +160 -0
  62. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/stats.rb +210 -0
  63. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/yardoc.rb +696 -0
  64. data/vendor/bundle/gems/yard-0.7.4/lib/yard/cli/yri.rb +193 -0
  65. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/base.rb +513 -0
  66. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/class_object.rb +143 -0
  67. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/class_variable_object.rb +8 -0
  68. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/constant_object.rb +13 -0
  69. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/extended_method_object.rb +23 -0
  70. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/extra_file_object.rb +89 -0
  71. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/macro_object.rb +215 -0
  72. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/method_object.rb +153 -0
  73. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/module_object.rb +18 -0
  74. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/namespace_object.rb +200 -0
  75. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/proxy.rb +252 -0
  76. data/vendor/bundle/gems/yard-0.7.4/lib/yard/code_objects/root_object.rb +16 -0
  77. data/vendor/bundle/gems/yard-0.7.4/lib/yard/config.rb +259 -0
  78. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/array.rb +15 -0
  79. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/file.rb +65 -0
  80. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/hash.rb +15 -0
  81. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/insertion.rb +60 -0
  82. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/module.rb +19 -0
  83. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/string.rb +67 -0
  84. data/vendor/bundle/gems/yard-0.7.4/lib/yard/core_ext/symbol_hash.rb +73 -0
  85. data/vendor/bundle/gems/yard-0.7.4/lib/yard/docstring.rb +331 -0
  86. data/vendor/bundle/gems/yard-0.7.4/lib/yard/globals.rb +18 -0
  87. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/base.rb +569 -0
  88. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/processor.rb +187 -0
  89. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/alias_handler.rb +43 -0
  90. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/attribute_handler.rb +83 -0
  91. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/base.rb +160 -0
  92. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/class_condition_handler.rb +84 -0
  93. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/class_handler.rb +122 -0
  94. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/class_variable_handler.rb +16 -0
  95. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/constant_handler.rb +45 -0
  96. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/exception_handler.rb +26 -0
  97. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/extend_handler.rb +21 -0
  98. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/alias_handler.rb +37 -0
  99. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/attribute_handler.rb +61 -0
  100. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/base.rb +228 -0
  101. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +81 -0
  102. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/class_handler.rb +110 -0
  103. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +14 -0
  104. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/constant_handler.rb +28 -0
  105. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/exception_handler.rb +12 -0
  106. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/extend_handler.rb +20 -0
  107. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/macro_handler.rb +39 -0
  108. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/method_handler.rb +78 -0
  109. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/mixin_handler.rb +41 -0
  110. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/module_handler.rb +11 -0
  111. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +21 -0
  112. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/visibility_handler.rb +16 -0
  113. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/legacy/yield_handler.rb +28 -0
  114. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/macro_handler.rb +40 -0
  115. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/macro_handler_methods.rb +130 -0
  116. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/method_condition_handler.rb +8 -0
  117. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/method_handler.rb +94 -0
  118. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/mixin_handler.rb +36 -0
  119. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/module_handler.rb +11 -0
  120. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/private_constant_handler.rb +36 -0
  121. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/struct_handler_methods.rb +140 -0
  122. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/visibility_handler.rb +24 -0
  123. data/vendor/bundle/gems/yard-0.7.4/lib/yard/handlers/ruby/yield_handler.rb +30 -0
  124. data/vendor/bundle/gems/yard-0.7.4/lib/yard/logging.rb +77 -0
  125. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/base.rb +56 -0
  126. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/c_parser.rb +501 -0
  127. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/ast_node.rb +399 -0
  128. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/ruby_lex.rb +1376 -0
  129. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/ruby_parser.rb +30 -0
  130. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/statement.rb +60 -0
  131. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/statement_list.rb +390 -0
  132. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/legacy/token_list.rb +66 -0
  133. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/ruby/ruby_parser.rb +542 -0
  134. data/vendor/bundle/gems/yard-0.7.4/lib/yard/parser/source_parser.rb +517 -0
  135. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rake/yardoc_task.rb +75 -0
  136. data/vendor/bundle/gems/yard-0.7.4/lib/yard/registry.rb +400 -0
  137. data/vendor/bundle/gems/yard-0.7.4/lib/yard/registry_store.rb +252 -0
  138. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports.rb +8 -0
  139. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/LICENSE.txt +57 -0
  140. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/MIT.txt +20 -0
  141. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/gem.rb +8 -0
  142. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/backports/source_index.rb +353 -0
  143. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/doc_manager.rb +75 -0
  144. data/vendor/bundle/gems/yard-0.7.4/lib/yard/rubygems/specification.rb +41 -0
  145. data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/base.rb +80 -0
  146. data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/file_system_serializer.rb +92 -0
  147. data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/process_serializer.rb +24 -0
  148. data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/stdout_serializer.rb +32 -0
  149. data/vendor/bundle/gems/yard-0.7.4/lib/yard/serializers/yardoc_serializer.rb +122 -0
  150. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server.rb +11 -0
  151. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/adapter.rb +100 -0
  152. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/base.rb +192 -0
  153. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/display_file_command.rb +24 -0
  154. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/display_object_command.rb +51 -0
  155. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/frames_command.rb +32 -0
  156. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/library_command.rb +100 -0
  157. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/library_index_command.rb +24 -0
  158. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/list_command.rb +48 -0
  159. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/search_command.rb +72 -0
  160. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/commands/static_file_command.rb +50 -0
  161. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_helper.rb +40 -0
  162. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/doc_server_serializer.rb +31 -0
  163. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/library_version.rb +227 -0
  164. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/rack_adapter.rb +83 -0
  165. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/router.rb +180 -0
  166. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/static_caching.rb +45 -0
  167. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/css/custom.css +78 -0
  168. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  169. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
  170. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/fulldoc/html/js/live.js +32 -0
  171. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/layout/html/breadcrumb.erb +46 -0
  172. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/layout/html/headers.erb +16 -0
  173. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/default/layout/html/setup.rb +7 -0
  174. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/frames/html/frames.erb +13 -0
  175. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/frames/html/setup.rb +3 -0
  176. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/full_list/html/full_list.erb +34 -0
  177. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/full_list/html/setup.rb +20 -0
  178. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/contents.erb +13 -0
  179. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/headers.erb +26 -0
  180. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +12 -0
  181. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/setup.rb +3 -0
  182. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
  183. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/processing/html/processing.erb +51 -0
  184. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/processing/html/setup.rb +3 -0
  185. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/search/html/search.erb +19 -0
  186. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/templates/doc_server/search/html/setup.rb +8 -0
  187. data/vendor/bundle/gems/yard-0.7.4/lib/yard/server/webrick_adapter.rb +42 -0
  188. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/default_factory.rb +141 -0
  189. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/default_tag.rb +12 -0
  190. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/library.rb +201 -0
  191. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/option_tag.rb +12 -0
  192. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/overload_tag.rb +65 -0
  193. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/ref_tag.rb +7 -0
  194. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/ref_tag_list.rb +27 -0
  195. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/tag.rb +57 -0
  196. data/vendor/bundle/gems/yard-0.7.4/lib/yard/tags/tag_format_error.rb +6 -0
  197. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/engine.rb +173 -0
  198. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/erb_cache.rb +22 -0
  199. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/base_helper.rb +206 -0
  200. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/filter_helper.rb +26 -0
  201. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/html_helper.rb +520 -0
  202. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +59 -0
  203. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/markup/rdoc_markup.rb +85 -0
  204. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/markup_helper.rb +164 -0
  205. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/method_helper.rb +72 -0
  206. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/module_helper.rb +19 -0
  207. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/text_helper.rb +95 -0
  208. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/helpers/uml_helper.rb +46 -0
  209. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/section.rb +106 -0
  210. data/vendor/bundle/gems/yard-0.7.4/lib/yard/templates/template.rb +366 -0
  211. data/vendor/bundle/gems/yard-0.7.4/lib/yard/verifier.rb +148 -0
  212. data/vendor/bundle/gems/yard-0.7.4/spec/cli/command_parser_spec.rb +43 -0
  213. data/vendor/bundle/gems/yard-0.7.4/spec/cli/command_spec.rb +36 -0
  214. data/vendor/bundle/gems/yard-0.7.4/spec/cli/config_spec.rb +92 -0
  215. data/vendor/bundle/gems/yard-0.7.4/spec/cli/diff_spec.rb +172 -0
  216. data/vendor/bundle/gems/yard-0.7.4/spec/cli/gems_spec.rb +81 -0
  217. data/vendor/bundle/gems/yard-0.7.4/spec/cli/help_spec.rb +22 -0
  218. data/vendor/bundle/gems/yard-0.7.4/spec/cli/list_spec.rb +8 -0
  219. data/vendor/bundle/gems/yard-0.7.4/spec/cli/server_spec.rb +171 -0
  220. data/vendor/bundle/gems/yard-0.7.4/spec/cli/stats_spec.rb +90 -0
  221. data/vendor/bundle/gems/yard-0.7.4/spec/cli/yardoc_spec.rb +628 -0
  222. data/vendor/bundle/gems/yard-0.7.4/spec/cli/yri_spec.rb +87 -0
  223. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/base_spec.rb +334 -0
  224. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/class_object_spec.rb +225 -0
  225. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/code_object_list_spec.rb +33 -0
  226. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/constants_spec.rb +81 -0
  227. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/extra_file_object_spec.rb +132 -0
  228. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/macro_object_spec.rb +154 -0
  229. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/method_object_spec.rb +152 -0
  230. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/module_object_spec.rb +141 -0
  231. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/namespace_object_spec.rb +170 -0
  232. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/proxy_spec.rb +124 -0
  233. data/vendor/bundle/gems/yard-0.7.4/spec/code_objects/spec_helper.rb +3 -0
  234. data/vendor/bundle/gems/yard-0.7.4/spec/config_spec.rb +167 -0
  235. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/array_spec.rb +14 -0
  236. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/file_spec.rb +68 -0
  237. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/hash_spec.rb +14 -0
  238. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/insertion_spec.rb +37 -0
  239. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/module_spec.rb +15 -0
  240. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/string_spec.rb +42 -0
  241. data/vendor/bundle/gems/yard-0.7.4/spec/core_ext/symbol_hash_spec.rb +86 -0
  242. data/vendor/bundle/gems/yard-0.7.4/spec/docstring_spec.rb +400 -0
  243. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/alias_handler_spec.rb +80 -0
  244. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/attribute_handler_spec.rb +94 -0
  245. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/base_spec.rb +197 -0
  246. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/class_condition_handler_spec.rb +62 -0
  247. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/class_handler_spec.rb +246 -0
  248. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/class_variable_handler_spec.rb +11 -0
  249. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/constant_handler_spec.rb +64 -0
  250. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/alias_handler_001.rb.txt +44 -0
  251. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/attribute_handler_001.rb.txt +32 -0
  252. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/class_condition_handler_001.rb.txt +61 -0
  253. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/class_handler_001.rb.txt +120 -0
  254. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/class_variable_handler_001.rb.txt +10 -0
  255. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/constant_handler_001.rb.txt +25 -0
  256. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/exception_handler_001.rb.txt +59 -0
  257. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/extend_handler_001.rb.txt +16 -0
  258. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/macro_handler_001.rb.txt +83 -0
  259. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/method_condition_handler_001.rb.txt +10 -0
  260. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/method_handler_001.rb.txt +122 -0
  261. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/mixin_handler_001.rb.txt +33 -0
  262. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/module_handler_001.rb.txt +29 -0
  263. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -0
  264. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/process_handler_001.rb.txt +11 -0
  265. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/visibility_handler_001.rb.txt +27 -0
  266. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/examples/yield_handler_001.rb.txt +55 -0
  267. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/exception_handler_spec.rb +48 -0
  268. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/extend_handler_spec.rb +23 -0
  269. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/legacy_base_spec.rb +128 -0
  270. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/macro_handler_spec.rb +157 -0
  271. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/method_condition_handler_spec.rb +14 -0
  272. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/method_handler_spec.rb +177 -0
  273. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/mixin_handler_spec.rb +50 -0
  274. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/module_handler_spec.rb +34 -0
  275. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/private_constant_handler_spec.rb +24 -0
  276. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/processor_spec.rb +23 -0
  277. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/ruby/base_spec.rb +90 -0
  278. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/ruby/legacy/base_spec.rb +78 -0
  279. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/spec_helper.rb +34 -0
  280. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/visibility_handler_spec.rb +34 -0
  281. data/vendor/bundle/gems/yard-0.7.4/spec/handlers/yield_handler_spec.rb +51 -0
  282. data/vendor/bundle/gems/yard-0.7.4/spec/logging_spec.rb +14 -0
  283. data/vendor/bundle/gems/yard-0.7.4/spec/parser/base_spec.rb +24 -0
  284. data/vendor/bundle/gems/yard-0.7.4/spec/parser/c_parser_spec.rb +231 -0
  285. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/array.c.txt +3887 -0
  286. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/example1.rb.txt +8 -0
  287. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/extrafile.c.txt +8 -0
  288. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/multifile.c.txt +6 -0
  289. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/override.c.txt +424 -0
  290. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/parse_in_order_001.rb.txt +2 -0
  291. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/parse_in_order_002.rb.txt +2 -0
  292. data/vendor/bundle/gems/yard-0.7.4/spec/parser/examples/tag_handler_001.rb.txt +8 -0
  293. data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/ast_node_spec.rb +33 -0
  294. data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/legacy/statement_list_spec.rb +299 -0
  295. data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/legacy/token_list_spec.rb +69 -0
  296. data/vendor/bundle/gems/yard-0.7.4/spec/parser/ruby/ruby_parser_spec.rb +257 -0
  297. data/vendor/bundle/gems/yard-0.7.4/spec/parser/source_parser_spec.rb +595 -0
  298. data/vendor/bundle/gems/yard-0.7.4/spec/parser/tag_parsing_spec.rb +18 -0
  299. data/vendor/bundle/gems/yard-0.7.4/spec/rake/yardoc_task_spec.rb +90 -0
  300. data/vendor/bundle/gems/yard-0.7.4/spec/registry_spec.rb +303 -0
  301. data/vendor/bundle/gems/yard-0.7.4/spec/registry_store_spec.rb +255 -0
  302. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/checksums +1 -0
  303. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
  304. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
  305. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
  306. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
  307. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/data/serialized_yardoc/proxy_types +2 -0
  308. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/file_system_serializer_spec.rb +124 -0
  309. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/spec_helper.rb +2 -0
  310. data/vendor/bundle/gems/yard-0.7.4/spec/serializers/yardoc_serializer_spec.rb +46 -0
  311. data/vendor/bundle/gems/yard-0.7.4/spec/server/adapter_spec.rb +38 -0
  312. data/vendor/bundle/gems/yard-0.7.4/spec/server/commands/base_spec.rb +87 -0
  313. data/vendor/bundle/gems/yard-0.7.4/spec/server/commands/library_command_spec.rb +39 -0
  314. data/vendor/bundle/gems/yard-0.7.4/spec/server/commands/static_file_command_spec.rb +84 -0
  315. data/vendor/bundle/gems/yard-0.7.4/spec/server/doc_server_serializer_spec.rb +58 -0
  316. data/vendor/bundle/gems/yard-0.7.4/spec/server/rack_adapter_spec.rb +18 -0
  317. data/vendor/bundle/gems/yard-0.7.4/spec/server/router_spec.rb +115 -0
  318. data/vendor/bundle/gems/yard-0.7.4/spec/server/spec_helper.rb +17 -0
  319. data/vendor/bundle/gems/yard-0.7.4/spec/server/static_caching_spec.rb +39 -0
  320. data/vendor/bundle/gems/yard-0.7.4/spec/server/webrick_servlet_spec.rb +20 -0
  321. data/vendor/bundle/gems/yard-0.7.4/spec/server_spec.rb +10 -0
  322. data/vendor/bundle/gems/yard-0.7.4/spec/spec_helper.rb +105 -0
  323. data/vendor/bundle/gems/yard-0.7.4/spec/tags/default_factory_spec.rb +138 -0
  324. data/vendor/bundle/gems/yard-0.7.4/spec/tags/default_tag_spec.rb +11 -0
  325. data/vendor/bundle/gems/yard-0.7.4/spec/tags/library_spec.rb +23 -0
  326. data/vendor/bundle/gems/yard-0.7.4/spec/tags/overload_tag_spec.rb +53 -0
  327. data/vendor/bundle/gems/yard-0.7.4/spec/tags/ref_tag_list_spec.rb +53 -0
  328. data/vendor/bundle/gems/yard-0.7.4/spec/templates/class_spec.rb +43 -0
  329. data/vendor/bundle/gems/yard-0.7.4/spec/templates/constant_spec.rb +40 -0
  330. data/vendor/bundle/gems/yard-0.7.4/spec/templates/engine_spec.rb +129 -0
  331. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/class001.html +280 -0
  332. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/class001.txt +36 -0
  333. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/class002.html +35 -0
  334. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/constant001.txt +25 -0
  335. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/constant002.txt +7 -0
  336. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/constant003.txt +11 -0
  337. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method001.html +130 -0
  338. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method001.txt +35 -0
  339. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method002.html +86 -0
  340. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method002.txt +20 -0
  341. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method003.html +159 -0
  342. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method003.txt +45 -0
  343. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method004.html +44 -0
  344. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method004.txt +10 -0
  345. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method005.html +99 -0
  346. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/method005.txt +33 -0
  347. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module001.dot +33 -0
  348. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module001.html +795 -0
  349. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module001.txt +33 -0
  350. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/module002.html +319 -0
  351. data/vendor/bundle/gems/yard-0.7.4/spec/templates/examples/tag001.txt +82 -0
  352. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/base_helper_spec.rb +175 -0
  353. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/html_helper_spec.rb +541 -0
  354. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +48 -0
  355. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/markup/rdoc_markup_spec.rb +84 -0
  356. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/markup_helper_spec.rb +132 -0
  357. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/method_helper_spec.rb +75 -0
  358. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/shared_signature_examples.rb +121 -0
  359. data/vendor/bundle/gems/yard-0.7.4/spec/templates/helpers/text_helper_spec.rb +44 -0
  360. data/vendor/bundle/gems/yard-0.7.4/spec/templates/method_spec.rb +102 -0
  361. data/vendor/bundle/gems/yard-0.7.4/spec/templates/module_spec.rb +109 -0
  362. data/vendor/bundle/gems/yard-0.7.4/spec/templates/onefile_spec.rb +47 -0
  363. data/vendor/bundle/gems/yard-0.7.4/spec/templates/section_spec.rb +146 -0
  364. data/vendor/bundle/gems/yard-0.7.4/spec/templates/spec_helper.rb +42 -0
  365. data/vendor/bundle/gems/yard-0.7.4/spec/templates/tag_spec.rb +39 -0
  366. data/vendor/bundle/gems/yard-0.7.4/spec/templates/template_spec.rb +401 -0
  367. data/vendor/bundle/gems/yard-0.7.4/spec/verifier_spec.rb +86 -0
  368. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/dot/setup.rb +6 -0
  369. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/dot/superklass.erb +3 -0
  370. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/html/constructor_details.erb +8 -0
  371. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/html/setup.rb +1 -0
  372. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/html/subclasses.erb +4 -0
  373. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/setup.rb +36 -0
  374. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/text/setup.rb +11 -0
  375. data/vendor/bundle/gems/yard-0.7.4/templates/default/class/text/subclasses.erb +5 -0
  376. data/vendor/bundle/gems/yard-0.7.4/templates/default/constant/text/header.erb +11 -0
  377. data/vendor/bundle/gems/yard-0.7.4/templates/default/constant/text/setup.rb +3 -0
  378. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/abstract.erb +4 -0
  379. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/deprecated.erb +1 -0
  380. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/index.erb +5 -0
  381. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/note.erb +6 -0
  382. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/private.erb +4 -0
  383. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/returns_void.erb +1 -0
  384. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/text.erb +1 -0
  385. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/html/todo.erb +6 -0
  386. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/setup.rb +49 -0
  387. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/abstract.erb +2 -0
  388. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/deprecated.erb +2 -0
  389. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/index.erb +2 -0
  390. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/note.erb +4 -0
  391. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/private.erb +2 -0
  392. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/returns_void.erb +1 -0
  393. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/text.erb +1 -0
  394. data/vendor/bundle/gems/yard-0.7.4/templates/default/docstring/text/todo.erb +4 -0
  395. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/css/common.css +1 -0
  396. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/css/full_list.css +55 -0
  397. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/css/style.css +322 -0
  398. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/frames.erb +13 -0
  399. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list.erb +37 -0
  400. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list_class.erb +2 -0
  401. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list_files.erb +5 -0
  402. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/full_list_methods.erb +12 -0
  403. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/js/app.js +205 -0
  404. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/js/full_list.js +167 -0
  405. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/js/jquery.js +16 -0
  406. data/vendor/bundle/gems/yard-0.7.4/templates/default/fulldoc/html/setup.rb +198 -0
  407. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/dot/header.erb +6 -0
  408. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/dot/setup.rb +14 -0
  409. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/breadcrumb.erb +13 -0
  410. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/files.erb +11 -0
  411. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/footer.erb +5 -0
  412. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/headers.erb +17 -0
  413. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/index.erb +2 -0
  414. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/layout.erb +24 -0
  415. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/listing.erb +4 -0
  416. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/objects.erb +32 -0
  417. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/search.erb +5 -0
  418. data/vendor/bundle/gems/yard-0.7.4/templates/default/layout/html/setup.rb +71 -0
  419. data/vendor/bundle/gems/yard-0.7.4/templates/default/method/html/header.erb +16 -0
  420. data/vendor/bundle/gems/yard-0.7.4/templates/default/method/setup.rb +3 -0
  421. data/vendor/bundle/gems/yard-0.7.4/templates/default/method/text/header.erb +1 -0
  422. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/html/header.erb +3 -0
  423. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/html/method_signature.erb +18 -0
  424. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/html/source.erb +10 -0
  425. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/setup.rb +9 -0
  426. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/text/header.erb +10 -0
  427. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/text/method_signature.erb +12 -0
  428. data/vendor/bundle/gems/yard-0.7.4/templates/default/method_details/text/setup.rb +10 -0
  429. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/child.erb +1 -0
  430. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/dependencies.erb +3 -0
  431. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/header.erb +6 -0
  432. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/info.erb +14 -0
  433. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/dot/setup.rb +14 -0
  434. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/attribute_details.erb +11 -0
  435. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/attribute_summary.erb +8 -0
  436. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/box_info.erb +37 -0
  437. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/children.erb +8 -0
  438. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/constant_summary.erb +13 -0
  439. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/defines.erb +3 -0
  440. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/header.erb +5 -0
  441. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/inherited_attributes.erb +17 -0
  442. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/inherited_constants.erb +8 -0
  443. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/inherited_methods.erb +18 -0
  444. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/item_summary.erb +30 -0
  445. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/method_details_list.erb +9 -0
  446. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/method_summary.erb +14 -0
  447. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/methodmissing.erb +12 -0
  448. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/html/pre_docstring.erb +1 -0
  449. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/setup.rb +129 -0
  450. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/children.erb +10 -0
  451. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/class_meths_list.erb +8 -0
  452. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/extends.erb +8 -0
  453. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/header.erb +7 -0
  454. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/includes.erb +8 -0
  455. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/instance_meths_list.erb +8 -0
  456. data/vendor/bundle/gems/yard-0.7.4/templates/default/module/text/setup.rb +12 -0
  457. data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/files.erb +5 -0
  458. data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/layout.erb +22 -0
  459. data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/readme.erb +3 -0
  460. data/vendor/bundle/gems/yard-0.7.4/templates/default/onefile/html/setup.rb +43 -0
  461. data/vendor/bundle/gems/yard-0.7.4/templates/default/root/dot/child.erb +3 -0
  462. data/vendor/bundle/gems/yard-0.7.4/templates/default/root/dot/setup.rb +5 -0
  463. data/vendor/bundle/gems/yard-0.7.4/templates/default/root/html/setup.rb +1 -0
  464. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/example.erb +9 -0
  465. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/index.erb +3 -0
  466. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/option.erb +22 -0
  467. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/overload.erb +14 -0
  468. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/see.erb +8 -0
  469. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/html/tag.erb +20 -0
  470. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/setup.rb +50 -0
  471. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/example.erb +12 -0
  472. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/index.erb +1 -0
  473. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/option.erb +20 -0
  474. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/overload.erb +19 -0
  475. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/see.erb +11 -0
  476. data/vendor/bundle/gems/yard-0.7.4/templates/default/tags/text/tag.erb +13 -0
  477. data/vendor/bundle/gems/yard-0.7.4/templates/guide/class/html/setup.rb +1 -0
  478. data/vendor/bundle/gems/yard-0.7.4/templates/guide/docstring/html/setup.rb +1 -0
  479. data/vendor/bundle/gems/yard-0.7.4/templates/guide/fulldoc/html/css/style.css +93 -0
  480. data/vendor/bundle/gems/yard-0.7.4/templates/guide/fulldoc/html/js/app.js +33 -0
  481. data/vendor/bundle/gems/yard-0.7.4/templates/guide/fulldoc/html/setup.rb +54 -0
  482. data/vendor/bundle/gems/yard-0.7.4/templates/guide/layout/html/layout.erb +81 -0
  483. data/vendor/bundle/gems/yard-0.7.4/templates/guide/layout/html/setup.rb +24 -0
  484. data/vendor/bundle/gems/yard-0.7.4/templates/guide/method/html/header.erb +18 -0
  485. data/vendor/bundle/gems/yard-0.7.4/templates/guide/method/html/setup.rb +21 -0
  486. data/vendor/bundle/gems/yard-0.7.4/templates/guide/module/html/header.erb +7 -0
  487. data/vendor/bundle/gems/yard-0.7.4/templates/guide/module/html/method_list.erb +5 -0
  488. data/vendor/bundle/gems/yard-0.7.4/templates/guide/module/html/setup.rb +26 -0
  489. data/vendor/bundle/gems/yard-0.7.4/templates/guide/tags/html/setup.rb +8 -0
  490. data/vendor/bundle/specifications/yard-0.7.4.gemspec +28 -0
  491. metadata +505 -8
@@ -0,0 +1,80 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AliasHandler" do
4
+ before(:all) { parse_file :alias_handler_001, __FILE__ }
5
+
6
+ it "should throw alias into namespace object list" do
7
+ P(:A).aliases[P("A#b")].should == :a
8
+ end
9
+
10
+ ['c', 'd?', '[]', '[]=', '-@', '%', '*'].each do |a|
11
+ it "should handle the Ruby 'alias' keyword syntax for method ##{a}" do
12
+ P('A#' + a).should be_instance_of(CodeObjects::MethodObject)
13
+ end
14
+ end
15
+
16
+ it "should handle keywords as the alias name" do
17
+ P('A#for').should be_instance_of(CodeObjects::MethodObject)
18
+ end
19
+
20
+ it "should allow ConstantNames to be specified as aliases" do
21
+ P('A#ConstantName').should be_instance_of(CodeObjects::MethodObject)
22
+ end
23
+
24
+ it "should create a new method object for the alias" do
25
+ P("A#b").should be_instance_of(CodeObjects::MethodObject)
26
+ end
27
+
28
+ it "should pull the method into the current class if it's from another one" do
29
+ P(:B).aliases[P("B#q")].should == :x
30
+ P(:B).aliases[P("B#r?")].should == :x
31
+ end
32
+
33
+ it "should gracefully fail to pull a method in if the original method cannot be found" do
34
+ P(:B).aliases[P("B#s")].should == :to_s
35
+ end
36
+
37
+ it "should allow complex Ruby expressions after the alias parameters" do
38
+ P(:B).aliases[P("B#t")].should == :inspect
39
+ end
40
+
41
+ it "should show up in #is_alias? for method" do
42
+ P("B#t").is_alias?.should == true
43
+ P('B#r?').is_alias?.should == true
44
+ end
45
+
46
+ it "should allow operators and keywords to be specified as symbols" do
47
+ P('B#<<').should be_instance_of(CodeObjects::MethodObject)
48
+ P('B#for').should be_instance_of(CodeObjects::MethodObject)
49
+ end
50
+
51
+ it "should handle keywords in alias names" do
52
+ P('B#do').is_alias?.should == true
53
+ P('B#x2').is_alias?.should == true
54
+ P(:B).aliases[P('B#do')].should == :x
55
+ P(:B).aliases[P('B#x2')].should == :do
56
+ end
57
+
58
+ it "should handle quoted symbols" do
59
+ foo = Registry.at('A#foo')
60
+ foo.should_not be_nil
61
+ foo.should be_is_alias
62
+ Registry.at('A').aliases[foo].should == :a
63
+ end
64
+
65
+ it "should prepend aliases object's docstring to comments" do
66
+ Registry.at('D#a').tag(:return).types.should == ['Numeric']
67
+ Registry.at('D#b').tag(:return).types.should == ['String']
68
+ Registry.at('D#b').docstring.should == "Foo bar"
69
+ end
70
+
71
+ it "should raise an UndocumentableError if only one parameter is passed" do
72
+ undoc_error "alias_method :q"
73
+ end
74
+
75
+ it "should raise an UndocumentableError if the parameter is not a Symbol or String" do
76
+ undoc_error "alias_method CONST, Something"
77
+ undoc_error "alias_method variable, ClassName"
78
+ undoc_error "alias_method variable, other_variable"
79
+ end
80
+ end
@@ -0,0 +1,94 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}AttributeHandler" do
4
+ before(:all) { parse_file :attribute_handler_001, __FILE__ }
5
+
6
+ def read_write(namespace, name, read, write, scope = :instance)
7
+ rname, wname = namespace.to_s+"#"+name.to_s, namespace.to_s+"#"+name.to_s+"="
8
+ if read
9
+ Registry.at(rname).should be_instance_of(CodeObjects::MethodObject)
10
+ else
11
+ Registry.at(rname).should == nil
12
+ end
13
+
14
+ if write
15
+ Registry.at(wname).should be_kind_of(CodeObjects::MethodObject)
16
+ else
17
+ Registry.at(wname).should == nil
18
+ end
19
+
20
+ attrs = Registry.at(namespace).attributes[scope][name]
21
+ attrs[:read].should == (read ? Registry.at(rname) : nil)
22
+ attrs[:write].should == (write ? Registry.at(wname) : nil)
23
+ end
24
+
25
+ it "should parse attributes inside modules too" do
26
+ Registry.at("A#x=").should_not == nil
27
+ end
28
+
29
+ it "should parse 'attr'" do
30
+ read_write(:B, :a, true, true)
31
+ read_write(:B, :a2, true, false)
32
+ read_write(:B, "a3", true, false)
33
+ end
34
+
35
+ it "should parse 'attr_reader'" do
36
+ read_write(:B, :b, true, false)
37
+ end
38
+
39
+ it "should parse 'attr_writer'" do
40
+ read_write(:B, :e, false, true)
41
+ end
42
+
43
+ it "should parse 'attr_accessor'" do
44
+ read_write(:B, :f, true, true)
45
+ end
46
+
47
+ it "should parse a list of attributes" do
48
+ read_write(:B, :b, true, false)
49
+ read_write(:B, :c, true, false)
50
+ read_write(:B, :d, true, false)
51
+ end
52
+
53
+ it "should have a default docstring if one is not supplied" do
54
+ Registry.at("B#f=").docstring.should_not be_empty
55
+ end
56
+
57
+ it "should set the correct docstring if one is supplied" do
58
+ Registry.at("B#b").docstring.should == "Docstring"
59
+ Registry.at("B#c").docstring.should == "Docstring"
60
+ Registry.at("B#d").docstring.should == "Docstring"
61
+ end
62
+
63
+ it "should be able to differentiate between class and instance attributes" do
64
+ P('B').class_attributes[:z][:read].scope.should == :class
65
+ P('B').instance_attributes[:z][:read].scope.should == :instance
66
+ end
67
+
68
+ it "should respond true in method's #is_attribute?" do
69
+ P('B#a').is_attribute?.should == true
70
+ P('B#a=').is_attribute?.should == true
71
+ end
72
+
73
+ it "should not return true for #is_explicit? in created methods" do
74
+ Registry.at(:B).meths.each do |meth|
75
+ meth.is_explicit?.should == false
76
+ end
77
+ end
78
+
79
+ it "should handle attr call with no arguments" do
80
+ lambda { StubbedSourceParser.parse_string "attr" }.should_not raise_error
81
+ end
82
+
83
+ it "should add existing reader method as part of attr_writer combo" do
84
+ Registry.at('C#foo=').attr_info[:read].should == Registry.at('C#foo')
85
+ end
86
+
87
+ it "should add existing writer method as part of attr_reader combo" do
88
+ Registry.at('C#foo').attr_info[:write].should == Registry.at('C#foo=')
89
+ end
90
+
91
+ it "should maintain visibility for attr_reader" do
92
+ Registry.at('D#parser').visibility.should == :protected
93
+ end
94
+ end
@@ -0,0 +1,197 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+ require 'ostruct'
3
+
4
+ include Parser
5
+
6
+ describe YARD::Handlers::Base do
7
+ describe "#handles and inheritance" do
8
+ before do
9
+ Handlers::Base.stub!(:inherited)
10
+ end
11
+
12
+ it "should keep track of subclasses" do
13
+ Handlers::Base.should_receive(:inherited).once
14
+ class TestHandler < Handlers::Base; end
15
+ end
16
+
17
+ it "should raise NotImplementedError if process is called on a class with no #process" do
18
+ class TestNotImplementedHandler < Handlers::Base
19
+ end
20
+
21
+ lambda { TestNotImplementedHandler.new(0, 0).process }.should raise_error(NotImplementedError)
22
+ end
23
+
24
+ it "should allow multiple handles arguments" do
25
+ Handlers::Base.should_receive(:inherited).once
26
+ class TestHandler1 < Handlers::Base
27
+ handles :a, :b, :c
28
+ end
29
+ TestHandler1.handlers.should == [:a, :b, :c]
30
+ end
31
+
32
+ it "should allow multiple handles calls" do
33
+ Handlers::Base.should_receive(:inherited).once
34
+ class TestHandler2 < Handlers::Base
35
+ handles :a
36
+ handles :b
37
+ handles :c
38
+ end
39
+ TestHandler2.handlers.should == [:a, :b, :c]
40
+ end
41
+ end
42
+
43
+ describe 'transitive tags' do
44
+ it "should add transitive tags to children" do
45
+ Registry.clear
46
+ YARD.parse_string <<-eof
47
+ # @since 1.0
48
+ # @author Foo
49
+ class A
50
+ def foo; end
51
+ # @since 1.1
52
+ def bar; end
53
+ end
54
+ eof
55
+ Registry.at('A').tag(:since).text.should == "1.0"
56
+ Registry.at('A#foo').tag(:since).text.should == "1.0"
57
+ Registry.at('A#bar').tag(:since).text.should == "1.1"
58
+ Registry.at('A#bar').tag(:author).should be_nil
59
+ end
60
+ end
61
+
62
+ describe 'sharing global state' do
63
+ it "should allow globals to share global state among handlers" do
64
+ class GlobalStateHandler1 < Handlers::Ruby::Base
65
+ class << self; attr_accessor :state end
66
+ handles :class
67
+ process { self.class.state = globals.foo; globals.foo = :bar }
68
+ end
69
+
70
+ class GlobalStateHandler2 < Handlers::Ruby::Base
71
+ class << self; attr_accessor :state end
72
+ handles :def
73
+ process { self.class.state = globals.foo }
74
+ end
75
+
76
+ 2.times do
77
+ YARD.parse_string 'class Foo; end; def foo; end'
78
+ GlobalStateHandler1.state.should == nil
79
+ GlobalStateHandler2.state.should == :bar
80
+ end
81
+ end
82
+ end if HAVE_RIPPER
83
+
84
+ describe '#push_state' do
85
+ def process(klass)
86
+ state = OpenStruct.new(:namespace => "ROOT", :scope => :instance, :owner => "ROOT")
87
+ klass.new(state, nil).process
88
+ end
89
+
90
+ it "should push and return all old state info after block" do
91
+ class PushStateHandler1 < Handlers::Base
92
+ def process
93
+ push_state(:namespace => "FOO", :scope => :class, :owner => "BAR") do
94
+ namespace.should == "FOO"
95
+ scope.should == :class
96
+ owner.should == "BAR"
97
+ end
98
+ namespace.should == "ROOT"
99
+ owner.should == "ROOT"
100
+ scope.should == :instance
101
+ end
102
+ end
103
+ process PushStateHandler1
104
+ end
105
+
106
+ it "should allow owner to be pushed individually" do
107
+ class PushStateHandler2 < Handlers::Base
108
+ def process
109
+ push_state(:owner => "BAR") do
110
+ namespace.should == "ROOT"
111
+ scope.should == :instance
112
+ owner.should == "BAR"
113
+ end
114
+ owner.should == "ROOT"
115
+ end
116
+ end
117
+ process PushStateHandler2
118
+ end
119
+
120
+ it "should allow scope to be pushed individually" do
121
+ class PushStateHandler3 < Handlers::Base
122
+ def process
123
+ push_state(:scope => :foo) do
124
+ namespace.should == "ROOT"
125
+ scope.should == :foo
126
+ owner.should == "ROOT"
127
+ end
128
+ scope.should == :instance
129
+ end
130
+ end
131
+ process PushStateHandler3
132
+ end
133
+ end
134
+
135
+ describe '.in_file' do
136
+ def parse(filename, parser_type, src = "class A; end")
137
+ parser = Parser::SourceParser.new(parser_type)
138
+ parser.instance_variable_set("@file", filename)
139
+ parser.parse(StringIO.new(src))
140
+ end
141
+
142
+ def create_handler(stmts, parser_type)
143
+ $handler_counter ||= 0
144
+ sklass = parser_type == :ruby ? "Base" : "Legacy::Base"
145
+ instance_eval(<<-eof)
146
+ class ::InFileHandler#{$handler_counter += 1} < Handlers::Ruby::#{sklass}
147
+ handles /^class/
148
+ #{stmts}
149
+ def process; MethodObject.new(:root, :FOO) end
150
+ end
151
+ eof
152
+ end
153
+
154
+ def test_handler(file, stmts, creates = true, parser_type = :ruby)
155
+ Registry.clear
156
+ Registry.at('#FOO').should be_nil
157
+ create_handler(stmts, parser_type)
158
+ parse(file, parser_type)
159
+ Registry.at('#FOO').send(creates ? :should_not : :should, be_nil)
160
+ Handlers::Base.subclasses.delete_if {|k,v| k.to_s =~ /^InFileHandler/ }
161
+ end
162
+
163
+ [:ruby, :ruby18].each do |parser_type|
164
+ next if parser_type == :ruby && LEGACY_PARSER
165
+ describe "Parser type = #{parser_type.inspect}" do
166
+ it "should allow handler to be specific to a file" do
167
+ test_handler 'file_a.rb', 'in_file "file_a.rb"', true, parser_type
168
+ end
169
+
170
+ it "should ignore handler if filename does not match" do
171
+ test_handler 'file_b.rb', 'in_file "file_a.rb"', false, parser_type
172
+ end
173
+
174
+ it "should only test filename part when given a String" do
175
+ test_handler '/path/to/file_a.rb', 'in_file "/to/file_a.rb"', false, parser_type
176
+ end
177
+
178
+ it "should test exact match for entire String" do
179
+ test_handler 'file_a.rb', 'in_file "file"', false, parser_type
180
+ end
181
+
182
+ it "should allow a Regexp as argument and test against full path" do
183
+ test_handler 'file_a.rbx', 'in_file /\.rbx$/', true, parser_type
184
+ test_handler '/path/to/file_a.rbx', 'in_file /\/to\/file_/', true, parser_type
185
+ test_handler '/path/to/file_a.rbx', 'in_file /^\/path/', true, parser_type
186
+ end
187
+
188
+ it "should allow multiple in_file declarations" do
189
+ stmts = 'in_file "x"; in_file /y/; in_file "foo.rb"'
190
+ test_handler 'foo.rb', stmts, true, parser_type
191
+ test_handler 'xyzzy.rb', stmts, true, parser_type
192
+ test_handler 'x', stmts, true, parser_type
193
+ end
194
+ end
195
+ end
196
+ end
197
+ end
@@ -0,0 +1,62 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassConditionHandler" do
4
+ before(:all) { parse_file :class_condition_handler_001, __FILE__ }
5
+
6
+ def verify_method(*names)
7
+ names.each {|name| Registry.at("A##{name}").should_not be_nil }
8
+ names.each {|name| Registry.at("A##{name}not").should be_nil }
9
+ end
10
+
11
+ def no_undoc_error(code)
12
+ lambda { StubbedSourceParser.parse_string(code) }.should_not raise_error
13
+ end
14
+
15
+ it "should parse all unless blocks for complex conditions" do
16
+ verify_method :g
17
+ end
18
+
19
+ it "should not parse conditionals inside methods" do
20
+ verify_method :h
21
+ end
22
+
23
+ it "should only parse then block if condition is literal value `true`" do
24
+ verify_method :p
25
+ end
26
+
27
+ it "should only parse then block if condition is literal integer != 0" do
28
+ verify_method :o
29
+ end
30
+
31
+ it "should invert block to parse for literal condition if it's an unless block" do
32
+ verify_method :e
33
+ end
34
+
35
+ it "should handle conditions such as 'defined? VALUE'" do
36
+ verify_method :j, :k
37
+ end
38
+
39
+ it "should parse all if/elsif blocks for complex conditions" do
40
+ verify_method :a, :b, :c, :d
41
+ end
42
+
43
+ it "should only parse else block if condition is literal value `false`" do
44
+ verify_method :q
45
+ end
46
+
47
+ it "should only parse else block if condition is literal integer == 0" do
48
+ verify_method :n
49
+ end
50
+
51
+ it "should not fail on complex conditions" do
52
+ log.should_not_receive(:warn)
53
+ log.should_not_receive(:error)
54
+ no_undoc_error "if defined?(A) && defined?(B); puts 'hi' end"
55
+ no_undoc_error(<<-eof)
56
+ (<<-TEST) unless defined?(ABCD_MODEL_TEST)
57
+ 'String'
58
+ TEST
59
+ eof
60
+ no_undoc_error "if caller.none? { |l| l =~ %r{lib/rails/generators\\.rb:(\\d+):in `lookup!'$} }; end"
61
+ end
62
+ end
@@ -0,0 +1,246 @@
1
+ require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
+
3
+ describe "YARD::Handlers::Ruby::#{LEGACY_PARSER ? "Legacy::" : ""}ClassHandler" do
4
+ before(:all) { parse_file :class_handler_001, __FILE__ }
5
+
6
+ it "should parse a class block with docstring" do
7
+ P("A").docstring.should == "Docstring"
8
+ end
9
+
10
+ it "should handle complex class names" do
11
+ P("A::B::C").should_not == nil
12
+ end
13
+
14
+ it "should handle the subclassing syntax" do
15
+ P("A::B::C").superclass.should == P(:String)
16
+ P("A::X").superclass.should == Registry.at("A::B::C")
17
+ end
18
+
19
+ it "should interpret class << self as a class level block" do
20
+ P("A.classmethod1").should_not == nil
21
+ end
22
+
23
+ it "should interpret class << ClassName as a class level block in ClassName's namespace" do
24
+ P("A::B::C.Hello").should be_instance_of(CodeObjects::MethodObject)
25
+ end
26
+
27
+ it "should make visibility public when parsing a block" do
28
+ P("A::B::C#method1").visibility.should == :public
29
+ end
30
+
31
+ it "should set superclass type to :class if it is a Proxy" do
32
+ P("A::B::C").superclass.type.should == :class
33
+ end
34
+
35
+ it "should look for a superclass before creating the class if it shares the same name" do
36
+ P('B::A').superclass.should == P('A')
37
+ end
38
+
39
+ it "should handle class definitions in the form ::ClassName" do
40
+ Registry.at("MyRootClass").should_not be_nil
41
+ end
42
+
43
+ it "should handle superclass as a constant-style method (camping style < R /path/)" do
44
+ P('Test1').superclass.should == P(:R)
45
+ P('Test2').superclass.should == P(:R)
46
+ P('Test6').superclass.should == P(:NotDelegateClass)
47
+ end
48
+
49
+ it "should handle superclass with OStruct.new or Struct.new syntax (superclass should be OStruct/Struct)" do
50
+ P('Test3').superclass.should == P(:Struct)
51
+ P('Test4').superclass.should == P(:OStruct)
52
+ end
53
+
54
+ it "should handle DelegateClass(CLASSNAME) superclass syntax" do
55
+ P('Test5').superclass.should == P(:Array)
56
+ end
57
+
58
+ it "should handle a superclass of the same name in the form ::ClassName" do
59
+ P('Q::Logger').superclass.should == P(:Logger)
60
+ P('Q::Foo').superclass.should_not == P('Q::Logger')
61
+ end
62
+
63
+ ["CallMethod('test')", "VSD^#}}", 'not.aclass', 'self'].each do |klass|
64
+ it "should raise an UndocumentableError for invalid class '#{klass}'" do
65
+ with_parser(:ruby18) { undoc_error "class #{klass}; end" }
66
+ end
67
+ end
68
+
69
+ ['@@INVALID', 'hi', '$MYCLASS', 'AnotherClass.new'].each do |klass|
70
+ it "should raise an UndocumentableError for invalid superclass '#{klass}' but it should create the class." do
71
+ YARD::CodeObjects::ClassObject.should_receive(:new).with(Registry.root, 'A')
72
+ with_parser(:ruby18) { undoc_error "class A < #{klass}; end" }
73
+ Registry.at('A').superclass.should == P(:Object)
74
+ end
75
+ end
76
+
77
+ ['not.aclass', 'self', 'AnotherClass.new'].each do |klass|
78
+ it "should raise an UndocumentableError if the constant class reference 'class << SomeConstant' does not point to a valid class name" do
79
+ with_parser(:ruby18) do
80
+ undoc_error <<-eof
81
+ CONST = #{klass}
82
+ class << CONST; end
83
+ eof
84
+ end
85
+ Registry.at(klass).should be_nil
86
+ end
87
+ end
88
+
89
+ it "should document 'class << SomeConstant' by using SomeConstant's value as a reference to the real class name" do
90
+ Registry.at('String.classmethod').should_not be_nil
91
+ end
92
+
93
+ it "should allow class << SomeRubyClass to create the class if it does not exist" do
94
+ Registry.at('Symbol.toString').should_not be_nil
95
+ end
96
+
97
+ it "should document 'class Exception' without running into superclass issues" do
98
+ Parser::SourceParser.parse_string <<-eof
99
+ class Exception
100
+ end
101
+ eof
102
+ Registry.at(:Exception).should_not be_nil
103
+ end
104
+
105
+ it "should document 'class RT < XX::RT' with proper superclass even if XX::RT is a proxy" do
106
+ Registry.at(:RT).should_not be_nil
107
+ Registry.at(:RT).superclass.should == P('XX::RT')
108
+ end
109
+
110
+ it "should not overwrite docstring with an empty one" do
111
+ Registry.at(:Zebra).docstring.should == "Docstring 2"
112
+ end
113
+
114
+ it "should turn 'class Const < Struct.new(:sym)' into class Const with attr :sym" do
115
+ obj = Registry.at("Point")
116
+ obj.should be_kind_of(CodeObjects::ClassObject)
117
+ attrs = obj.attributes[:instance]
118
+ [:x, :y, :z].each do |key|
119
+ attrs.should have_key(key)
120
+ attrs[key][:read].should_not be_nil
121
+ attrs[key][:write].should_not be_nil
122
+ end
123
+ end
124
+
125
+ it "should turn 'class Const < Struct.new('Name', :sym)' into class Const with attr :sym" do
126
+ obj = Registry.at("AnotherPoint")
127
+ obj.should be_kind_of(CodeObjects::ClassObject)
128
+ attrs = obj.attributes[:instance]
129
+ [:a, :b, :c].each do |key|
130
+ attrs.should have_key(key)
131
+ attrs[key][:read].should_not be_nil
132
+ attrs[key][:write].should_not be_nil
133
+ end
134
+
135
+ Registry.at("XPoint").should be_nil
136
+ end
137
+
138
+ it "should create a Struct::Name class when class Const < Struct.new('Name', :sym) is found" do
139
+ obj = Registry.at("Struct::XPoint")
140
+ obj.should_not be_nil
141
+ end
142
+
143
+ it "should attach attribtues to the generated Struct::Name class when Struct.new('Name') is used" do
144
+ obj = Registry.at("Struct::XPoint")
145
+ attrs = obj.attributes[:instance]
146
+ [:a, :b, :c].each do |key|
147
+ attrs.should have_key(key)
148
+ attrs[key][:read].should_not be_nil
149
+ attrs[key][:write].should_not be_nil
150
+ end
151
+ end
152
+
153
+ it "should use @attr to set attribute descriptions on Struct subclasses" do
154
+ obj = Registry.at("DoccedStruct#input")
155
+ obj.docstring.should == "the input stream"
156
+ end
157
+
158
+ it "should use @attr to set attribute types on Struct subclasses" do
159
+ obj = Registry.at("DoccedStruct#someproc")
160
+ obj.should_not be_nil
161
+ obj.tag(:return).should_not be_nil
162
+ obj.tag(:return).types.should == ["Proc", "#call"]
163
+ end
164
+
165
+ it "should default types unspecified by @attr to Object on Struct subclasses" do
166
+ obj = Registry.at("DoccedStruct#mode")
167
+ obj.should_not be_nil
168
+ obj.tag(:return).should_not be_nil
169
+ obj.tag(:return).types.should == ["Object"]
170
+ end
171
+
172
+ it "should create parameters for writers of Struct subclass's attributes" do
173
+ obj = Registry.at("DoccedStruct#input=")
174
+ obj.tags(:param).size.should == 1
175
+ obj.tag(:param).types.should == ["IO"]
176
+ end
177
+
178
+ ["SemiDoccedStruct", "NotAStruct"].each do |struct|
179
+ describe("Attributes on a " + (struct == "NotAStruct" ? "class" : "struct")) do
180
+ it "defines both readers and writers when @attr is used on Structs" do
181
+ obj = Registry.at(struct)
182
+ attrs = obj.attributes[:instance]
183
+ attrs[:first][:read].should_not be_nil
184
+ attrs[:first][:write].should_not be_nil
185
+ end
186
+
187
+ it "defines only a reader when only @attr_reader is used on Structs" do
188
+ obj = Registry.at(struct)
189
+ attrs = obj.attributes[:instance]
190
+ attrs[:second][:read].should_not be_nil
191
+ attrs[:second][:write].should be_nil
192
+ end
193
+
194
+ it "defines only a writer when only @attr_writer is used on Structs" do
195
+ obj = Registry.at(struct)
196
+ attrs = obj.attributes[:instance]
197
+ attrs[:third][:read].should be_nil
198
+ attrs[:third][:write].should_not be_nil
199
+ end
200
+
201
+ it "defines a reader with correct return types when @attr_reader is used on Structs" do
202
+ obj = Registry.at("#{struct}#second")
203
+ obj.tag(:return).types.should == ["Fixnum"]
204
+ end
205
+
206
+ it "defines a writer with correct parameter types when @attr_writer is used on Structs" do
207
+ obj = Registry.at("#{struct}#third=")
208
+ obj.tag(:param).types.should == ["Array"]
209
+ end
210
+
211
+ it "defines a reader and a writer when both @attr_reader and @attr_writer are used" do
212
+ obj = Registry.at(struct)
213
+ attrs = obj.attributes[:instance]
214
+ attrs[:fourth][:read].should_not be_nil
215
+ attrs[:fourth][:write].should_not be_nil
216
+ end
217
+
218
+ it "uses @attr_reader for the getter when both @attr_reader and @attr_writer are given" do
219
+ obj = Registry.at("#{struct}#fourth")
220
+ obj.tag(:return).types.should == ["#read"]
221
+ end
222
+
223
+ it "uses @attr_writer for the setter when both @attr_reader and @attr_writer are given" do
224
+ obj = Registry.at("#{struct}#fourth=")
225
+ obj.tag(:param).types.should == ["IO"]
226
+ end
227
+
228
+ it "extracts text from @attr_reader" do
229
+ Registry.at("#{struct}#fourth").docstring.should == "returns a proc that reads"
230
+ end
231
+
232
+ it "extracts text from @attr_writer" do
233
+ Registry.at("#{struct}#fourth=").docstring.should == "sets the proc that writes stuff"
234
+ end
235
+ end
236
+ end
237
+
238
+ it "should inherit from a regular struct" do
239
+ Registry.at('RegularStruct').superclass.should == P(:Struct)
240
+ Registry.at('RegularStruct2').superclass.should == P(:Struct)
241
+ end
242
+
243
+ it "should handle inheritance from 'self'" do
244
+ Registry.at('Outer1::Inner1').superclass.should == Registry.at('Outer1')
245
+ end
246
+ end