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,87 @@
1
+ require File.dirname(__FILE__) + '/../spec_helper'
2
+
3
+ class YARD::CLI::YRI
4
+ public :optparse, :find_object, :cache_object
5
+ end
6
+
7
+ describe YARD::CLI::Yardoc do
8
+ before do
9
+ @yri = YARD::CLI::YRI.new
10
+ Registry.stub!(:load)
11
+ end
12
+
13
+ describe '#find_object' do
14
+ it "should use cache if available" do
15
+ @yri.stub!(:cache_object)
16
+ File.should_receive(:exist?).with('.yardoc').and_return(false)
17
+ File.should_receive(:exist?).with('bar.yardoc').and_return(true)
18
+ Registry.should_receive(:load).with('bar.yardoc')
19
+ Registry.should_receive(:at).with('Foo').and_return('OBJ')
20
+ @yri.instance_variable_set("@cache", {'Foo' => 'bar.yardoc'})
21
+ @yri.find_object('Foo').should == 'OBJ'
22
+ end
23
+
24
+ it "should never use cache ahead of current directory's .yardoc" do
25
+ @yri.stub!(:cache_object)
26
+ File.should_receive(:exist?).with('.yardoc').and_return(true)
27
+ Registry.should_receive(:load).with('.yardoc')
28
+ Registry.should_receive(:at).with('Foo').and_return('OBJ')
29
+ @yri.instance_variable_set("@cache", {'Foo' => 'bar.yardoc'})
30
+ @yri.find_object('Foo').should == 'OBJ'
31
+ @yri.instance_variable_get("@search_paths")[0].should == '.yardoc'
32
+ end
33
+ end
34
+
35
+ describe '#cache_object' do
36
+ it "should skip caching for Registry.yardoc_file" do
37
+ File.should_not_receive(:open).with(CLI::YRI::CACHE_FILE, 'w')
38
+ @yri.cache_object('Foo', Registry.yardoc_file)
39
+ end
40
+ end
41
+
42
+ describe '#initialize' do
43
+ it "should load search paths" do
44
+ path = %r{/\.yard/yri_search_paths$}
45
+ File.should_receive(:file?).with(%r{/\.yard/yri_cache$}).and_return(false)
46
+ File.should_receive(:file?).with(path).and_return(true)
47
+ File.should_receive(:readlines).with(path).and_return(%w(line1 line2))
48
+ @yri = YARD::CLI::YRI.new
49
+ spaths = @yri.instance_variable_get("@search_paths")
50
+ spaths.should include('line1')
51
+ spaths.should include('line2')
52
+ end
53
+
54
+ it "should use DEFAULT_SEARCH_PATHS prior to other paths" do
55
+ YARD::CLI::YRI::DEFAULT_SEARCH_PATHS.push('foo', 'bar')
56
+ path = %r{/\.yard/yri_search_paths$}
57
+ File.should_receive(:file?).with(%r{/\.yard/yri_cache$}).and_return(false)
58
+ File.should_receive(:file?).with(path).and_return(true)
59
+ File.should_receive(:readlines).with(path).and_return(%w(line1 line2))
60
+ @yri = YARD::CLI::YRI.new
61
+ spaths = @yri.instance_variable_get("@search_paths")
62
+ spaths[0,4].should == %w(foo bar line1 line2)
63
+ YARD::CLI::YRI::DEFAULT_SEARCH_PATHS.replace([])
64
+ end
65
+ end
66
+
67
+ describe '#run' do
68
+ it "should search for objects and print their documentation" do
69
+ obj = YARD::CodeObjects::ClassObject.new(:root, 'Foo')
70
+ @yri.should_receive(:print_object).with(obj)
71
+ @yri.run('Foo')
72
+ Registry.clear
73
+ end unless ENV['CI'] # FIXME make this work on Travis CI
74
+
75
+ it "should print usage if no object is provided" do
76
+ @yri.should_receive(:print_usage)
77
+ @yri.should_receive(:exit).with(1)
78
+ @yri.run('')
79
+ end
80
+
81
+ it "should print no documentation exists for object if object is not found" do
82
+ STDERR.should_receive(:puts).with("No documentation for `Foo'")
83
+ @yri.should_receive(:exit).with(1)
84
+ @yri.run('Foo')
85
+ end
86
+ end
87
+ end
@@ -0,0 +1,334 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe YARD::CodeObjects::Base do
4
+ before { Registry.clear }
5
+
6
+ # Fix this
7
+ # it "should not allow empty object name" do
8
+ # lambda { Base.new(:root, '') }.should raise_error(ArgumentError)
9
+ # end
10
+
11
+ it "should return a unique instance of any registered object" do
12
+ obj = ClassObject.new(:root, :Me)
13
+ obj2 = ClassObject.new(:root, :Me)
14
+ obj.object_id.should == obj2.object_id
15
+
16
+ obj3 = ModuleObject.new(obj, :Too)
17
+ obj4 = CodeObjects::Base.new(obj3, :Hello)
18
+ obj4.parent = obj
19
+
20
+ obj5 = CodeObjects::Base.new(obj3, :hello)
21
+ obj4.object_id.should_not == obj5.object_id
22
+ end
23
+
24
+ it "should create a new object if cached object is not of the same class" do
25
+ ConstantObject.new(:root, "MYMODULE").should be_instance_of(ConstantObject)
26
+ ModuleObject.new(:root, "MYMODULE").should be_instance_of(ModuleObject)
27
+ ClassObject.new(:root, "MYMODULE").should be_instance_of(ClassObject)
28
+ YARD::Registry.at("MYMODULE").should be_instance_of(ClassObject)
29
+ end
30
+
31
+ it "should recall the block if #new is called on an existing object" do
32
+ o1 = ClassObject.new(:root, :Me) do |o|
33
+ o.docstring = "DOCSTRING"
34
+ end
35
+
36
+ o2 = ClassObject.new(:root, :Me) do |o|
37
+ o.docstring = "NOT_DOCSTRING"
38
+ end
39
+
40
+ o1.object_id.should == o2.object_id
41
+ o1.docstring.should == "NOT_DOCSTRING"
42
+ o2.docstring.should == "NOT_DOCSTRING"
43
+ end
44
+
45
+ it "should allow complex name and convert that to namespace" do
46
+ obj = CodeObjects::Base.new(nil, "A::B")
47
+ obj.namespace.path.should == "A"
48
+ obj.name.should == :B
49
+ end
50
+
51
+ it "should allow namespace to be nil and not register in the Registry" do
52
+ obj = CodeObjects::Base.new(nil, :Me)
53
+ obj.namespace.should == nil
54
+ Registry.at(:Me).should == nil
55
+ end
56
+
57
+ it "should allow namespace to be a NamespaceObject" do
58
+ ns = ModuleObject.new(:root, :Name)
59
+ obj = CodeObjects::Base.new(ns, :Me)
60
+ obj.namespace.should == ns
61
+ end
62
+
63
+ it "should allow :root to be the shorthand namespace of `Registry.root`" do
64
+ obj = CodeObjects::Base.new(:root, :Me)
65
+ obj.namespace.should == Registry.root
66
+ end
67
+
68
+ it "should not allow any other types as namespace" do
69
+ lambda { CodeObjects::Base.new("ROOT!", :Me) }.should raise_error(ArgumentError)
70
+ end
71
+
72
+ it "should register itself in the registry if namespace is supplied" do
73
+ obj = ModuleObject.new(:root, :Me)
74
+ Registry.at(:Me).should == obj
75
+
76
+ obj2 = ModuleObject.new(obj, :Too)
77
+ Registry.at(:"Me::Too").should == obj2
78
+ end
79
+
80
+ it "should set any attribute using #[]=" do
81
+ obj = ModuleObject.new(:root, :YARD)
82
+ obj[:some_attr] = "hello"
83
+ obj[:some_attr].should == "hello"
84
+ end
85
+
86
+ it "#[]= should use the accessor method if available" do
87
+ obj = CodeObjects::Base.new(:root, :YARD)
88
+ obj[:source] = "hello"
89
+ obj.source.should == "hello"
90
+ obj.source = "unhello"
91
+ obj[:source].should == "unhello"
92
+ end
93
+
94
+ it "should set attributes via attr= through method_missing" do
95
+ obj = CodeObjects::Base.new(:root, :YARD)
96
+ obj.something = 2
97
+ obj.something.should == 2
98
+ obj[:something].should == 2
99
+ end
100
+
101
+ it "should exist in the parent's #children after creation" do
102
+ obj = ModuleObject.new(:root, :YARD)
103
+ obj2 = MethodObject.new(obj, :testing)
104
+ obj.children.should include(obj2)
105
+ end
106
+
107
+ it "should properly re-indent source starting from 0 indentation" do
108
+ obj = CodeObjects::Base.new(nil, :test)
109
+ obj.source = <<-eof
110
+ def mymethod
111
+ if x == 2 &&
112
+ 5 == 5
113
+ 3
114
+ else
115
+ 1
116
+ end
117
+ end
118
+ eof
119
+ obj.source.should == "def mymethod\n if x == 2 &&\n 5 == 5\n 3 \n else\n 1\n end\nend"
120
+
121
+ Registry.clear
122
+ Parser::SourceParser.parse_string <<-eof
123
+ def key?(key)
124
+ super(key)
125
+ end
126
+ eof
127
+ Registry.at('#key?').source.should == "def key?(key)\n super(key)\nend"
128
+
129
+ Registry.clear
130
+ Parser::SourceParser.parse_string <<-eof
131
+ def key?(key)
132
+ if x == 2
133
+ puts key
134
+ else
135
+ exit
136
+ end
137
+ end
138
+ eof
139
+ Registry.at('#key?').source.should == "def key?(key)\n if x == 2\n puts key\n else\n exit\n end\nend"
140
+ end
141
+
142
+ it "should not add newlines to source when parsing sub blocks" do
143
+ Parser::SourceParser.parse_string <<-eof
144
+ module XYZ
145
+ module ZYX
146
+ class ABC
147
+ def msg
148
+ hello_world
149
+ end
150
+ end
151
+ end
152
+ end
153
+ eof
154
+ Registry.at('XYZ::ZYX::ABC#msg').source.should == "def msg\n hello_world\nend"
155
+ end
156
+
157
+ it "should handle source for 'def x; end'" do
158
+ Registry.clear
159
+ Parser::SourceParser.parse_string "def x; 2 end"
160
+ Registry.at('#x').source.should == "def x; 2 end"
161
+ end
162
+
163
+ it "should set file and line information" do
164
+ Parser::SourceParser.parse_string <<-eof
165
+ class X; end
166
+ eof
167
+ Registry.at(:X).file.should == '(stdin)'
168
+ Registry.at(:X).line.should == 1
169
+ end
170
+
171
+ it "should maintain all file associations when objects are defined multiple times in one file" do
172
+ Parser::SourceParser.parse_string <<-eof
173
+ class X; end
174
+ class X; end
175
+ class X; end
176
+ eof
177
+
178
+ Registry.at(:X).file.should == '(stdin)'
179
+ Registry.at(:X).line.should == 1
180
+ Registry.at(:X).files.should == [['(stdin)', 1], ['(stdin)', 2], ['(stdin)', 3]]
181
+ end
182
+
183
+ it "should maintain all file associations when objects are defined multiple times in multiple files" do
184
+ 3.times do |i|
185
+ File.stub!(:read_binary).and_return("class X; end")
186
+ Parser::SourceParser.new.parse("file#{i+1}.rb")
187
+ end
188
+
189
+ Registry.at(:X).file.should == 'file1.rb'
190
+ Registry.at(:X).line.should == 1
191
+ Registry.at(:X).files.should == [['file1.rb', 1], ['file2.rb', 1], ['file3.rb', 1]]
192
+ end
193
+
194
+ it "should prioritize the definition with a docstring when returning #file" do
195
+ Parser::SourceParser.parse_string <<-eof
196
+ class X; end
197
+ class X; end
198
+ # docstring
199
+ class X; end
200
+ eof
201
+
202
+ Registry.at(:X).file.should == '(stdin)'
203
+ Registry.at(:X).line.should == 4
204
+ Registry.at(:X).files.should == [['(stdin)', 4], ['(stdin)', 1], ['(stdin)', 2]]
205
+ end
206
+
207
+ describe '#format' do
208
+ it "should send to Templates.render" do
209
+ object = MethodObject.new(:root, :method)
210
+ Templates::Engine.should_receive(:render).with(:x => 1, :object => object)
211
+ object.format :x => 1
212
+ end
213
+ end
214
+
215
+ describe '#source_type' do
216
+ it "should default source_type to :ruby" do
217
+ object = MethodObject.new(:root, :method)
218
+ object.source_type.should == :ruby
219
+ end
220
+ end
221
+
222
+ describe '#relative_path' do
223
+ it "should accept a string" do
224
+ YARD.parse_string "module A; class B; end; class C; end; end"
225
+ Registry.at('A::B').relative_path(Registry.at('A::C')).should ==
226
+ Registry.at('A::B').relative_path('A::C')
227
+ end
228
+
229
+ it "should return full class name when objects share a common class prefix" do
230
+ YARD.parse_string "module User; end; module UserManager; end"
231
+ Registry.at('User').relative_path('UserManager').should == 'UserManager'
232
+ Registry.at('User').relative_path(Registry.at('UserManager')).should == 'UserManager'
233
+ end
234
+
235
+ it "should return the relative path when they share a common namespace" do
236
+ YARD.parse_string "module A; class B; end; class C; end; end"
237
+ Registry.at('A::B').relative_path(Registry.at('A::C')).should == 'C'
238
+ YARD.parse_string "module Foo; module A; end; module B; def foo; end end end"
239
+ Registry.at('Foo::A').relative_path(Registry.at('Foo::B#foo')).should == 'B#foo'
240
+ end
241
+
242
+ it "should return the full path if they don't have a common namespace" do
243
+ YARD.parse_string "module A; class B; end; end; module D; class C; end; end"
244
+ Registry.at('A::B').relative_path('D::C').should == 'D::C'
245
+ YARD.parse_string 'module C::B::C; module Apple; end; module Ant; end end'
246
+ Registry.at('C::B::C::Apple').relative_path('C::B::C::Ant').should == 'Ant'
247
+ YARD.parse_string 'module OMG::ABC; end; class Object; end'
248
+ Registry.at('OMG::ABC').relative_path('Object').should == "Object"
249
+ YARD.parse_string("class YARD::Config; MYCONST = 1; end")
250
+ Registry.at('YARD::Config').relative_path('YARD::Config::MYCONST').should == "MYCONST"
251
+ end
252
+
253
+ it "should return a relative path for class methods" do
254
+ YARD.parse_string "module A; def self.b; end; def self.c; end; end"
255
+ Registry.at('A.b').relative_path('A.c').should == 'c'
256
+ Registry.at('A').relative_path('A.c').should == 'c'
257
+ end
258
+
259
+ it "should return a relative path for instance methods" do
260
+ YARD.parse_string "module A; def b; end; def c; end; end"
261
+ Registry.at('A#b').relative_path('A#c').should == '#c'
262
+ Registry.at('A').relative_path('A#c').should == '#c'
263
+ end
264
+
265
+ it "should return full path if relative path is to parent namespace" do
266
+ YARD.parse_string "module A; module B; end end"
267
+ Registry.at('A::B').relative_path('A').should == 'A'
268
+ end
269
+
270
+ it "should only return name for relative path to self" do
271
+ YARD.parse_string("class A::B::C; def foo; end end")
272
+ Registry.at('A::B::C').relative_path('A::B::C').should == 'C'
273
+ Registry.at('A::B::C#foo').relative_path('A::B::C#foo').should == '#foo'
274
+ end
275
+ end
276
+
277
+ describe '#docstring=' do
278
+ it "should convert string into Docstring when #docstring= is set" do
279
+ o = ClassObject.new(:root, :Me)
280
+ o.docstring = "DOCSTRING"
281
+ o.docstring.should be_instance_of(Docstring)
282
+ end
283
+
284
+ it "should set docstring to docstring of other object if docstring is '(see Path)'" do
285
+ ClassObject.new(:root, :AnotherObject) {|x| x.docstring = "FOO" }
286
+ o = ClassObject.new(:root, :Me)
287
+ o.docstring = '(see AnotherObject)'
288
+ o.docstring.should == "FOO"
289
+ end
290
+
291
+ it "should not copy docstring mid-docstring" do
292
+ doc = "Hello.\n(see file.rb)\nmore documentation"
293
+ o = ClassObject.new(:root, :Me)
294
+ o.docstring = doc
295
+ o.docstring.should == doc
296
+ end
297
+
298
+ it "should allow extra docstring after (see Path)" do
299
+ ClassObject.new(:root, :AnotherObject) {|x| x.docstring = "FOO" }
300
+ o = ClassObject.new(:root, :Me)
301
+ o.docstring = "(see AnotherObject)\n\nEXTRA\n@api private"
302
+ o.docstring.should == "FOO\n\nEXTRA"
303
+ o.docstring.should have_tag(:api)
304
+ end
305
+ end
306
+
307
+ describe '#docstring' do
308
+ it "should return empty string if docstring was '(see Path)' and Path is not resolved" do
309
+ o = ClassObject.new(:root, :Me)
310
+ o.docstring = '(see AnotherObject)'
311
+ o.docstring.should == ""
312
+ end
313
+
314
+ it "should return docstring when object is resolved" do
315
+ o = ClassObject.new(:root, :Me)
316
+ o.docstring = '(see AnotherObject)'
317
+ o.docstring.should == ""
318
+ ClassObject.new(:root, :AnotherObject) {|x| x.docstring = "FOO" }
319
+ o.docstring.should == "FOO"
320
+ end
321
+ end
322
+
323
+ describe '#add_file' do
324
+ it "should only add a file/line combination once" do
325
+ o = ClassObject.new(:root, :Me)
326
+ o.add_file('filename', 12)
327
+ o.files.should == [['filename', 12]]
328
+ o.add_file('filename', 12)
329
+ o.files.should == [['filename', 12]]
330
+ o.add_file('filename', 40) # different line
331
+ o.files.should == [['filename', 12], ['filename', 40]]
332
+ end
333
+ end
334
+ end
@@ -0,0 +1,225 @@
1
+ require File.dirname(__FILE__) + '/spec_helper'
2
+
3
+ describe YARD::CodeObjects::ClassObject do
4
+ describe '#inheritance_tree' do
5
+ before(:all) do
6
+ Registry.clear
7
+ @mixin = ModuleObject.new(:root, :SomeMixin)
8
+ @mixin2 = ModuleObject.new(:root, :SomeMixin2)
9
+ @mixin2.instance_mixins << @mixin
10
+ @mixin3 = ModuleObject.new(:root, :SomeMixin3)
11
+ @mixin4 = ModuleObject.new(:root, :SomeMixin4)
12
+ @mixin2.instance_mixins << @mixin3
13
+ @superyard = ClassObject.new(:root, :SuperYard)
14
+ @superyard.superclass = P("String")
15
+ @superyard.instance_mixins << @mixin2
16
+ @superyard.class_mixins << @mixin4
17
+ @yard = ClassObject.new(:root, :YARD)
18
+ @yard.superclass = @superyard
19
+ @yard.instance_mixins << @mixin
20
+ end
21
+
22
+ it "should show the proper inheritance tree" do
23
+ @yard.inheritance_tree.should == [@yard, @superyard, P(:String)]
24
+ end
25
+
26
+ it "should show proper inheritance tree when mixins are included" do
27
+ @yard.inheritance_tree(true).should == [@yard, @mixin, @superyard, @mixin4, @mixin2, @mixin3, P(:String)]
28
+ end
29
+
30
+ it "should not modify the object's mixin list when mixins are included" do
31
+ @class1 = ClassObject.new(:root, :A)
32
+ @class2 = ClassObject.new(:root, :B)
33
+ @class2.superclass = @class1
34
+
35
+ @class2.inheritance_tree(true)
36
+ @class2.mixins.should == []
37
+ end
38
+
39
+ it "should list class mixins in inheritance tree" do
40
+ mod = ModuleObject.new(:root, :ClassMethods)
41
+ klass = ClassObject.new(:root, :ReceivingClass)
42
+ klass.class_mixins << mod
43
+ klass.inheritance_tree(true).should == [klass, mod]
44
+ end
45
+ end
46
+
47
+ describe "#meths / #inherited_meths" do
48
+ before(:all) do
49
+ Registry.clear
50
+
51
+ YARD.parse_string <<-eof
52
+ class SuperYard < String
53
+ def foo; end
54
+ def foo2; end
55
+ def bar; end
56
+ def middle; end
57
+ protected :foo2
58
+ private
59
+ def self.bar; end
60
+ end
61
+
62
+ class MiddleYard < SuperYard
63
+ def middle; end
64
+ end
65
+
66
+ class YARD < MiddleYard
67
+ def mymethod; end
68
+ def bar; end
69
+ end
70
+
71
+ module IncludedYard
72
+ def foo; end
73
+ end
74
+
75
+ class FinalYard < SuperYard
76
+ include IncludedYard
77
+ end
78
+ eof
79
+ end
80
+
81
+ it "should show inherited methods by default" do
82
+ meths = P(:YARD).meths
83
+ meths.should include(P("YARD#mymethod"))
84
+ meths.should include(P("SuperYard#foo"))
85
+ meths.should include(P("SuperYard#foo2"))
86
+ meths.should include(P("SuperYard.bar"))
87
+ end
88
+
89
+ it "should allow :inherited to be set to false" do
90
+ meths = P(:YARD).meths(:inherited => false)
91
+ meths.should include(P("YARD#mymethod"))
92
+ meths.should_not include(P("SuperYard#foo"))
93
+ meths.should_not include(P("SuperYard#foo2"))
94
+ meths.should_not include(P("SuperYard.bar"))
95
+ end
96
+
97
+ it "should not show overridden methods" do
98
+ meths = P(:YARD).meths
99
+ meths.should include(P("YARD#bar"))
100
+ meths.should_not include(P("SuperYard#bar"))
101
+
102
+ meths = P(:YARD).inherited_meths
103
+ meths.should_not include(P("YARD#bar"))
104
+ meths.should_not include(P("YARD#mymethod"))
105
+ meths.should include(P("SuperYard#foo"))
106
+ meths.should include(P("SuperYard#foo2"))
107
+ meths.should include(P("SuperYard.bar"))
108
+ end
109
+
110
+ it "should not show inherited methods overridden by other subclasses" do
111
+ meths = P(:YARD).inherited_meths
112
+ meths.should include(P('MiddleYard#middle'))
113
+ meths.should_not include(P('SuperYard#middle'))
114
+ end
115
+
116
+ it "should show mixed in methods before superclass method" do
117
+ meths = P(:FinalYard).meths
118
+ meths.should include(P('IncludedYard#foo'))
119
+ meths.should_not include(P('SuperYard#foo'))
120
+ end
121
+ end
122
+
123
+ describe "#constants / #inherited_constants" do
124
+ before(:all) do
125
+ Registry.clear
126
+
127
+ Parser::SourceParser.parse_string <<-eof
128
+ class YARD
129
+ CONST1 = 1
130
+ CONST2 = "hello"
131
+ CONST4 = 0
132
+ end
133
+
134
+ class SUPERYARD < YARD
135
+ CONST4 = 5
136
+ end
137
+
138
+ class SubYard < SUPERYARD
139
+ CONST2 = "hi"
140
+ CONST3 = "foo"
141
+ end
142
+ eof
143
+ end
144
+
145
+ it "should list inherited constants by default" do
146
+ consts = P(:SubYard).constants
147
+ consts.should include(P("YARD::CONST1"))
148
+ consts.should include(P("SubYard::CONST3"))
149
+
150
+ consts = P(:SubYard).inherited_constants
151
+ consts.should include(P("YARD::CONST1"))
152
+ consts.should_not include(P("YARD::CONST2"))
153
+ consts.should_not include(P("SubYard::CONST2"))
154
+ consts.should_not include(P("SubYard::CONST3"))
155
+ end
156
+
157
+ it "should not list inherited constants if turned off" do
158
+ consts = P(:SubYard).constants(:inherited => false)
159
+ consts.should_not include(P("YARD::CONST1"))
160
+ consts.should include(P("SubYard::CONST3"))
161
+ end
162
+
163
+ it "should not include an inherited constant if it is overridden by the object" do
164
+ consts = P(:SubYard).constants
165
+ consts.should include(P("SubYard::CONST2"))
166
+ consts.should_not include(P("YARD::CONST2"))
167
+ end
168
+
169
+ it "should not include an inherited constant if it is overridden by another subclass" do
170
+ consts = P(:SubYard).inherited_constants
171
+ consts.should include(P("SUPERYARD::CONST4"))
172
+ consts.should_not include(P("YARD::CONST4"))
173
+ end
174
+
175
+ it "should not set a superclass on BasicObject class" do
176
+ o = ClassObject.new(:root, :Object)
177
+ o.superclass.should == P(:BasicObject)
178
+ end
179
+
180
+ it "should set superclass of Object to BasicObject" do
181
+ o = ClassObject.new(:root, :BasicObject)
182
+ o.superclass.should be_nil
183
+ end
184
+
185
+ it "should raise ArgumentError if superclass == self" do
186
+ lambda do
187
+ o = ClassObject.new(:root, :Object) do |o|
188
+ o.superclass = :Object
189
+ end
190
+ end.should raise_error(ArgumentError)
191
+ end
192
+
193
+ it "should tell the world if it is an exception class" do
194
+ o = ClassObject.new(:root, :MyClass)
195
+ o2 = ClassObject.new(:root, :OtherClass)
196
+ o2.superclass = :SystemCallError
197
+ o3 = ClassObject.new(:root, :StandardError)
198
+ o3.superclass = :Object
199
+ o4 = ClassObject.new(:root, :Object)
200
+
201
+ o.superclass = :Object
202
+ o.is_exception?.should == false
203
+
204
+ o.superclass = :Exception
205
+ o.is_exception?.should == true
206
+
207
+ o.superclass = :NoMethodError
208
+ o.is_exception?.should == true
209
+
210
+ o.superclass = o2
211
+ o.is_exception?.should == true
212
+
213
+ o.superclass = o3
214
+ o.is_exception?.should == true
215
+ end
216
+
217
+ it "should not raise ArgumentError if superclass is proxy in different namespace" do
218
+ lambda do
219
+ o = ClassObject.new(:root, :X) do |o|
220
+ o.superclass = P('OTHER::X')
221
+ end
222
+ end.should_not raise_error(ArgumentError)
223
+ end
224
+ end
225
+ end