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,84 @@
1
+ # Matches if/unless conditions inside classes and attempts to process only
2
+ # one branch (by evaluating the condition if possible).
3
+ #
4
+ # @example A simple class conditional
5
+ # class Foo
6
+ # if 0
7
+ # # This method is ignored
8
+ # def xyz; end
9
+ # end
10
+ # end
11
+ class YARD::Handlers::Ruby::ClassConditionHandler < YARD::Handlers::Ruby::Base
12
+ handles meta_type(:condition)
13
+ namespace_only
14
+
15
+ process do
16
+ condition = parse_condition
17
+ if condition == nil
18
+ # Parse both blocks if we're unsure of the condition
19
+ parse_then_block
20
+ parse_else_block
21
+ elsif condition
22
+ parse_then_block
23
+ else
24
+ parse_else_block
25
+ end
26
+ end
27
+
28
+ protected
29
+
30
+ # Parses the condition part of the if/unless statement
31
+ #
32
+ # @return [true, false, nil] true if the condition can be definitely
33
+ # parsed to true, false if not, and nil if the condition cannot be
34
+ # parsed with certainty (it's dynamic)
35
+ def parse_condition
36
+ condition = nil
37
+
38
+ # Right now we can handle very simple unary conditions like:
39
+ # if true
40
+ # if false
41
+ # if 0
42
+ # if 100 (not 0)
43
+ # if defined? SOME_CONSTANT
44
+ #
45
+ # The last case will do a lookup in the registry and then one
46
+ # in the Ruby world (using eval).
47
+ case statement.condition.type
48
+ when :int
49
+ condition = statement.condition[0] != "0"
50
+ when :defined
51
+ # defined? keyword used, let's see if we can look up the name
52
+ # in the registry, then we'll try using Ruby's powers. eval() is not
53
+ # *too* dangerous here since code is not actually executed.
54
+ name = statement.condition[0].source
55
+ obj = YARD::Registry.resolve(namespace, name, true)
56
+ begin
57
+ condition = true if obj || Object.instance_eval("defined? #{name}")
58
+ rescue SyntaxError, NameError
59
+ condition = false
60
+ end
61
+ when :var_ref
62
+ var = statement.condition[0]
63
+ if var == s(:kw, "true")
64
+ condition = true
65
+ elsif var == s(:kw, "false")
66
+ condition = false
67
+ end
68
+ end
69
+
70
+ # Invert an unless condition
71
+ if statement.type == :unless || statement.type == :unless_mod
72
+ condition = !condition if condition != nil
73
+ end
74
+ condition
75
+ end
76
+
77
+ def parse_then_block
78
+ parse_block(statement.then_block)
79
+ end
80
+
81
+ def parse_else_block
82
+ parse_block(statement.else_block) if statement.else_block
83
+ end
84
+ end
@@ -0,0 +1,122 @@
1
+ # Handles class declarations
2
+ class YARD::Handlers::Ruby::ClassHandler < YARD::Handlers::Ruby::Base
3
+ include YARD::Handlers::Ruby::StructHandlerMethods
4
+ handles :class, :sclass
5
+ namespace_only
6
+
7
+ process do
8
+ if statement.type == :class
9
+ classname = statement[0].source
10
+ superclass = parse_superclass(statement[1])
11
+ if superclass == "Struct"
12
+ is_a_struct = true
13
+ superclass = struct_superclass_name(statement[1]) # refine the superclass if possible
14
+ create_struct_superclass(superclass, statement[1])
15
+ end
16
+ undocsuper = statement[1] && superclass.nil?
17
+ klass = register ClassObject.new(namespace, classname) do |o|
18
+ o.superclass = superclass if superclass
19
+ o.superclass.type = :class if o.superclass.is_a?(Proxy)
20
+ end
21
+ if is_a_struct
22
+ parse_struct_superclass(klass, statement[1])
23
+ elsif klass
24
+ create_attributes(klass, members_from_tags(klass))
25
+ end
26
+ parse_block(statement[2], :namespace => klass)
27
+
28
+ if undocsuper
29
+ raise YARD::Parser::UndocumentableError, 'superclass (class was added without superclass)'
30
+ end
31
+ elsif statement.type == :sclass
32
+ if statement[0] == s(:var_ref, s(:kw, "self"))
33
+ parse_block(statement[1], :namespace => namespace, :scope => :class)
34
+ else
35
+ classname = statement[0].source
36
+ proxy = Proxy.new(namespace, classname)
37
+
38
+ # Allow constants to reference class names
39
+ if ConstantObject === proxy
40
+ if proxy.value =~ /\A#{NAMESPACEMATCH}\Z/
41
+ proxy = Proxy.new(namespace, proxy.value)
42
+ else
43
+ raise YARD::Parser::UndocumentableError, "constant class reference '#{classname}'"
44
+ end
45
+ end
46
+
47
+ if classname[0,1] =~ /[A-Z]/
48
+ register ClassObject.new(namespace, classname) if Proxy === proxy
49
+ parse_block(statement[1], :namespace => proxy, :scope => :class)
50
+ else
51
+ raise YARD::Parser::UndocumentableError, "class '#{classname}'"
52
+ end
53
+ end
54
+ else
55
+ sig_end = (statement[1] ? statement[1].source_end : statement[0].source_end) - statement.source_start
56
+ raise YARD::Parser::UndocumentableError, "class: #{statement.source[0..sig_end]}"
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ # Extract the parameters from the Struct.new AST node, returning them as a list
63
+ # of strings
64
+ #
65
+ # @param [MethodCallNode] superclass the AST node for the Struct.new call
66
+ # @return [Array<String>] the member names to generate methods for
67
+ def extract_parameters(superclass)
68
+ members = superclass.parameters.select {|x| x && x.type == :symbol_literal}
69
+ members.map! {|x| x.source.strip[1..-1]}
70
+ members
71
+ end
72
+
73
+ def create_struct_superclass(superclass, superclass_def)
74
+ return if superclass == "Struct"
75
+ the_super = register ClassObject.new(P("Struct"), superclass[8..-1]) do |o|
76
+ o.superclass = "Struct"
77
+ end
78
+ parse_struct_superclass(the_super, superclass_def)
79
+ the_super
80
+ end
81
+
82
+ def struct_superclass_name(superclass)
83
+ if superclass.call?
84
+ first = superclass.parameters.first
85
+ if first.type == :string_literal && first[0].type == :string_content && first[0].size == 1
86
+ return "Struct::#{first[0][0][0]}"
87
+ end
88
+ end
89
+ "Struct"
90
+ end
91
+
92
+ def parse_struct_superclass(klass, superclass)
93
+ return unless superclass.call? && superclass.parameters
94
+ members = extract_parameters(superclass)
95
+ create_attributes(klass, members)
96
+ end
97
+
98
+ def parse_superclass(superclass)
99
+ return nil unless superclass
100
+
101
+ case superclass.type
102
+ when :var_ref
103
+ return namespace.path if superclass.first == s(:kw, "self")
104
+ return superclass.source if superclass.first.type == :const
105
+ when :const, :const_ref, :const_path_ref, :top_const_ref
106
+ return superclass.source
107
+ when :fcall, :command
108
+ methname = superclass.method_name.source
109
+ if methname == "DelegateClass"
110
+ return superclass.parameters.first.source
111
+ elsif superclass.method_name.type == :const
112
+ return methname
113
+ end
114
+ when :call, :command_call
115
+ cname = superclass.namespace.source
116
+ if cname =~ /^O?Struct$/ && superclass.method_name(true) == :new
117
+ return cname
118
+ end
119
+ end
120
+ nil
121
+ end
122
+ end
@@ -0,0 +1,16 @@
1
+ # Handles a class variable (@@variable)
2
+ class YARD::Handlers::Ruby::ClassVariableHandler < YARD::Handlers::Ruby::Base
3
+ handles :assign
4
+ namespace_only
5
+
6
+ process do
7
+ if statement[0].type == :var_field && statement[0][0].type == :cvar
8
+ name = statement[0][0][0]
9
+ value = statement[1].source
10
+ register ClassVariableObject.new(namespace, name) do |o|
11
+ o.source = statement
12
+ o.value = value
13
+ end
14
+ end
15
+ end
16
+ end
@@ -0,0 +1,45 @@
1
+ # Handles any constant assignment
2
+ class YARD::Handlers::Ruby::ConstantHandler < YARD::Handlers::Ruby::Base
3
+ include YARD::Handlers::Ruby::StructHandlerMethods
4
+ handles :assign
5
+ namespace_only
6
+
7
+ process do
8
+ if statement[1].call? && statement[1][0][0] == s(:const, "Struct") &&
9
+ statement[1][2] == s(:ident, "new")
10
+ process_structclass(statement)
11
+ elsif statement[0].type == :var_field && statement[0][0].type == :const
12
+ process_constant(statement)
13
+ end
14
+ end
15
+
16
+ private
17
+
18
+ def process_constant(statement)
19
+ name = statement[0][0][0]
20
+ value = statement[1].source
21
+ register ConstantObject.new(namespace, name) {|o| o.source = statement; o.value = value.strip }
22
+ end
23
+
24
+ def process_structclass(statement)
25
+ lhs = statement[0][0]
26
+ if lhs.type == :const
27
+ klass = create_class(lhs[0], P(:Struct))
28
+ create_attributes(klass, extract_parameters(statement[1]))
29
+ else
30
+ raise YARD::Parser::UndocumentableError, "Struct assignment to #{statement[0].source}"
31
+ end
32
+ end
33
+
34
+ # Extract the parameters from the Struct.new AST node, returning them as a list
35
+ # of strings
36
+ #
37
+ # @param [MethodCallNode] superclass the AST node for the Struct.new call
38
+ # @return [Array<String>] the member names to generate methods for
39
+ def extract_parameters(superclass)
40
+ return [] unless superclass.parameters
41
+ members = superclass.parameters.select {|x| x && x.type == :symbol_literal}
42
+ members.map! {|x| x.source.strip[1..-1]}
43
+ members
44
+ end
45
+ end
@@ -0,0 +1,26 @@
1
+ # Handles 'raise' calls inside methods
2
+ class YARD::Handlers::Ruby::ExceptionHandler < YARD::Handlers::Ruby::Base
3
+ handles method_call(:raise)
4
+
5
+ process do
6
+ return unless owner.is_a?(MethodObject) # Only methods yield
7
+ return if [:command_call, :call].include? statement.type
8
+ return if owner.has_tag?(:raise)
9
+
10
+ klass = nil
11
+ if statement.call?
12
+ params = statement.parameters(false)
13
+ if params.size == 1
14
+ if params.first.ref? && params.first.first.type != :ident
15
+ klass = params.first.source
16
+ elsif params.first.call? && params.first.method_name(true) == :new
17
+ klass = params.first.namespace.source
18
+ end
19
+ elsif params.size > 1
20
+ klass = params.first.source
21
+ end
22
+ end
23
+
24
+ owner.docstring.add_tag YARD::Tags::Tag.new(:raise, '', klass) if klass
25
+ end
26
+ end
@@ -0,0 +1,21 @@
1
+ # Handles 'extend' call to include modules into the class scope of another
2
+ # @see MixinHandler
3
+ class YARD::Handlers::Ruby::ExtendHandler < YARD::Handlers::Ruby::MixinHandler
4
+ handles method_call(:extend)
5
+ namespace_only
6
+
7
+ def scope; :class end
8
+
9
+ private
10
+
11
+ def process_mixin(mixin)
12
+ if mixin == s(:var_ref, s(:kw, "self"))
13
+ if namespace.is_a?(ClassObject)
14
+ raise UndocumentableError, "extend(self) statement on class"
15
+ end
16
+ namespace.mixins(scope) << namespace
17
+ else
18
+ super
19
+ end
20
+ end
21
+ end
@@ -0,0 +1,37 @@
1
+ # (see Ruby::AliasHandler)
2
+ class YARD::Handlers::Ruby::Legacy::AliasHandler < YARD::Handlers::Ruby::Legacy::Base
3
+ handles /\Aalias(_method)?(\s|\()/
4
+ namespace_only
5
+
6
+ process do
7
+ if TkALIAS === statement.tokens.first
8
+ tokens = statement.tokens[2..-1].to_s.split(/\s+/)
9
+ names = [tokens[0], tokens[1]].map {|t| t.gsub(/^:(['"])?(.+?)\1?$|^(:)(.+)/, '\2') }
10
+ else
11
+ names = tokval_list(statement.tokens[2..-1], :attr)
12
+ end
13
+ raise YARD::Parser::UndocumentableError, statement.tokens.first.text if names.size != 2
14
+
15
+ new_meth, old_meth = names[0].to_sym, names[1].to_sym
16
+ old_obj = namespace.child(:name => old_meth, :scope => scope)
17
+ new_obj = register MethodObject.new(namespace, new_meth, scope) do |o|
18
+ o.visibility = visibility
19
+ o.scope = scope
20
+ o.add_file(parser.file, statement.tokens.first.line_no, statement.comments)
21
+ o.docstring = statement.comments
22
+ end
23
+
24
+ if old_obj
25
+ new_obj.signature = old_obj.signature
26
+ new_obj.source = old_obj.source
27
+ new_obj.docstring = old_obj.docstring + YARD::Docstring.new(statement.comments)
28
+ new_obj.docstring.line_range = statement.comments_range
29
+ new_obj.docstring.hash_flag = statement.comments_hash_flag
30
+ new_obj.docstring.object = new_obj
31
+ else
32
+ new_obj.signature = "def #{new_meth}" # this is all we know.
33
+ end
34
+
35
+ namespace.aliases[new_obj] = old_meth
36
+ end
37
+ end
@@ -0,0 +1,61 @@
1
+ # (see Ruby::AttributeHandler)
2
+ class YARD::Handlers::Ruby::Legacy::AttributeHandler < YARD::Handlers::Ruby::Legacy::Base
3
+ handles /\Aattr(?:_(?:reader|writer|accessor))?(?:\s|\()/
4
+ namespace_only
5
+
6
+ process do
7
+ begin
8
+ attr_type = statement.tokens.first.text.to_sym
9
+ symbols = tokval_list statement.tokens[2..-1], :attr, TkTRUE, TkFALSE
10
+ read, write = true, false
11
+ rescue SyntaxError
12
+ raise YARD::Parser::UndocumentableError, attr_type
13
+ end
14
+
15
+ # Change read/write based on attr_reader/writer/accessor
16
+ case attr_type
17
+ when :attr
18
+ # In the case of 'attr', the second parameter (if given) isn't a symbol.
19
+ write = symbols.pop if symbols.size == 2
20
+ when :attr_accessor
21
+ write = true
22
+ when :attr_reader
23
+ # change nothing
24
+ when :attr_writer
25
+ read, write = false, true
26
+ end
27
+
28
+ # Add all attributes
29
+ symbols.each do |name|
30
+ namespace.attributes[scope][name] = SymbolHash[:read => nil, :write => nil]
31
+
32
+ # Show their methods as well
33
+ {:read => name, :write => "#{name}="}.each do |type, meth|
34
+ if (type == :read ? read : write)
35
+ namespace.attributes[scope][name][type] = MethodObject.new(namespace, meth, scope) do |o|
36
+ if type == :write
37
+ o.parameters = [['value', nil]]
38
+ src = "def #{meth}(value)"
39
+ full_src = "#{src}\n @#{name} = value\nend"
40
+ doc = "Sets the attribute #{name}\n@param value the value to set the attribute #{name} to."
41
+ else
42
+ src = "def #{meth}"
43
+ full_src = "#{src}\n @#{name}\nend"
44
+ doc = "Returns the value of attribute #{name}"
45
+ end
46
+ o.source ||= full_src
47
+ o.signature ||= src
48
+ o.docstring = statement.comments.to_s.empty? ? doc : statement.comments
49
+ o.visibility = visibility
50
+ end
51
+
52
+ # Register the objects explicitly
53
+ register namespace.attributes[scope][name][type]
54
+ elsif obj = namespace.children.find {|o| o.name == meth.to_sym && o.scope == scope }
55
+ # register an existing method as attribute
56
+ namespace.attributes[scope][name][type] = obj
57
+ end
58
+ end
59
+ end
60
+ end
61
+ end
@@ -0,0 +1,228 @@
1
+ module YARD
2
+ module Handlers
3
+ module Ruby::Legacy
4
+ # This is the base handler for the legacy parser. To implement a legacy
5
+ # handler, subclass this class.
6
+ #
7
+ # @abstract (see Ruby::Base)
8
+ class Base < Handlers::Base
9
+ # For tokens like TkDEF, TkCLASS, etc.
10
+ include YARD::Parser::Ruby::Legacy::RubyToken
11
+
12
+ # @return [Boolean] whether or not a {Parser::Ruby::Legacy::Statement} object should be handled
13
+ # by this handler.
14
+ def self.handles?(stmt)
15
+ handlers.any? do |a_handler|
16
+ case a_handler
17
+ when String
18
+ stmt.tokens.first.text == a_handler
19
+ when Regexp
20
+ stmt.tokens.to_s =~ a_handler
21
+ else
22
+ a_handler == stmt.tokens.first.class
23
+ end
24
+ end
25
+ end
26
+
27
+ protected
28
+
29
+ # Parses a statement's block with a set of state values. If the
30
+ # statement has no block, nothing happens. A description of state
31
+ # values can be found at {Handlers::Base#push_state}
32
+ #
33
+ # @param [Hash] opts State options
34
+ # @option opts (see Handlers::Base#push_state)
35
+ # @see Handlers::Base#push_state #push_state
36
+ def parse_block(opts = {})
37
+ push_state(opts) do
38
+ if statement.block
39
+ blk = Parser::Ruby::Legacy::StatementList.new(statement.block)
40
+ parser.process(blk)
41
+ end
42
+ end
43
+ end
44
+
45
+ def call_params
46
+ tokens = statement.tokens[1..-1]
47
+ tokval_list(tokens, :attr, :identifier, TkId).map do |value|
48
+ value.to_s
49
+ end
50
+ end
51
+
52
+ def caller_method
53
+ if statement.tokens.first.is_a?(TkIDENTIFIER)
54
+ statement.tokens.first.text
55
+ else
56
+ nil
57
+ end
58
+ end
59
+
60
+ private
61
+
62
+ # The string value of a token. For example, the return value for the symbol :sym
63
+ # would be :sym. The return value for a string +"foo #{ bar}"+ would be the literal
64
+ # +"foo #{ bar}"+ without any interpolation. The return value of the identifier
65
+ # 'test' would be the same value: 'test'. Here is a list of common types and
66
+ # their return values:
67
+ #
68
+ # @example
69
+ # tokval(TokenList.new('"foo"').first) => "foo"
70
+ # tokval(TokenList.new(':foo').first) => :foo
71
+ # tokval(TokenList.new('CONSTANT').first, RubyToken::TkId) => "CONSTANT"
72
+ # tokval(TokenList.new('identifier').first, RubyToken::TkId) => "identifier"
73
+ # tokval(TokenList.new('3.25').first) => 3.25
74
+ # tokval(TokenList.new('/xyz/i').first) => /xyz/i
75
+ #
76
+ # @param [Token] token The token of the class
77
+ #
78
+ # @param [Array<Class<Token>>, Symbol] accepted_types
79
+ # The allowed token types that this token can be. Defaults to [{TkVal}].
80
+ # A list of types would be, for example, [+TkSTRING+, +TkSYMBOL+], to return
81
+ # the token's value if it is either of those types. If +TkVal+ is accepted,
82
+ # +TkNode+ is also accepted.
83
+ #
84
+ # Certain symbol keys are allowed to specify multiple types in one fell swoop.
85
+ # These symbols are:
86
+ # :string => +TkSTRING+, +TkDSTRING+, +TkDXSTRING+ and +TkXSTRING+
87
+ # :attr => +TkSYMBOL+ and +TkSTRING+
88
+ # :identifier => +TkIDENTIFIER, +TkFID+ and +TkGVAR+.
89
+ # :number => +TkFLOAT+, +TkINTEGER+
90
+ #
91
+ # @return [Object] if the token is one of the accepted types, in its real value form.
92
+ # It should be noted that identifiers and constants are kept in String form.
93
+ # @return [nil] if the token is not any of the specified accepted types
94
+ def tokval(token, *accepted_types)
95
+ accepted_types = [TkVal] if accepted_types.empty?
96
+ accepted_types.push(TkNode) if accepted_types.include? TkVal
97
+
98
+ if accepted_types.include?(:attr)
99
+ accepted_types.push(TkSTRING, TkSYMBOL)
100
+ end
101
+
102
+ if accepted_types.include?(:string)
103
+ accepted_types.push(TkSTRING, TkDSTRING, TkXSTRING, TkDXSTRING)
104
+ end
105
+
106
+ if accepted_types.include?(:identifier)
107
+ accepted_types.push(TkIDENTIFIER, TkFID, TkGVAR)
108
+ end
109
+
110
+ if accepted_types.include?(:number)
111
+ accepted_types.push(TkFLOAT, TkINTEGER)
112
+ end
113
+
114
+ return unless accepted_types.any? {|t| t === token }
115
+
116
+ case token
117
+ when TkSTRING, TkDSTRING, TkXSTRING, TkDXSTRING
118
+ token.text[1..-2]
119
+ when TkSYMBOL
120
+ token.text[1..-1].to_sym
121
+ when TkFLOAT
122
+ token.text.to_f
123
+ when TkINTEGER
124
+ token.text.to_i
125
+ when TkREGEXP
126
+ token.text =~ /\A\/(.+)\/([^\/])\Z/
127
+ Regexp.new($1, $2)
128
+ when TkTRUE
129
+ true
130
+ when TkFALSE
131
+ false
132
+ when TkNIL
133
+ nil
134
+ else
135
+ token.text
136
+ end
137
+ end
138
+
139
+ # Returns a list of symbols or string values from a statement.
140
+ # The list must be a valid comma delimited list, and values
141
+ # will only be returned to the end of the list only.
142
+ #
143
+ # Example:
144
+ # attr_accessor :a, 'b', :c, :d => ['a', 'b', 'c', 'd']
145
+ # attr_accessor 'a', UNACCEPTED_TYPE, 'c' => ['a', 'c']
146
+ #
147
+ # The tokval list of a {Parser::Ruby::Legacy::TokenList} of the above
148
+ # code would be the {#tokval} value of :a, 'b',
149
+ # :c and :d.
150
+ #
151
+ # It should also be noted that this function stops immediately at
152
+ # any ruby keyword encountered:
153
+ # "attr_accessor :a, :b, :c if x == 5" => ['a', 'b', 'c']
154
+ #
155
+ # @param [TokenList] tokenlist The list of tokens to process.
156
+ # @param [Array<Class<Token>>] accepted_types passed to {#tokval}
157
+ # @return [Array<String>] the list of tokvalues in the list.
158
+ # @return [Array<EMPTY>] if there are no symbols or Strings in the list
159
+ # @see #tokval
160
+ def tokval_list(tokenlist, *accepted_types)
161
+ return [] unless tokenlist
162
+ out = [[]]
163
+ parencount, beforeparen = 0, 0
164
+ needcomma = false
165
+ seen_comma = true
166
+ tokenlist.each do |token|
167
+ tokval = accepted_types == [:all] ? token.text : tokval(token, *accepted_types)
168
+ parencond = !out.last.empty? && tokval != nil
169
+ #puts "#{seen_comma.inspect} #{parencount} #{token.class.class_name} #{out.inspect}"
170
+ case token
171
+ when TkCOMMA
172
+ if parencount == 0
173
+ out << [] unless out.last.empty?
174
+ needcomma = false
175
+ seen_comma = true
176
+ else
177
+ out.last << token.text if parencond
178
+ end
179
+ when TkLPAREN
180
+ if seen_comma
181
+ beforeparen += 1
182
+ else
183
+ parencount += 1
184
+ out.last << token.text if parencond
185
+ end
186
+ when TkRPAREN
187
+ if beforeparen > 0
188
+ beforeparen -= 1
189
+ else
190
+ out.last << token.text if parencount > 0 && tokval != nil
191
+ parencount -= 1
192
+ end
193
+ when TkLBRACE, TkLBRACK, TkDO
194
+ parencount += 1
195
+ out.last << token.text if tokval != nil
196
+ when TkRBRACE, TkRBRACK, TkEND
197
+ out.last << token.text if tokval != nil
198
+ parencount -= 1
199
+ else
200
+ break if TkKW === token && ![TkTRUE, TkFALSE, TkSUPER, TkSELF, TkNIL].include?(token.class)
201
+
202
+ seen_comma = false unless TkWhitespace === token
203
+ if parencount == 0
204
+ next if needcomma
205
+ next if TkWhitespace === token
206
+ if tokval != nil
207
+ out.last << tokval
208
+ else
209
+ out.last.clear
210
+ needcomma = true
211
+ end
212
+ elsif parencond
213
+ needcomma = true
214
+ out.last << token.text
215
+ end
216
+ end
217
+
218
+ if beforeparen == 0 && parencount < 0
219
+ break
220
+ end
221
+ end
222
+ # Flatten any single element lists
223
+ out.map {|e| e.empty? ? nil : (e.size == 1 ? e.pop : e.flatten.join) }.compact
224
+ end
225
+ end
226
+ end
227
+ end
228
+ end