challah 1.0.0.beta2 → 1.0.0.beta3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (968) hide show
  1. checksums.yaml +4 -4
  2. data/lib/challah/authorization.rb +13 -6
  3. data/lib/challah/user/providers.rb +3 -1
  4. data/lib/challah/version.rb +1 -1
  5. data/test/authorization_test.rb +15 -0
  6. data/test/user_test.rb +2 -1
  7. data/vendor/bundle/build_info/highline-1.6.18.info +1 -0
  8. data/vendor/bundle/build_info/mime-types-1.23.info +1 -0
  9. data/vendor/bundle/build_info/minitest-4.7.4.info +1 -0
  10. data/vendor/bundle/build_info/multi_json-1.7.3.info +1 -0
  11. data/vendor/bundle/build_info/rdiscount-2.0.7.3.info +1 -0
  12. data/vendor/bundle/build_info/shoulda-3.5.0.info +1 -0
  13. data/vendor/bundle/build_info/shoulda-matchers-2.1.0.info +1 -0
  14. data/vendor/bundle/build_info/tilt-1.4.1.info +1 -0
  15. data/vendor/bundle/build_info/yard-0.8.6.1.info +1 -0
  16. data/vendor/bundle/cache/highline-1.6.18.gem +0 -0
  17. data/vendor/bundle/cache/mime-types-1.23.gem +0 -0
  18. data/vendor/bundle/cache/minitest-4.7.4.gem +0 -0
  19. data/vendor/bundle/cache/multi_json-1.7.3.gem +0 -0
  20. data/vendor/bundle/cache/rdiscount-2.0.7.3.gem +0 -0
  21. data/vendor/bundle/cache/shoulda-3.5.0.gem +0 -0
  22. data/vendor/bundle/cache/shoulda-matchers-2.1.0.gem +0 -0
  23. data/vendor/bundle/cache/tilt-1.4.1.gem +0 -0
  24. data/vendor/bundle/cache/yard-0.8.6.1.gem +0 -0
  25. data/vendor/bundle/gems/highline-1.6.18/AUTHORS +3 -0
  26. data/vendor/bundle/gems/highline-1.6.18/CHANGELOG +342 -0
  27. data/vendor/bundle/gems/highline-1.6.18/COPYING +340 -0
  28. data/vendor/bundle/gems/highline-1.6.18/INSTALL +55 -0
  29. data/vendor/bundle/gems/highline-1.6.18/LICENSE +7 -0
  30. data/vendor/bundle/gems/highline-1.6.18/README.rdoc +63 -0
  31. data/vendor/bundle/gems/highline-1.6.18/Rakefile +50 -0
  32. data/vendor/bundle/gems/highline-1.6.18/TODO +6 -0
  33. data/vendor/bundle/gems/highline-1.6.18/examples/ansi_colors.rb +38 -0
  34. data/vendor/bundle/gems/highline-1.6.18/examples/asking_for_arrays.rb +18 -0
  35. data/vendor/bundle/gems/highline-1.6.18/examples/basic_usage.rb +75 -0
  36. data/vendor/bundle/gems/highline-1.6.18/examples/color_scheme.rb +32 -0
  37. data/vendor/bundle/gems/highline-1.6.18/examples/get_character.rb +12 -0
  38. data/vendor/bundle/gems/highline-1.6.18/examples/limit.rb +12 -0
  39. data/vendor/bundle/gems/highline-1.6.18/examples/menus.rb +65 -0
  40. data/vendor/bundle/gems/highline-1.6.18/examples/overwrite.rb +19 -0
  41. data/vendor/bundle/gems/highline-1.6.18/examples/page_and_wrap.rb +322 -0
  42. data/vendor/bundle/gems/highline-1.6.18/examples/password.rb +7 -0
  43. data/vendor/bundle/gems/highline-1.6.18/examples/repeat_entry.rb +21 -0
  44. data/vendor/bundle/gems/highline-1.6.18/examples/trapping_eof.rb +22 -0
  45. data/vendor/bundle/gems/highline-1.6.18/examples/using_readline.rb +17 -0
  46. data/vendor/bundle/gems/highline-1.6.18/highline.gemspec +37 -0
  47. data/vendor/bundle/gems/highline-1.6.18/lib/highline/color_scheme.rb +134 -0
  48. data/vendor/bundle/gems/highline-1.6.18/lib/highline/compatibility.rb +16 -0
  49. data/vendor/bundle/gems/highline-1.6.18/lib/highline/import.rb +41 -0
  50. data/vendor/bundle/gems/highline-1.6.18/lib/highline/menu.rb +398 -0
  51. data/vendor/bundle/gems/highline-1.6.18/lib/highline/question.rb +475 -0
  52. data/vendor/bundle/gems/highline-1.6.18/lib/highline/simulate.rb +48 -0
  53. data/vendor/bundle/gems/highline-1.6.18/lib/highline/string_extensions.rb +131 -0
  54. data/vendor/bundle/gems/highline-1.6.18/lib/highline/style.rb +181 -0
  55. data/vendor/bundle/gems/highline-1.6.18/lib/highline/system_extensions.rb +218 -0
  56. data/vendor/bundle/gems/highline-1.6.18/lib/highline.rb +1012 -0
  57. data/vendor/bundle/gems/highline-1.6.18/setup.rb +1360 -0
  58. data/vendor/bundle/gems/highline-1.6.18/site/highline.css +65 -0
  59. data/vendor/bundle/gems/highline-1.6.18/site/images/logo.png +0 -0
  60. data/vendor/bundle/gems/highline-1.6.18/site/index.html +58 -0
  61. data/vendor/bundle/gems/highline-1.6.18/test/string_methods.rb +32 -0
  62. data/vendor/bundle/gems/highline-1.6.18/test/tc_color_scheme.rb +96 -0
  63. data/vendor/bundle/gems/highline-1.6.18/test/tc_highline.rb +1123 -0
  64. data/vendor/bundle/gems/highline-1.6.18/test/tc_import.rb +52 -0
  65. data/vendor/bundle/gems/highline-1.6.18/test/tc_menu.rb +439 -0
  66. data/vendor/bundle/gems/highline-1.6.18/test/tc_string_extension.rb +20 -0
  67. data/vendor/bundle/gems/highline-1.6.18/test/tc_string_highline.rb +38 -0
  68. data/vendor/bundle/gems/highline-1.6.18/test/tc_style.rb +567 -0
  69. data/vendor/bundle/gems/highline-1.6.18/test/ts_all.rb +16 -0
  70. data/vendor/bundle/gems/mime-types-1.23/Contributing.rdoc +68 -0
  71. data/vendor/bundle/gems/mime-types-1.23/Gemfile +21 -0
  72. data/vendor/bundle/gems/mime-types-1.23/History.rdoc +215 -0
  73. data/vendor/bundle/gems/mime-types-1.23/Licence.rdoc +37 -0
  74. data/vendor/bundle/gems/mime-types-1.23/Manifest.txt +40 -0
  75. data/vendor/bundle/gems/mime-types-1.23/README.rdoc +63 -0
  76. data/vendor/bundle/gems/mime-types-1.23/Rakefile +206 -0
  77. data/vendor/bundle/gems/mime-types-1.23/docs/COPYING.txt +339 -0
  78. data/vendor/bundle/gems/mime-types-1.23/docs/artistic.txt +127 -0
  79. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application +1002 -0
  80. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application.mac +3 -0
  81. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application.nonstandard +131 -0
  82. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/application.obsolete +41 -0
  83. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/audio +138 -0
  84. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/audio.nonstandard +11 -0
  85. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/audio.obsolete +1 -0
  86. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/image +46 -0
  87. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/image.nonstandard +20 -0
  88. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/image.obsolete +5 -0
  89. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/message +18 -0
  90. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/message.obsolete +2 -0
  91. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/model +15 -0
  92. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/multipart +14 -0
  93. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/multipart.nonstandard +1 -0
  94. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/multipart.obsolete +7 -0
  95. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/other.nonstandard +8 -0
  96. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text +61 -0
  97. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text.nonstandard +7 -0
  98. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text.obsolete +8 -0
  99. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/text.vms +1 -0
  100. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/video +73 -0
  101. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/video.nonstandard +16 -0
  102. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types/video.obsolete +3 -0
  103. data/vendor/bundle/gems/mime-types-1.23/lib/mime/types.rb +881 -0
  104. data/vendor/bundle/gems/mime-types-1.23/lib/mime-types.rb +3 -0
  105. data/vendor/bundle/gems/mime-types-1.23/test/test_mime_type.rb +319 -0
  106. data/vendor/bundle/gems/mime-types-1.23/test/test_mime_types.rb +119 -0
  107. data/vendor/bundle/gems/minitest-4.7.4/History.txt +796 -0
  108. data/vendor/bundle/gems/minitest-4.7.4/Manifest.txt +20 -0
  109. data/vendor/bundle/gems/minitest-4.7.4/README.txt +457 -0
  110. data/vendor/bundle/gems/minitest-4.7.4/Rakefile +94 -0
  111. data/vendor/bundle/gems/minitest-4.7.4/design_rationale.rb +52 -0
  112. data/vendor/bundle/gems/minitest-4.7.4/lib/hoe/minitest.rb +22 -0
  113. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/autorun.rb +12 -0
  114. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/benchmark.rb +416 -0
  115. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/hell.rb +13 -0
  116. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/mock.rb +193 -0
  117. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/parallel_each.rb +73 -0
  118. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/pride.rb +112 -0
  119. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/spec.rb +545 -0
  120. data/vendor/bundle/gems/minitest-4.7.4/lib/minitest/unit.rb +1415 -0
  121. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/metametameta.rb +67 -0
  122. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_benchmark.rb +128 -0
  123. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_mock.rb +403 -0
  124. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_spec.rb +804 -0
  125. data/vendor/bundle/gems/minitest-4.7.4/test/minitest/test_minitest_unit.rb +1860 -0
  126. data/vendor/bundle/gems/multi_json-1.7.3/CHANGELOG.md +147 -0
  127. data/vendor/bundle/gems/multi_json-1.7.3/CONTRIBUTING.md +46 -0
  128. data/vendor/bundle/gems/multi_json-1.7.3/Gemfile +31 -0
  129. data/vendor/bundle/gems/multi_json-1.7.3/LICENSE.md +20 -0
  130. data/vendor/bundle/gems/multi_json-1.7.3/README.md +109 -0
  131. data/vendor/bundle/gems/multi_json-1.7.3/Rakefile +12 -0
  132. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapter.rb +43 -0
  133. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/gson.rb +19 -0
  134. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/jr_jackson.rb +19 -0
  135. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/json_common.rb +35 -0
  136. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/json_gem.rb +15 -0
  137. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/json_pure.rb +15 -0
  138. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/nsjsonserialization.rb +34 -0
  139. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/oj.rb +28 -0
  140. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/ok_json.rb +22 -0
  141. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/adapters/yajl.rb +19 -0
  142. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/convertible_hash_keys.rb +43 -0
  143. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/options.rb +39 -0
  144. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/vendor/okjson.rb +600 -0
  145. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json/version.rb +3 -0
  146. data/vendor/bundle/gems/multi_json-1.7.3/lib/multi_json.rb +154 -0
  147. data/vendor/bundle/gems/multi_json-1.7.3/multi_json.gemspec +22 -0
  148. data/vendor/bundle/gems/multi_json-1.7.3/spec/adapter_shared_example.rb +235 -0
  149. data/vendor/bundle/gems/multi_json-1.7.3/spec/has_options.rb +74 -0
  150. data/vendor/bundle/gems/multi_json-1.7.3/spec/helper.rb +32 -0
  151. data/vendor/bundle/gems/multi_json-1.7.3/spec/json_common_shared_example.rb +30 -0
  152. data/vendor/bundle/gems/multi_json-1.7.3/spec/multi_json_spec.rb +224 -0
  153. data/vendor/bundle/gems/rdiscount-2.0.7.3/BUILDING +142 -0
  154. data/vendor/bundle/gems/rdiscount-2.0.7.3/COPYING +52 -0
  155. data/vendor/bundle/gems/rdiscount-2.0.7.3/README.markdown +72 -0
  156. data/vendor/bundle/gems/rdiscount-2.0.7.3/Rakefile +218 -0
  157. data/vendor/bundle/gems/rdiscount-2.0.7.3/bin/rdiscount +13 -0
  158. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/Csio.c +61 -0
  159. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/Csio.o +0 -0
  160. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/Makefile +237 -0
  161. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/VERSION +1 -0
  162. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/amalloc.c +111 -0
  163. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/amalloc.h +29 -0
  164. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/amalloc.o +0 -0
  165. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/basename.c +43 -0
  166. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/basename.o +0 -0
  167. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/config.h +25 -0
  168. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/css.c +85 -0
  169. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/css.o +0 -0
  170. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/cstring.h +77 -0
  171. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/docheader.c +49 -0
  172. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/docheader.o +0 -0
  173. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/dumptree.c +152 -0
  174. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/dumptree.o +0 -0
  175. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/emmatch.c +188 -0
  176. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/emmatch.o +0 -0
  177. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/extconf.rb +37 -0
  178. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/flags.c +84 -0
  179. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/flags.o +0 -0
  180. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/generate.c +1717 -0
  181. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/generate.o +0 -0
  182. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/html5.c +24 -0
  183. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/html5.o +0 -0
  184. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/markdown.c +1227 -0
  185. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/markdown.h +181 -0
  186. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/markdown.o +0 -0
  187. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkdio.c +354 -0
  188. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkdio.h +108 -0
  189. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkdio.o +0 -0
  190. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/mkmf.log +191 -0
  191. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/rdiscount.bundle +0 -0
  192. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/rdiscount.c +147 -0
  193. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/rdiscount.o +0 -0
  194. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/resource.c +157 -0
  195. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/resource.o +0 -0
  196. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/ruby-config.h +10 -0
  197. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/setup.c +47 -0
  198. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/setup.o +0 -0
  199. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/siteconf20130510-69347-e72tzr.rb +6 -0
  200. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/tags.c +123 -0
  201. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/tags.h +19 -0
  202. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/tags.o +0 -0
  203. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/toc.c +103 -0
  204. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/toc.o +0 -0
  205. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/version.c +22 -0
  206. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/version.o +0 -0
  207. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xml.c +82 -0
  208. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xml.o +0 -0
  209. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xmlpage.c +48 -0
  210. data/vendor/bundle/gems/rdiscount-2.0.7.3/ext/xmlpage.o +0 -0
  211. data/vendor/bundle/gems/rdiscount-2.0.7.3/lib/markdown.rb +1 -0
  212. data/vendor/bundle/gems/rdiscount-2.0.7.3/lib/rdiscount.bundle +0 -0
  213. data/vendor/bundle/gems/rdiscount-2.0.7.3/lib/rdiscount.rb +100 -0
  214. data/vendor/bundle/gems/rdiscount-2.0.7.3/man/markdown.7 +1020 -0
  215. data/vendor/bundle/gems/rdiscount-2.0.7.3/man/rdiscount.1 +22 -0
  216. data/vendor/bundle/gems/rdiscount-2.0.7.3/man/rdiscount.1.ronn +24 -0
  217. data/vendor/bundle/gems/rdiscount-2.0.7.3/rdiscount.gemspec +65 -0
  218. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/benchmark.rb +56 -0
  219. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/benchmark.txt +306 -0
  220. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/markdown_test.rb +158 -0
  221. data/vendor/bundle/gems/rdiscount-2.0.7.3/test/rdiscount_test.rb +132 -0
  222. data/vendor/bundle/gems/shoulda-3.5.0/Appraisals +15 -0
  223. data/vendor/bundle/gems/shoulda-3.5.0/CONTRIBUTING.md +38 -0
  224. data/vendor/bundle/gems/shoulda-3.5.0/Gemfile +3 -0
  225. data/vendor/bundle/gems/shoulda-3.5.0/MIT-LICENSE +22 -0
  226. data/vendor/bundle/gems/shoulda-3.5.0/README.md +103 -0
  227. data/vendor/bundle/gems/shoulda-3.5.0/Rakefile +17 -0
  228. data/vendor/bundle/gems/shoulda-3.5.0/features/rails_integration.feature +87 -0
  229. data/vendor/bundle/gems/shoulda-3.5.0/features/step_definitions/rails_steps.rb +77 -0
  230. data/vendor/bundle/gems/shoulda-3.5.0/features/support/env.rb +14 -0
  231. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.0.gemfile +7 -0
  232. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.0.gemfile.lock +127 -0
  233. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.1.gemfile +9 -0
  234. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.1.gemfile.lock +148 -0
  235. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.2.gemfile +9 -0
  236. data/vendor/bundle/gems/shoulda-3.5.0/gemfiles/3.2.gemfile.lock +146 -0
  237. data/vendor/bundle/gems/shoulda-3.5.0/lib/shoulda/version.rb +3 -0
  238. data/vendor/bundle/gems/shoulda-3.5.0/lib/shoulda.rb +3 -0
  239. data/vendor/bundle/gems/shoulda-3.5.0/shoulda.gemspec +30 -0
  240. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Appraisals +17 -0
  241. data/vendor/bundle/gems/shoulda-matchers-2.1.0/CONTRIBUTING.md +41 -0
  242. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Gemfile +15 -0
  243. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Gemfile.lock +148 -0
  244. data/vendor/bundle/gems/shoulda-matchers-2.1.0/MIT-LICENSE +22 -0
  245. data/vendor/bundle/gems/shoulda-matchers-2.1.0/NEWS.md +181 -0
  246. data/vendor/bundle/gems/shoulda-matchers-2.1.0/README.md +93 -0
  247. data/vendor/bundle/gems/shoulda-matchers-2.1.0/Rakefile +28 -0
  248. data/vendor/bundle/gems/shoulda-matchers-2.1.0/features/rails_integration.feature +114 -0
  249. data/vendor/bundle/gems/shoulda-matchers-2.1.0/features/step_definitions/rails_steps.rb +130 -0
  250. data/vendor/bundle/gems/shoulda-matchers-2.1.0/features/support/env.rb +5 -0
  251. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.0.gemfile +14 -0
  252. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.0.gemfile.lock +139 -0
  253. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.1.gemfile +16 -0
  254. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.1.gemfile.lock +160 -0
  255. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.2.gemfile +16 -0
  256. data/vendor/bundle/gems/shoulda-matchers-2.1.0/gemfiles/3.2.gemfile.lock +158 -0
  257. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/filter_param_matcher.rb +46 -0
  258. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/redirect_to_matcher.rb +65 -0
  259. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/render_template_matcher.rb +61 -0
  260. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/render_with_layout_matcher.rb +94 -0
  261. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/respond_with_matcher.rb +83 -0
  262. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/route_matcher.rb +96 -0
  263. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/set_session_matcher.rb +105 -0
  264. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller/set_the_flash_matcher.rb +147 -0
  265. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/action_controller.rb +35 -0
  266. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/allow_mass_assignment_of_matcher.rb +113 -0
  267. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/allow_value_matcher.rb +174 -0
  268. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/disallow_value_matcher.rb +42 -0
  269. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/ensure_exclusion_of_matcher.rb +94 -0
  270. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/ensure_inclusion_of_matcher.rb +156 -0
  271. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/ensure_length_of_matcher.rb +176 -0
  272. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/errors.rb +7 -0
  273. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/exception_message_finder.rb +58 -0
  274. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/helpers.rb +45 -0
  275. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/odd_even_number_matcher.rb +47 -0
  276. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/only_integer_matcher.rb +37 -0
  277. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_acceptance_of_matcher.rb +41 -0
  278. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_confirmation_of_matcher.rb +65 -0
  279. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_numericality_of_matcher.rb +115 -0
  280. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_presence_of_matcher.rb +64 -0
  281. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validate_uniqueness_of_matcher.rb +221 -0
  282. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validation_matcher.rb +89 -0
  283. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model/validation_message_finder.rb +70 -0
  284. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_model.rb +50 -0
  285. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/accept_nested_attributes_for_matcher.rb +140 -0
  286. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/association_matcher.rb +368 -0
  287. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/have_db_column_matcher.rb +195 -0
  288. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/have_db_index_matcher.rb +111 -0
  289. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/have_readonly_attribute_matcher.rb +55 -0
  290. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record/serialize_matcher.rb +112 -0
  291. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/active_record.rb +25 -0
  292. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/assertion_error.rb +16 -0
  293. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/integrations/rspec.rb +20 -0
  294. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/integrations/test_unit.rb +42 -0
  295. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers/version.rb +5 -0
  296. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda/matchers.rb +8 -0
  297. data/vendor/bundle/gems/shoulda-matchers-2.1.0/lib/shoulda-matchers.rb +1 -0
  298. data/vendor/bundle/gems/shoulda-matchers-2.1.0/shoulda-matchers.gemspec +33 -0
  299. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/active_model/validate_uniqueness_of_matcher_spec.rb +195 -0
  300. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/filter_param_matcher_spec.rb +22 -0
  301. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/redirect_to_matcher_spec.rb +42 -0
  302. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/render_template_matcher_spec.rb +78 -0
  303. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/render_with_layout_matcher_spec.rb +58 -0
  304. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/respond_with_matcher_spec.rb +31 -0
  305. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/route_matcher_spec.rb +65 -0
  306. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/set_session_matcher_spec.rb +51 -0
  307. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/action_controller/set_the_flash_matcher_spec.rb +153 -0
  308. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/allow_mass_assignment_of_matcher_spec.rb +111 -0
  309. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/allow_value_matcher_spec.rb +146 -0
  310. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/disallow_value_matcher_spec.rb +43 -0
  311. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/ensure_exclusion_of_matcher_spec.rb +95 -0
  312. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/ensure_inclusion_of_matcher_spec.rb +194 -0
  313. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/ensure_length_of_matcher_spec.rb +159 -0
  314. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/exception_message_finder_spec.rb +112 -0
  315. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/helpers_spec.rb +158 -0
  316. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/odd_even_number_matcher_spec.rb +93 -0
  317. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/only_integer_matcher_spec.rb +52 -0
  318. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_acceptance_of_matcher_spec.rb +41 -0
  319. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_confirmation_of_matcher_spec.rb +47 -0
  320. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_numericality_of_matcher_spec.rb +133 -0
  321. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_presence_of_matcher_spec.rb +143 -0
  322. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validate_uniqueness_of_matcher_spec.rb +212 -0
  323. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_model/validation_message_finder_spec.rb +119 -0
  324. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/accept_nested_attributes_for_matcher_spec.rb +106 -0
  325. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/association_matcher_spec.rb +606 -0
  326. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/have_db_column_matcher_spec.rb +111 -0
  327. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/have_db_index_matcher_spec.rb +78 -0
  328. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/have_readonly_attributes_matcher_spec.rb +41 -0
  329. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/shoulda/matchers/active_record/serialize_matcher_spec.rb +86 -0
  330. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/spec_helper.rb +28 -0
  331. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/active_model_versions.rb +13 -0
  332. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/activemodel_helpers.rb +19 -0
  333. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/class_builder.rb +42 -0
  334. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/controller_builder.rb +80 -0
  335. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/i18n_faker.rb +10 -0
  336. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/mailer_builder.rb +10 -0
  337. data/vendor/bundle/gems/shoulda-matchers-2.1.0/spec/support/model_builder.rb +77 -0
  338. data/vendor/bundle/gems/tilt-1.4.1/CHANGELOG.md +44 -0
  339. data/vendor/bundle/gems/tilt-1.4.1/COPYING +18 -0
  340. data/vendor/bundle/gems/tilt-1.4.1/Gemfile +32 -0
  341. data/vendor/bundle/gems/tilt-1.4.1/HACKING +16 -0
  342. data/vendor/bundle/gems/tilt-1.4.1/README.md +232 -0
  343. data/vendor/bundle/gems/tilt-1.4.1/Rakefile +104 -0
  344. data/vendor/bundle/gems/tilt-1.4.1/TEMPLATES.md +516 -0
  345. data/vendor/bundle/gems/tilt-1.4.1/bin/tilt +112 -0
  346. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/asciidoc.rb +34 -0
  347. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/builder.rb +40 -0
  348. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/coffee.rb +54 -0
  349. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/css.rb +80 -0
  350. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/csv.rb +71 -0
  351. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/erb.rb +110 -0
  352. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/etanni.rb +27 -0
  353. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/haml.rb +64 -0
  354. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/liquid.rb +45 -0
  355. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/markaby.rb +52 -0
  356. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/markdown.rb +214 -0
  357. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/nokogiri.rb +43 -0
  358. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/plain.rb +20 -0
  359. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/radius.rb +55 -0
  360. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/rdoc.rb +47 -0
  361. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/string.rb +21 -0
  362. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/template.rb +292 -0
  363. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/textile.rb +30 -0
  364. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/wiki.rb +58 -0
  365. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt/yajl.rb +94 -0
  366. data/vendor/bundle/gems/tilt-1.4.1/lib/tilt.rb +204 -0
  367. data/vendor/bundle/gems/tilt-1.4.1/test/contest.rb +68 -0
  368. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/locals.mab +1 -0
  369. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/markaby.mab +1 -0
  370. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/markaby_other_static.mab +1 -0
  371. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/render_twice.mab +1 -0
  372. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/scope.mab +1 -0
  373. data/vendor/bundle/gems/tilt-1.4.1/test/markaby/yielding.mab +2 -0
  374. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_asciidoctor_test.rb +44 -0
  375. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_blueclothtemplate_test.rb +45 -0
  376. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_buildertemplate_test.rb +59 -0
  377. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_cache_test.rb +32 -0
  378. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_coffeescripttemplate_test.rb +114 -0
  379. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_compilesite_test.rb +51 -0
  380. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_creoletemplate_test.rb +28 -0
  381. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_csv_test.rb +69 -0
  382. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_erbtemplate_test.rb +239 -0
  383. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_erubistemplate_test.rb +151 -0
  384. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_etannitemplate_test.rb +173 -0
  385. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_fallback_test.rb +122 -0
  386. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_hamltemplate_test.rb +144 -0
  387. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_kramdown_test.rb +42 -0
  388. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_lesstemplate_test.less +1 -0
  389. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_lesstemplate_test.rb +42 -0
  390. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_liquidtemplate_test.rb +78 -0
  391. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_markaby_test.rb +88 -0
  392. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_markdown_test.rb +172 -0
  393. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_marukutemplate_test.rb +48 -0
  394. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_nokogiritemplate_test.rb +87 -0
  395. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_radiustemplate_test.rb +75 -0
  396. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_rdiscounttemplate_test.rb +55 -0
  397. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_rdoctemplate_test.rb +31 -0
  398. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_redcarpettemplate_test.rb +71 -0
  399. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_redclothtemplate_test.rb +36 -0
  400. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_sasstemplate_test.rb +41 -0
  401. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_stringtemplate_test.rb +170 -0
  402. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_template_test.rb +323 -0
  403. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_test.rb +65 -0
  404. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_wikiclothtemplate_test.rb +32 -0
  405. data/vendor/bundle/gems/tilt-1.4.1/test/tilt_yajltemplate_test.rb +101 -0
  406. data/vendor/bundle/gems/tilt-1.4.1/tilt.gemspec +120 -0
  407. data/vendor/bundle/gems/yard-0.8.6.1/LEGAL +66 -0
  408. data/vendor/bundle/gems/yard-0.8.6.1/LICENSE +22 -0
  409. data/vendor/bundle/gems/yard-0.8.6.1/README.md +601 -0
  410. data/vendor/bundle/gems/yard-0.8.6.1/Rakefile +61 -0
  411. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/builtins_vs_eval.rb +23 -0
  412. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/concat_vs_join.rb +12 -0
  413. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/erb_vs_erubis.rb +53 -0
  414. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/format_args.rb +46 -0
  415. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/generation.rb +37 -0
  416. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/marshal_vs_dbm.rb +63 -0
  417. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/parsing.rb +46 -0
  418. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/pathname_vs_string.rb +50 -0
  419. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/rdoc_vs_yardoc.rb +10 -0
  420. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/registry_store_types.rb +48 -0
  421. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/ri_vs_yri.rb +18 -0
  422. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/ripper_parser.rb +12 -0
  423. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/splat_vs_flatten.rb +12 -0
  424. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/template_erb.rb +22 -0
  425. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/template_format.rb +6 -0
  426. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/template_profile.rb +17 -0
  427. data/vendor/bundle/gems/yard-0.8.6.1/benchmarks/yri_cache.rb +19 -0
  428. data/vendor/bundle/gems/yard-0.8.6.1/bin/yard +12 -0
  429. data/vendor/bundle/gems/yard-0.8.6.1/bin/yardoc +12 -0
  430. data/vendor/bundle/gems/yard-0.8.6.1/bin/yri +12 -0
  431. data/vendor/bundle/gems/yard-0.8.6.1/docs/CodeObjects.md +115 -0
  432. data/vendor/bundle/gems/yard-0.8.6.1/docs/GettingStarted.md +592 -0
  433. data/vendor/bundle/gems/yard-0.8.6.1/docs/Handlers.md +152 -0
  434. data/vendor/bundle/gems/yard-0.8.6.1/docs/Overview.md +61 -0
  435. data/vendor/bundle/gems/yard-0.8.6.1/docs/Parser.md +191 -0
  436. data/vendor/bundle/gems/yard-0.8.6.1/docs/Tags.md +282 -0
  437. data/vendor/bundle/gems/yard-0.8.6.1/docs/TagsArch.md +123 -0
  438. data/vendor/bundle/gems/yard-0.8.6.1/docs/Templates.md +496 -0
  439. data/vendor/bundle/gems/yard-0.8.6.1/docs/WhatsNew.md +1244 -0
  440. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/code-objects-class-diagram.png +0 -0
  441. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/handlers-class-diagram.png +0 -0
  442. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/overview-class-diagram.png +0 -0
  443. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/parser-class-diagram.png +0 -0
  444. data/vendor/bundle/gems/yard-0.8.6.1/docs/images/tags-class-diagram.png +0 -0
  445. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/fulldoc/html/full_list_tag.erb +7 -0
  446. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/fulldoc/html/setup.rb +6 -0
  447. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/layout/html/setup.rb +8 -0
  448. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/layout/html/tag_list.erb +11 -0
  449. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/yard_tags/html/list.erb +18 -0
  450. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/default/yard_tags/html/setup.rb +27 -0
  451. data/vendor/bundle/gems/yard-0.8.6.1/docs/templates/plugin.rb +65 -0
  452. data/vendor/bundle/gems/yard-0.8.6.1/lib/rubygems_plugin.rb +4 -0
  453. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/autoload.rb +290 -0
  454. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/command.rb +84 -0
  455. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/command_parser.rb +92 -0
  456. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/config.rb +136 -0
  457. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/diff.rb +270 -0
  458. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/display.rb +68 -0
  459. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/gems.rb +83 -0
  460. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/graph.rb +125 -0
  461. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/help.rb +18 -0
  462. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/i18n.rb +69 -0
  463. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/list.rb +22 -0
  464. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/markup_types.rb +33 -0
  465. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/server.rb +253 -0
  466. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/stats.rb +213 -0
  467. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/yardoc.rb +731 -0
  468. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/yardopts_command.rb +109 -0
  469. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/cli/yri.rb +214 -0
  470. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/base.rb +585 -0
  471. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/class_object.rb +143 -0
  472. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/class_variable_object.rb +8 -0
  473. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/constant_object.rb +13 -0
  474. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/extended_method_object.rb +23 -0
  475. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/extra_file_object.rb +128 -0
  476. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/macro_object.rb +172 -0
  477. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/method_object.rb +191 -0
  478. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/module_object.rb +18 -0
  479. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/namespace_object.rb +200 -0
  480. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/proxy.rb +258 -0
  481. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/code_objects/root_object.rb +17 -0
  482. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/config.rb +269 -0
  483. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/array.rb +15 -0
  484. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/file.rb +65 -0
  485. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/hash.rb +15 -0
  486. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/insertion.rb +60 -0
  487. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/module.rb +19 -0
  488. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/string.rb +67 -0
  489. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/core_ext/symbol_hash.rb +73 -0
  490. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/docstring.rb +364 -0
  491. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/docstring_parser.rb +321 -0
  492. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/globals.rb +18 -0
  493. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/base.rb +597 -0
  494. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/alias_handler.rb +15 -0
  495. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/attribute_handler.rb +13 -0
  496. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/base.rb +110 -0
  497. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/class_handler.rb +26 -0
  498. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/constant_handler.rb +12 -0
  499. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/handler_methods.rb +166 -0
  500. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/init_handler.rb +18 -0
  501. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/method_handler.rb +35 -0
  502. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/mixin_handler.rb +13 -0
  503. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/module_handler.rb +16 -0
  504. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/override_comment_handler.rb +30 -0
  505. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/path_handler.rb +10 -0
  506. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/struct_handler.rb +12 -0
  507. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/c/symbol_handler.rb +7 -0
  508. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/processor.rb +201 -0
  509. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/alias_handler.rb +41 -0
  510. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/attribute_handler.rb +82 -0
  511. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/base.rb +164 -0
  512. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/class_condition_handler.rb +86 -0
  513. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/class_handler.rb +121 -0
  514. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/class_variable_handler.rb +16 -0
  515. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/comment_handler.rb +9 -0
  516. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/constant_handler.rb +45 -0
  517. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/dsl_handler.rb +14 -0
  518. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/dsl_handler_methods.rb +77 -0
  519. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/exception_handler.rb +26 -0
  520. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/extend_handler.rb +21 -0
  521. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/alias_handler.rb +34 -0
  522. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/attribute_handler.rb +60 -0
  523. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/base.rb +250 -0
  524. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/class_condition_handler.rb +83 -0
  525. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/class_handler.rb +111 -0
  526. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/class_variable_handler.rb +14 -0
  527. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/comment_handler.rb +9 -0
  528. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/constant_handler.rb +28 -0
  529. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/dsl_handler.rb +16 -0
  530. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/exception_handler.rb +12 -0
  531. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/extend_handler.rb +20 -0
  532. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/method_handler.rb +85 -0
  533. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/mixin_handler.rb +39 -0
  534. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/module_function_handler.rb +18 -0
  535. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/module_handler.rb +11 -0
  536. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/private_constant_handler.rb +21 -0
  537. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/visibility_handler.rb +16 -0
  538. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/legacy/yield_handler.rb +28 -0
  539. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/method_condition_handler.rb +8 -0
  540. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/method_handler.rb +92 -0
  541. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/mixin_handler.rb +36 -0
  542. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/module_function_handler.rb +26 -0
  543. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/module_handler.rb +11 -0
  544. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/private_constant_handler.rb +36 -0
  545. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/struct_handler_methods.rb +141 -0
  546. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/visibility_handler.rb +24 -0
  547. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/handlers/ruby/yield_handler.rb +30 -0
  548. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/locale.rb +74 -0
  549. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/message.rb +56 -0
  550. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/messages.rb +55 -0
  551. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/pot_generator.rb +280 -0
  552. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/i18n/text.rb +173 -0
  553. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/logging.rb +190 -0
  554. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/options.rb +216 -0
  555. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/base.rb +56 -0
  556. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/c/c_parser.rb +225 -0
  557. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/c/comment_parser.rb +131 -0
  558. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/c/statement.rb +63 -0
  559. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/ast_node.rb +496 -0
  560. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/ruby_lex.rb +1377 -0
  561. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/ruby_parser.rb +31 -0
  562. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/statement.rb +65 -0
  563. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/statement_list.rb +384 -0
  564. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/legacy/token_list.rb +71 -0
  565. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/ruby/ruby_parser.rb +625 -0
  566. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/parser/source_parser.rb +517 -0
  567. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rake/yardoc_task.rb +74 -0
  568. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/registry.rb +438 -0
  569. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/registry_store.rb +319 -0
  570. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/LICENSE.txt +57 -0
  571. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/MIT.txt +20 -0
  572. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/gem.rb +9 -0
  573. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports/source_index.rb +370 -0
  574. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/backports.rb +8 -0
  575. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/doc_manager.rb +88 -0
  576. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/rubygems/specification.rb +41 -0
  577. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/base.rb +80 -0
  578. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/file_system_serializer.rb +90 -0
  579. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/process_serializer.rb +24 -0
  580. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/stdout_serializer.rb +32 -0
  581. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/serializers/yardoc_serializer.rb +124 -0
  582. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/adapter.rb +100 -0
  583. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/base.rb +192 -0
  584. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/display_file_command.rb +24 -0
  585. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/display_object_command.rb +58 -0
  586. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/frames_command.rb +15 -0
  587. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/library_command.rb +148 -0
  588. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/library_index_command.rb +24 -0
  589. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/list_command.rb +24 -0
  590. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/search_command.rb +78 -0
  591. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/commands/static_file_command.rb +57 -0
  592. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/doc_server_helper.rb +76 -0
  593. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/doc_server_serializer.rb +33 -0
  594. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/library_version.rb +227 -0
  595. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/rack_adapter.rb +88 -0
  596. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/router.rb +176 -0
  597. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/static_caching.rb +45 -0
  598. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/fulldoc/html/css/custom.css +78 -0
  599. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/fulldoc/html/images/processing.gif +0 -0
  600. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/fulldoc/html/js/autocomplete.js +12 -0
  601. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/layout/html/breadcrumb.erb +46 -0
  602. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/layout/html/script_setup.erb +8 -0
  603. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/layout/html/setup.rb +7 -0
  604. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/method_details/html/permalink.erb +4 -0
  605. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/default/method_details/html/setup.rb +4 -0
  606. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/contents.erb +13 -0
  607. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/headers.erb +26 -0
  608. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/library_list.erb +12 -0
  609. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/setup.rb +3 -0
  610. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/library_list/html/title.erb +2 -0
  611. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/processing/html/processing.erb +51 -0
  612. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/processing/html/setup.rb +3 -0
  613. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/search/html/search.erb +18 -0
  614. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/templates/doc_server/search/html/setup.rb +8 -0
  615. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server/webrick_adapter.rb +43 -0
  616. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/server.rb +11 -0
  617. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/default_factory.rb +176 -0
  618. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/default_tag.rb +12 -0
  619. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/directives.rb +595 -0
  620. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/library.rb +630 -0
  621. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/option_tag.rb +12 -0
  622. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/overload_tag.rb +65 -0
  623. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/ref_tag.rb +7 -0
  624. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/ref_tag_list.rb +27 -0
  625. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/tag.rb +57 -0
  626. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/tags/tag_format_error.rb +6 -0
  627. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/engine.rb +185 -0
  628. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/erb_cache.rb +22 -0
  629. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/base_helper.rb +212 -0
  630. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/filter_helper.rb +26 -0
  631. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/html_helper.rb +599 -0
  632. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/html_syntax_highlight_helper.rb +59 -0
  633. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/markup/rdoc_markdown.rb +22 -0
  634. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/markup/rdoc_markup.rb +106 -0
  635. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/markup_helper.rb +169 -0
  636. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/method_helper.rb +74 -0
  637. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/module_helper.rb +19 -0
  638. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/text_helper.rb +95 -0
  639. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/helpers/uml_helper.rb +46 -0
  640. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/section.rb +106 -0
  641. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/template.rb +407 -0
  642. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/templates/template_options.rb +88 -0
  643. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/verifier.rb +148 -0
  644. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard/version.rb +3 -0
  645. data/vendor/bundle/gems/yard-0.8.6.1/lib/yard.rb +71 -0
  646. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/command_parser_spec.rb +43 -0
  647. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/command_spec.rb +36 -0
  648. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/config_spec.rb +92 -0
  649. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/diff_spec.rb +260 -0
  650. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/display_spec.rb +30 -0
  651. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/gems_spec.rb +81 -0
  652. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/graph_spec.rb +17 -0
  653. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/help_spec.rb +22 -0
  654. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/i18n_spec.rb +111 -0
  655. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/list_spec.rb +8 -0
  656. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/markup_types_spec.rb +22 -0
  657. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/server_spec.rb +327 -0
  658. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/stats_spec.rb +90 -0
  659. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/yardoc_spec.rb +777 -0
  660. data/vendor/bundle/gems/yard-0.8.6.1/spec/cli/yri_spec.rb +99 -0
  661. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/base_spec.rb +438 -0
  662. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/class_object_spec.rb +225 -0
  663. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/code_object_list_spec.rb +33 -0
  664. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/constants_spec.rb +82 -0
  665. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/extra_file_object_spec.rb +147 -0
  666. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/macro_object_spec.rb +148 -0
  667. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/method_object_spec.rb +175 -0
  668. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/module_object_spec.rb +141 -0
  669. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/namespace_object_spec.rb +170 -0
  670. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/proxy_spec.rb +140 -0
  671. data/vendor/bundle/gems/yard-0.8.6.1/spec/code_objects/spec_helper.rb +3 -0
  672. data/vendor/bundle/gems/yard-0.8.6.1/spec/config_spec.rb +176 -0
  673. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/array_spec.rb +14 -0
  674. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/file_spec.rb +68 -0
  675. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/hash_spec.rb +14 -0
  676. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/insertion_spec.rb +37 -0
  677. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/module_spec.rb +15 -0
  678. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/string_spec.rb +42 -0
  679. data/vendor/bundle/gems/yard-0.8.6.1/spec/core_ext/symbol_hash_spec.rb +86 -0
  680. data/vendor/bundle/gems/yard-0.8.6.1/spec/docstring_parser_spec.rb +228 -0
  681. data/vendor/bundle/gems/yard-0.8.6.1/spec/docstring_spec.rb +325 -0
  682. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/alias_handler_spec.rb +80 -0
  683. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/attribute_handler_spec.rb +94 -0
  684. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/base_spec.rb +206 -0
  685. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/alias_handler_spec.rb +33 -0
  686. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/attribute_handler_spec.rb +40 -0
  687. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/class_handler_spec.rb +63 -0
  688. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/constant_handler_spec.rb +68 -0
  689. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/init_handler_spec.rb +47 -0
  690. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/method_handler_spec.rb +229 -0
  691. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/mixin_handler_spec.rb +27 -0
  692. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/module_handler_spec.rb +38 -0
  693. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/override_comment_handler_spec.rb +46 -0
  694. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/path_handler_spec.rb +35 -0
  695. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/spec_helper.rb +13 -0
  696. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/c/struct_handler_spec.rb +15 -0
  697. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/class_condition_handler_spec.rb +67 -0
  698. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/class_handler_spec.rb +246 -0
  699. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/class_variable_handler_spec.rb +11 -0
  700. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/constant_handler_spec.rb +64 -0
  701. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/dsl_handler_spec.rb +197 -0
  702. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/alias_handler_001.rb.txt +44 -0
  703. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/attribute_handler_001.rb.txt +32 -0
  704. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/class_condition_handler_001.rb.txt +69 -0
  705. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/class_handler_001.rb.txt +120 -0
  706. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/class_variable_handler_001.rb.txt +10 -0
  707. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/constant_handler_001.rb.txt +25 -0
  708. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/dsl_handler_001.rb.txt +125 -0
  709. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/exception_handler_001.rb.txt +59 -0
  710. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/extend_handler_001.rb.txt +16 -0
  711. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/method_condition_handler_001.rb.txt +10 -0
  712. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/method_handler_001.rb.txt +126 -0
  713. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/mixin_handler_001.rb.txt +37 -0
  714. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/module_handler_001.rb.txt +29 -0
  715. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/private_constant_handler_001.rb.txt +8 -0
  716. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/process_handler_001.rb.txt +11 -0
  717. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/visibility_handler_001.rb.txt +32 -0
  718. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/examples/yield_handler_001.rb.txt +54 -0
  719. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/exception_handler_spec.rb +48 -0
  720. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/extend_handler_spec.rb +23 -0
  721. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/legacy_base_spec.rb +128 -0
  722. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/method_condition_handler_spec.rb +14 -0
  723. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/method_handler_spec.rb +184 -0
  724. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/mixin_handler_spec.rb +55 -0
  725. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/module_function_handler_spec.rb +105 -0
  726. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/module_handler_spec.rb +34 -0
  727. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/private_constant_handler_spec.rb +24 -0
  728. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/processor_spec.rb +34 -0
  729. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/ruby/base_spec.rb +94 -0
  730. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/ruby/legacy/base_spec.rb +82 -0
  731. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/spec_helper.rb +33 -0
  732. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/visibility_handler_spec.rb +39 -0
  733. data/vendor/bundle/gems/yard-0.8.6.1/spec/handlers/yield_handler_spec.rb +51 -0
  734. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/locale_spec.rb +68 -0
  735. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/message_spec.rb +52 -0
  736. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/messages_spec.rb +67 -0
  737. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/pot_generator_spec.rb +262 -0
  738. data/vendor/bundle/gems/yard-0.8.6.1/spec/i18n/text_spec.rb +180 -0
  739. data/vendor/bundle/gems/yard-0.8.6.1/spec/logging_spec.rb +35 -0
  740. data/vendor/bundle/gems/yard-0.8.6.1/spec/options_spec.rb +171 -0
  741. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/base_spec.rb +24 -0
  742. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/c_parser_spec.rb +166 -0
  743. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/array.c.txt +3887 -0
  744. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/example1.rb.txt +8 -0
  745. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/extrafile.c.txt +8 -0
  746. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/multifile.c.txt +6 -0
  747. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/override.c.txt +424 -0
  748. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/parse_in_order_001.rb.txt +2 -0
  749. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/parse_in_order_002.rb.txt +2 -0
  750. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/examples/tag_handler_001.rb.txt +8 -0
  751. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/ast_node_spec.rb +33 -0
  752. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/legacy/statement_list_spec.rb +299 -0
  753. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/legacy/token_list_spec.rb +77 -0
  754. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/ruby/ruby_parser_spec.rb +334 -0
  755. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/source_parser_spec.rb +717 -0
  756. data/vendor/bundle/gems/yard-0.8.6.1/spec/parser/tag_parsing_spec.rb +18 -0
  757. data/vendor/bundle/gems/yard-0.8.6.1/spec/rake/yardoc_task_spec.rb +101 -0
  758. data/vendor/bundle/gems/yard-0.8.6.1/spec/registry_spec.rb +393 -0
  759. data/vendor/bundle/gems/yard-0.8.6.1/spec/registry_store_spec.rb +315 -0
  760. data/vendor/bundle/gems/yard-0.8.6.1/spec/rubygems/doc_manager_spec.rb +112 -0
  761. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/checksums +1 -0
  762. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/Foo/bar_i.dat +0 -0
  763. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/Foo/baz_i.dat +0 -0
  764. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/Foo.dat +0 -0
  765. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/objects/root.dat +0 -0
  766. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/data/serialized_yardoc/proxy_types +2 -0
  767. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/file_system_serializer_spec.rb +124 -0
  768. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/spec_helper.rb +2 -0
  769. data/vendor/bundle/gems/yard-0.8.6.1/spec/serializers/yardoc_serializer_spec.rb +46 -0
  770. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/adapter_spec.rb +38 -0
  771. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/commands/base_spec.rb +87 -0
  772. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/commands/library_command_spec.rb +39 -0
  773. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/commands/static_file_command_spec.rb +84 -0
  774. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/doc_server_helper_spec.rb +53 -0
  775. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/doc_server_serializer_spec.rb +45 -0
  776. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/rack_adapter_spec.rb +20 -0
  777. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/router_spec.rb +122 -0
  778. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/spec_helper.rb +17 -0
  779. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/static_caching_spec.rb +39 -0
  780. data/vendor/bundle/gems/yard-0.8.6.1/spec/server/webrick_servlet_spec.rb +20 -0
  781. data/vendor/bundle/gems/yard-0.8.6.1/spec/server_spec.rb +10 -0
  782. data/vendor/bundle/gems/yard-0.8.6.1/spec/spec_helper.rb +128 -0
  783. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/default_factory_spec.rb +152 -0
  784. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/default_tag_spec.rb +11 -0
  785. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/directives_spec.rb +436 -0
  786. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/library_spec.rb +34 -0
  787. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/overload_tag_spec.rb +53 -0
  788. data/vendor/bundle/gems/yard-0.8.6.1/spec/tags/ref_tag_list_spec.rb +53 -0
  789. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/class_spec.rb +44 -0
  790. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/constant_spec.rb +40 -0
  791. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/engine_spec.rb +121 -0
  792. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/class001.html +280 -0
  793. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/class001.txt +36 -0
  794. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/class002.html +35 -0
  795. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/constant001.txt +25 -0
  796. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/constant002.txt +7 -0
  797. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/constant003.txt +11 -0
  798. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method001.html +130 -0
  799. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method001.txt +35 -0
  800. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method002.html +86 -0
  801. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method002.txt +20 -0
  802. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method003.html +159 -0
  803. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method003.txt +45 -0
  804. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method004.html +44 -0
  805. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method004.txt +10 -0
  806. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method005.html +99 -0
  807. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/method005.txt +33 -0
  808. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module001.dot +33 -0
  809. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module001.html +791 -0
  810. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module001.txt +33 -0
  811. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module002.html +318 -0
  812. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module003.html +185 -0
  813. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/module004.html +387 -0
  814. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/examples/tag001.txt +82 -0
  815. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/base_helper_spec.rb +175 -0
  816. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/html_helper_spec.rb +612 -0
  817. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/html_syntax_highlight_helper_spec.rb +48 -0
  818. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/markup/rdoc_markup_spec.rb +84 -0
  819. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/markup_helper_spec.rb +135 -0
  820. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/method_helper_spec.rb +82 -0
  821. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/shared_signature_examples.rb +123 -0
  822. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/helpers/text_helper_spec.rb +44 -0
  823. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/method_spec.rb +102 -0
  824. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/module_spec.rb +181 -0
  825. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/onefile_spec.rb +64 -0
  826. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/section_spec.rb +146 -0
  827. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/spec_helper.rb +73 -0
  828. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/tag_spec.rb +51 -0
  829. data/vendor/bundle/gems/yard-0.8.6.1/spec/templates/template_spec.rb +409 -0
  830. data/vendor/bundle/gems/yard-0.8.6.1/spec/verifier_spec.rb +106 -0
  831. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/dot/setup.rb +6 -0
  832. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/dot/superklass.erb +3 -0
  833. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/html/constructor_details.erb +8 -0
  834. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/html/setup.rb +1 -0
  835. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/html/subclasses.erb +4 -0
  836. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/setup.rb +36 -0
  837. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/text/setup.rb +11 -0
  838. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/class/text/subclasses.erb +5 -0
  839. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/constant/text/header.erb +11 -0
  840. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/constant/text/setup.rb +3 -0
  841. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/abstract.erb +4 -0
  842. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/deprecated.erb +1 -0
  843. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/index.erb +5 -0
  844. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/note.erb +6 -0
  845. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/private.erb +4 -0
  846. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/returns_void.erb +1 -0
  847. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/text.erb +1 -0
  848. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/html/todo.erb +6 -0
  849. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/setup.rb +49 -0
  850. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/abstract.erb +2 -0
  851. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/deprecated.erb +2 -0
  852. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/index.erb +2 -0
  853. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/note.erb +4 -0
  854. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/private.erb +2 -0
  855. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/returns_void.erb +1 -0
  856. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/text.erb +1 -0
  857. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/docstring/text/todo.erb +4 -0
  858. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/css/common.css +1 -0
  859. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/css/full_list.css +57 -0
  860. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/css/style.css +338 -0
  861. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/frames.erb +28 -0
  862. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list.erb +39 -0
  863. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list_class.erb +2 -0
  864. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list_file.erb +5 -0
  865. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/full_list_method.erb +8 -0
  866. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/js/app.js +214 -0
  867. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/js/full_list.js +178 -0
  868. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/js/jquery.js +4 -0
  869. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/fulldoc/html/setup.rb +199 -0
  870. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/dot/header.erb +6 -0
  871. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/dot/setup.rb +14 -0
  872. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/breadcrumb.erb +13 -0
  873. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/files.erb +11 -0
  874. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/footer.erb +5 -0
  875. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/headers.erb +14 -0
  876. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/index.erb +2 -0
  877. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/layout.erb +20 -0
  878. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/listing.erb +4 -0
  879. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/objects.erb +32 -0
  880. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/script_setup.erb +5 -0
  881. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/search.erb +8 -0
  882. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/layout/html/setup.rb +71 -0
  883. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method/html/header.erb +16 -0
  884. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method/setup.rb +3 -0
  885. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method/text/header.erb +1 -0
  886. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/html/header.erb +3 -0
  887. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/html/method_signature.erb +25 -0
  888. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/html/source.erb +10 -0
  889. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/setup.rb +10 -0
  890. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/text/header.erb +10 -0
  891. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/text/method_signature.erb +12 -0
  892. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/method_details/text/setup.rb +10 -0
  893. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/child.erb +1 -0
  894. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/dependencies.erb +3 -0
  895. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/header.erb +6 -0
  896. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/info.erb +14 -0
  897. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/dot/setup.rb +14 -0
  898. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/attribute_details.erb +10 -0
  899. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/attribute_summary.erb +8 -0
  900. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/box_info.erb +37 -0
  901. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/children.erb +8 -0
  902. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/constant_summary.erb +13 -0
  903. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/defines.erb +3 -0
  904. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/header.erb +5 -0
  905. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/inherited_attributes.erb +14 -0
  906. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/inherited_constants.erb +8 -0
  907. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/inherited_methods.erb +19 -0
  908. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/item_summary.erb +40 -0
  909. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/method_details_list.erb +9 -0
  910. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/method_summary.erb +14 -0
  911. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/methodmissing.erb +12 -0
  912. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/html/pre_docstring.erb +1 -0
  913. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/setup.rb +164 -0
  914. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/children.erb +10 -0
  915. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/class_meths_list.erb +8 -0
  916. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/extends.erb +8 -0
  917. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/header.erb +7 -0
  918. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/includes.erb +8 -0
  919. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/instance_meths_list.erb +8 -0
  920. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/module/text/setup.rb +12 -0
  921. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/files.erb +5 -0
  922. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/headers.erb +6 -0
  923. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/layout.erb +17 -0
  924. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/readme.erb +3 -0
  925. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/onefile/html/setup.rb +61 -0
  926. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/root/dot/child.erb +3 -0
  927. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/root/dot/setup.rb +5 -0
  928. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/root/html/setup.rb +1 -0
  929. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/example.erb +11 -0
  930. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/index.erb +3 -0
  931. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/option.erb +24 -0
  932. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/overload.erb +14 -0
  933. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/see.erb +8 -0
  934. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/html/tag.erb +20 -0
  935. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/setup.rb +55 -0
  936. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/example.erb +12 -0
  937. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/index.erb +1 -0
  938. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/option.erb +20 -0
  939. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/overload.erb +19 -0
  940. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/see.erb +11 -0
  941. data/vendor/bundle/gems/yard-0.8.6.1/templates/default/tags/text/tag.erb +13 -0
  942. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/class/html/setup.rb +1 -0
  943. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/docstring/html/setup.rb +1 -0
  944. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/fulldoc/html/css/style.css +108 -0
  945. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/fulldoc/html/js/app.js +33 -0
  946. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/fulldoc/html/setup.rb +73 -0
  947. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/layout/html/layout.erb +81 -0
  948. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/layout/html/setup.rb +28 -0
  949. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/method/html/header.erb +18 -0
  950. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/method/html/setup.rb +21 -0
  951. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/module/html/header.erb +7 -0
  952. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/module/html/method_list.erb +5 -0
  953. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/module/html/setup.rb +26 -0
  954. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/onefile/html/files.erb +4 -0
  955. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/onefile/html/setup.rb +5 -0
  956. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/onefile/html/toc.erb +3 -0
  957. data/vendor/bundle/gems/yard-0.8.6.1/templates/guide/tags/html/setup.rb +8 -0
  958. data/vendor/bundle/gems/yard-0.8.6.1/yard.gemspec +25 -0
  959. data/vendor/bundle/specifications/highline-1.6.18.gemspec +21 -0
  960. data/vendor/bundle/specifications/mime-types-1.23.gemspec +67 -0
  961. data/vendor/bundle/specifications/minitest-4.7.4.gemspec +36 -0
  962. data/vendor/bundle/specifications/multi_json-1.7.3.gemspec +30 -0
  963. data/vendor/bundle/specifications/rdiscount-2.0.7.3.gemspec +21 -0
  964. data/vendor/bundle/specifications/shoulda-3.5.0.gemspec +50 -0
  965. data/vendor/bundle/specifications/shoulda-matchers-2.1.0.gemspec +57 -0
  966. data/vendor/bundle/specifications/tilt-1.4.1.gemspec +98 -0
  967. data/vendor/bundle/specifications/yard-0.8.6.1.gemspec +20 -0
  968. metadata +964 -2
@@ -0,0 +1,1012 @@
1
+ # highline.rb
2
+ #
3
+ # Created by James Edward Gray II on 2005-04-26.
4
+ # Copyright 2005 Gray Productions. All rights reserved.
5
+ #
6
+ # See HighLine for documentation.
7
+ #
8
+ # This is Free Software. See LICENSE and COPYING for details.
9
+
10
+ require "erb"
11
+ require "optparse"
12
+ require "stringio"
13
+ require "abbrev"
14
+ require "highline/system_extensions"
15
+ require "highline/question"
16
+ require "highline/menu"
17
+ require "highline/color_scheme"
18
+ require "highline/style"
19
+
20
+ #
21
+ # A HighLine object is a "high-level line oriented" shell over an input and an
22
+ # output stream. HighLine simplifies common console interaction, effectively
23
+ # replacing puts() and gets(). User code can simply specify the question to ask
24
+ # and any details about user interaction, then leave the rest of the work to
25
+ # HighLine. When HighLine.ask() returns, you'll have the answer you requested,
26
+ # even if HighLine had to ask many times, validate results, perform range
27
+ # checking, convert types, etc.
28
+ #
29
+ class HighLine
30
+ # The version of the installed library.
31
+ VERSION = "1.6.18".freeze
32
+
33
+ # An internal HighLine error. User code does not need to trap this.
34
+ class QuestionError < StandardError
35
+ # do nothing, just creating a unique error type
36
+ end
37
+
38
+ # The setting used to disable color output.
39
+ @@use_color = true
40
+
41
+ # Pass +false+ to _setting_ to turn off HighLine's color escapes.
42
+ def self.use_color=( setting )
43
+ @@use_color = setting
44
+ end
45
+
46
+ # Returns true if HighLine is currently using color escapes.
47
+ def self.use_color?
48
+ @@use_color
49
+ end
50
+
51
+ # For checking if the current version of HighLine supports RGB colors
52
+ # Usage: HighLine.supports_rgb_color? rescue false # rescue for compatibility with older versions
53
+ # Note: color usage also depends on HighLine.use_color being set
54
+ def self.supports_rgb_color?
55
+ true
56
+ end
57
+
58
+ # The setting used to disable EOF tracking.
59
+ @@track_eof = true
60
+
61
+ # Pass +false+ to _setting_ to turn off HighLine's EOF tracking.
62
+ def self.track_eof=( setting )
63
+ @@track_eof = setting
64
+ end
65
+
66
+ # Returns true if HighLine is currently tracking EOF for input.
67
+ def self.track_eof?
68
+ @@track_eof
69
+ end
70
+
71
+ # The setting used to control color schemes.
72
+ @@color_scheme = nil
73
+
74
+ # Pass ColorScheme to _setting_ to set a HighLine color scheme.
75
+ def self.color_scheme=( setting )
76
+ @@color_scheme = setting
77
+ end
78
+
79
+ # Returns the current color scheme.
80
+ def self.color_scheme
81
+ @@color_scheme
82
+ end
83
+
84
+ # Returns +true+ if HighLine is currently using a color scheme.
85
+ def self.using_color_scheme?
86
+ not @@color_scheme.nil?
87
+ end
88
+
89
+ #
90
+ # Embed in a String to clear all previous ANSI sequences. This *MUST* be
91
+ # done before the program exits!
92
+ #
93
+
94
+ ERASE_LINE_STYLE = Style.new(:name=>:erase_line, :builtin=>true, :code=>"\e[K") # Erase the current line of terminal output
95
+ ERASE_CHAR_STYLE = Style.new(:name=>:erase_char, :builtin=>true, :code=>"\e[P") # Erase the character under the cursor.
96
+ CLEAR_STYLE = Style.new(:name=>:clear, :builtin=>true, :code=>"\e[0m") # Clear color settings
97
+ RESET_STYLE = Style.new(:name=>:reset, :builtin=>true, :code=>"\e[0m") # Alias for CLEAR.
98
+ BOLD_STYLE = Style.new(:name=>:bold, :builtin=>true, :code=>"\e[1m") # Bold; Note: bold + a color works as you'd expect,
99
+ # for example bold black. Bold without a color displays
100
+ # the system-defined bold color (e.g. red on Mac iTerm)
101
+ DARK_STYLE = Style.new(:name=>:dark, :builtin=>true, :code=>"\e[2m") # Dark; support uncommon
102
+ UNDERLINE_STYLE = Style.new(:name=>:underline, :builtin=>true, :code=>"\e[4m") # Underline
103
+ UNDERSCORE_STYLE = Style.new(:name=>:underscore, :builtin=>true, :code=>"\e[4m") # Alias for UNDERLINE
104
+ BLINK_STYLE = Style.new(:name=>:blink, :builtin=>true, :code=>"\e[5m") # Blink; support uncommon
105
+ REVERSE_STYLE = Style.new(:name=>:reverse, :builtin=>true, :code=>"\e[7m") # Reverse foreground and background
106
+ CONCEALED_STYLE = Style.new(:name=>:concealed, :builtin=>true, :code=>"\e[8m") # Concealed; support uncommon
107
+
108
+ STYLES = %w{CLEAR RESET BOLD DARK UNDERLINE UNDERSCORE BLINK REVERSE CONCEALED}
109
+
110
+ # These RGB colors are approximate; see http://en.wikipedia.org/wiki/ANSI_escape_code
111
+ BLACK_STYLE = Style.new(:name=>:black, :builtin=>true, :code=>"\e[30m", :rgb=>[ 0, 0, 0])
112
+ RED_STYLE = Style.new(:name=>:red, :builtin=>true, :code=>"\e[31m", :rgb=>[128, 0, 0])
113
+ GREEN_STYLE = Style.new(:name=>:green, :builtin=>true, :code=>"\e[32m", :rgb=>[ 0,128, 0])
114
+ BLUE_STYLE = Style.new(:name=>:blue, :builtin=>true, :code=>"\e[34m", :rgb=>[ 0, 0,128])
115
+ YELLOW_STYLE = Style.new(:name=>:yellow, :builtin=>true, :code=>"\e[33m", :rgb=>[128,128, 0])
116
+ MAGENTA_STYLE = Style.new(:name=>:magenta, :builtin=>true, :code=>"\e[35m", :rgb=>[128, 0,128])
117
+ CYAN_STYLE = Style.new(:name=>:cyan, :builtin=>true, :code=>"\e[36m", :rgb=>[ 0,128,128])
118
+ # On Mac OSX Terminal, white is actually gray
119
+ WHITE_STYLE = Style.new(:name=>:white, :builtin=>true, :code=>"\e[37m", :rgb=>[192,192,192])
120
+ # Alias for WHITE, since WHITE is actually a light gray on Macs
121
+ GRAY_STYLE = Style.new(:name=>:gray, :builtin=>true, :code=>"\e[37m", :rgb=>[192,192,192])
122
+ # On Mac OSX Terminal, this is black foreground, or bright white background.
123
+ # Also used as base for RGB colors, if available
124
+ NONE_STYLE = Style.new(:name=>:none, :builtin=>true, :code=>"\e[38m", :rgb=>[ 0, 0, 0])
125
+
126
+ BASIC_COLORS = %w{BLACK RED GREEN YELLOW BLUE MAGENTA CYAN WHITE GRAY NONE}
127
+
128
+ colors = BASIC_COLORS.dup
129
+ BASIC_COLORS.each do |color|
130
+ bright_color = "BRIGHT_#{color}"
131
+ colors << bright_color
132
+ const_set bright_color+'_STYLE', const_get(color + '_STYLE').bright
133
+ end
134
+ COLORS = colors
135
+
136
+ colors.each do |color|
137
+ const_set color, const_get("#{color}_STYLE").code
138
+ const_set "ON_#{color}_STYLE", const_get("#{color}_STYLE").on
139
+ const_set "ON_#{color}", const_get("ON_#{color}_STYLE").code
140
+ end
141
+ ON_NONE_STYLE.rgb = [255,255,255] # Override; white background
142
+
143
+ STYLES.each do |style|
144
+ const_set style, const_get("#{style}_STYLE").code
145
+ end
146
+
147
+ # For RGB colors:
148
+ def self.const_missing(name)
149
+ if name.to_s =~ /^(ON_)?(RGB_)([A-F0-9]{6})(_STYLE)?$/ # RGB color
150
+ on = $1
151
+ suffix = $4
152
+ if suffix
153
+ code_name = $1.to_s + $2 + $3
154
+ else
155
+ code_name = name.to_s
156
+ end
157
+ style_name = code_name + '_STYLE'
158
+ style = Style.rgb($3)
159
+ style = style.on if on
160
+ const_set(style_name, style)
161
+ const_set(code_name, style.code)
162
+ if suffix
163
+ style
164
+ else
165
+ style.code
166
+ end
167
+ else
168
+ raise NameError, "Bad color or uninitialized constant #{name}"
169
+ end
170
+ end
171
+
172
+ #
173
+ # Create an instance of HighLine, connected to the streams _input_
174
+ # and _output_.
175
+ #
176
+ def initialize( input = $stdin, output = $stdout,
177
+ wrap_at = nil, page_at = nil, indent_size=3, indent_level=0 )
178
+ @input = input
179
+ @output = output
180
+
181
+ @multi_indent = true
182
+ @indent_size = indent_size
183
+ @indent_level = indent_level
184
+
185
+ self.wrap_at = wrap_at
186
+ self.page_at = page_at
187
+
188
+ @question = nil
189
+ @answer = nil
190
+ @menu = nil
191
+ @header = nil
192
+ @prompt = nil
193
+ @gather = nil
194
+ @answers = nil
195
+ @key = nil
196
+
197
+ initialize_system_extensions if respond_to?(:initialize_system_extensions)
198
+ end
199
+
200
+ include HighLine::SystemExtensions
201
+
202
+ # The current column setting for wrapping output.
203
+ attr_reader :wrap_at
204
+ # The current row setting for paging output.
205
+ attr_reader :page_at
206
+ # Indentation over multiple lines
207
+ attr_accessor :multi_indent
208
+ # The indentation size
209
+ attr_accessor :indent_size
210
+ # The indentation level
211
+ attr_accessor :indent_level
212
+
213
+ #
214
+ # A shortcut to HighLine.ask() a question that only accepts "yes" or "no"
215
+ # answers ("y" and "n" are allowed) and returns +true+ or +false+
216
+ # (+true+ for "yes"). If provided a +true+ value, _character_ will cause
217
+ # HighLine to fetch a single character response. A block can be provided
218
+ # to further configure the question as in HighLine.ask()
219
+ #
220
+ # Raises EOFError if input is exhausted.
221
+ #
222
+ def agree( yes_or_no_question, character = nil )
223
+ ask(yes_or_no_question, lambda { |yn| yn.downcase[0] == ?y}) do |q|
224
+ q.validate = /\Ay(?:es)?|no?\Z/i
225
+ q.responses[:not_valid] = 'Please enter "yes" or "no".'
226
+ q.responses[:ask_on_error] = :question
227
+ q.character = character
228
+
229
+ yield q if block_given?
230
+ end
231
+ end
232
+
233
+ #
234
+ # This method is the primary interface for user input. Just provide a
235
+ # _question_ to ask the user, the _answer_type_ you want returned, and
236
+ # optionally a code block setting up details of how you want the question
237
+ # handled. See HighLine.say() for details on the format of _question_, and
238
+ # HighLine::Question for more information about _answer_type_ and what's
239
+ # valid in the code block.
240
+ #
241
+ # If <tt>@question</tt> is set before ask() is called, parameters are
242
+ # ignored and that object (must be a HighLine::Question) is used to drive
243
+ # the process instead.
244
+ #
245
+ # Raises EOFError if input is exhausted.
246
+ #
247
+ def ask( question, answer_type = String, &details ) # :yields: question
248
+ @question ||= Question.new(question, answer_type, &details)
249
+
250
+ return gather if @question.gather
251
+
252
+ # readline() needs to handle its own output, but readline only supports
253
+ # full line reading. Therefore if @question.echo is anything but true,
254
+ # the prompt will not be issued. And we have to account for that now.
255
+ # Also, JRuby-1.7's ConsoleReader.readLine() needs to be passed the prompt
256
+ # to handle line editing properly.
257
+ say(@question) unless ((JRUBY or @question.readline) and @question.echo == true)
258
+ begin
259
+ @answer = @question.answer_or_default(get_response)
260
+ unless @question.valid_answer?(@answer)
261
+ explain_error(:not_valid)
262
+ raise QuestionError
263
+ end
264
+
265
+ @answer = @question.convert(@answer)
266
+
267
+ if @question.in_range?(@answer)
268
+ if @question.confirm
269
+ # need to add a layer of scope to ask a question inside a
270
+ # question, without destroying instance data
271
+ context_change = self.class.new(@input, @output, @wrap_at, @page_at, @indent_size, @indent_level)
272
+ if @question.confirm == true
273
+ confirm_question = "Are you sure? "
274
+ else
275
+ # evaluate ERb under initial scope, so it will have
276
+ # access to @question and @answer
277
+ template = ERB.new(@question.confirm, nil, "%")
278
+ confirm_question = template.result(binding)
279
+ end
280
+ unless context_change.agree(confirm_question)
281
+ explain_error(nil)
282
+ raise QuestionError
283
+ end
284
+ end
285
+
286
+ @answer
287
+ else
288
+ explain_error(:not_in_range)
289
+ raise QuestionError
290
+ end
291
+ rescue QuestionError
292
+ retry
293
+ rescue ArgumentError, NameError => error
294
+ raise if error.is_a?(NoMethodError)
295
+ if error.message =~ /ambiguous/
296
+ # the assumption here is that OptionParser::Completion#complete
297
+ # (used for ambiguity resolution) throws exceptions containing
298
+ # the word 'ambiguous' whenever resolution fails
299
+ explain_error(:ambiguous_completion)
300
+ else
301
+ explain_error(:invalid_type)
302
+ end
303
+ retry
304
+ rescue Question::NoAutoCompleteMatch
305
+ explain_error(:no_completion)
306
+ retry
307
+ ensure
308
+ @question = nil # Reset Question object.
309
+ end
310
+ end
311
+
312
+ #
313
+ # This method is HighLine's menu handler. For simple usage, you can just
314
+ # pass all the menu items you wish to display. At that point, choose() will
315
+ # build and display a menu, walk the user through selection, and return
316
+ # their choice among the provided items. You might use this in a case
317
+ # statement for quick and dirty menus.
318
+ #
319
+ # However, choose() is capable of much more. If provided, a block will be
320
+ # passed a HighLine::Menu object to configure. Using this method, you can
321
+ # customize all the details of menu handling from index display, to building
322
+ # a complete shell-like menuing system. See HighLine::Menu for all the
323
+ # methods it responds to.
324
+ #
325
+ # Raises EOFError if input is exhausted.
326
+ #
327
+ def choose( *items, &details )
328
+ @menu = @question = Menu.new(&details)
329
+ @menu.choices(*items) unless items.empty?
330
+
331
+ # Set auto-completion
332
+ @menu.completion = @menu.options
333
+ # Set _answer_type_ so we can double as the Question for ask().
334
+ @menu.answer_type = if @menu.shell
335
+ lambda do |command| # shell-style selection
336
+ first_word = command.to_s.split.first || ""
337
+
338
+ options = @menu.options
339
+ options.extend(OptionParser::Completion)
340
+ answer = options.complete(first_word)
341
+
342
+ if answer.nil?
343
+ raise Question::NoAutoCompleteMatch
344
+ end
345
+
346
+ [answer.last, command.sub(/^\s*#{first_word}\s*/, "")]
347
+ end
348
+ else
349
+ @menu.options # normal menu selection, by index or name
350
+ end
351
+
352
+ # Provide hooks for ERb layouts.
353
+ @header = @menu.header
354
+ @prompt = @menu.prompt
355
+
356
+ if @menu.shell
357
+ selected = ask("Ignored", @menu.answer_type)
358
+ @menu.select(self, *selected)
359
+ else
360
+ selected = ask("Ignored", @menu.answer_type)
361
+ @menu.select(self, selected)
362
+ end
363
+ end
364
+
365
+ #
366
+ # This method provides easy access to ANSI color sequences, without the user
367
+ # needing to remember to CLEAR at the end of each sequence. Just pass the
368
+ # _string_ to color, followed by a list of _colors_ you would like it to be
369
+ # affected by. The _colors_ can be HighLine class constants, or symbols
370
+ # (:blue for BLUE, for example). A CLEAR will automatically be embedded to
371
+ # the end of the returned String.
372
+ #
373
+ # This method returns the original _string_ unchanged if HighLine::use_color?
374
+ # is +false+.
375
+ #
376
+ def self.color( string, *colors )
377
+ return string unless self.use_color?
378
+ Style(*colors).color(string)
379
+ end
380
+
381
+ # In case you just want the color code, without the embedding and the CLEAR
382
+ def self.color_code(*colors)
383
+ Style(*colors).code
384
+ end
385
+
386
+ # Works as an instance method, same as the class method
387
+ def color_code(*colors)
388
+ self.class.color_code(*colors)
389
+ end
390
+
391
+ # Works as an instance method, same as the class method
392
+ def color(*args)
393
+ self.class.color(*args)
394
+ end
395
+
396
+ # Remove color codes from a string
397
+ def self.uncolor(string)
398
+ Style.uncolor(string)
399
+ end
400
+
401
+ # Works as an instance method, same as the class method
402
+ def uncolor(string)
403
+ self.class.uncolor(string)
404
+ end
405
+
406
+ #
407
+ # This method is a utility for quickly and easily laying out lists. It can
408
+ # be accessed within ERb replacements of any text that will be sent to the
409
+ # user.
410
+ #
411
+ # The only required parameter is _items_, which should be the Array of items
412
+ # to list. A specified _mode_ controls how that list is formed and _option_
413
+ # has different effects, depending on the _mode_. Recognized modes are:
414
+ #
415
+ # <tt>:columns_across</tt>:: _items_ will be placed in columns,
416
+ # flowing from left to right. If given,
417
+ # _option_ is the number of columns to be
418
+ # used. When absent, columns will be
419
+ # determined based on _wrap_at_ or a
420
+ # default of 80 characters.
421
+ # <tt>:columns_down</tt>:: Identical to <tt>:columns_across</tt>,
422
+ # save flow goes down.
423
+ # <tt>:uneven_columns_across</tt>:: Like <tt>:columns_across</tt> but each
424
+ # column is sized independently.
425
+ # <tt>:uneven_columns_down</tt>:: Like <tt>:columns_down</tt> but each
426
+ # column is sized independently.
427
+ # <tt>:inline</tt>:: All _items_ are placed on a single line.
428
+ # The last two _items_ are separated by
429
+ # _option_ or a default of " or ". All
430
+ # other _items_ are separated by ", ".
431
+ # <tt>:rows</tt>:: The default mode. Each of the _items_ is
432
+ # placed on its own line. The _option_
433
+ # parameter is ignored in this mode.
434
+ #
435
+ # Each member of the _items_ Array is passed through ERb and thus can contain
436
+ # their own expansions. Color escape expansions do not contribute to the
437
+ # final field width.
438
+ #
439
+ def list( items, mode = :rows, option = nil )
440
+ items = items.to_ary.map do |item|
441
+ if item.nil?
442
+ ""
443
+ else
444
+ ERB.new(item, nil, "%").result(binding)
445
+ end
446
+ end
447
+
448
+ if items.empty?
449
+ ""
450
+ else
451
+ case mode
452
+ when :inline
453
+ option = " or " if option.nil?
454
+
455
+ if items.size == 1
456
+ items.first
457
+ else
458
+ items[0..-2].join(", ") + "#{option}#{items.last}"
459
+ end
460
+ when :columns_across, :columns_down
461
+ max_length = actual_length(
462
+ items.max { |a, b| actual_length(a) <=> actual_length(b) }
463
+ )
464
+
465
+ if option.nil?
466
+ limit = @wrap_at || 80
467
+ option = (limit + 2) / (max_length + 2)
468
+ end
469
+
470
+ items = items.map do |item|
471
+ pad = max_length + (item.to_s.length - actual_length(item))
472
+ "%-#{pad}s" % item
473
+ end
474
+ row_count = (items.size / option.to_f).ceil
475
+
476
+ if mode == :columns_across
477
+ rows = Array.new(row_count) { Array.new }
478
+ items.each_with_index do |item, index|
479
+ rows[index / option] << item
480
+ end
481
+
482
+ rows.map { |row| row.join(" ") + "\n" }.join
483
+ else
484
+ columns = Array.new(option) { Array.new }
485
+ items.each_with_index do |item, index|
486
+ columns[index / row_count] << item
487
+ end
488
+
489
+ list = ""
490
+ columns.first.size.times do |index|
491
+ list << columns.map { |column| column[index] }.
492
+ compact.join(" ") + "\n"
493
+ end
494
+ list
495
+ end
496
+ when :uneven_columns_across
497
+ if option.nil?
498
+ limit = @wrap_at || 80
499
+ items.size.downto(1) do |column_count|
500
+ row_count = (items.size / column_count.to_f).ceil
501
+ rows = Array.new(row_count) { Array.new }
502
+ items.each_with_index do |item, index|
503
+ rows[index / column_count] << item
504
+ end
505
+
506
+ widths = Array.new(column_count, 0)
507
+ rows.each do |row|
508
+ row.each_with_index do |field, column|
509
+ size = actual_length(field)
510
+ widths[column] = size if size > widths[column]
511
+ end
512
+ end
513
+
514
+ if column_count == 1 or
515
+ widths.inject(0) { |sum, n| sum + n + 2 } <= limit + 2
516
+ return rows.map { |row|
517
+ row.zip(widths).map { |field, i|
518
+ "%-#{i + (field.to_s.length - actual_length(field))}s" % field
519
+ }.join(" ") + "\n"
520
+ }.join
521
+ end
522
+ end
523
+ else
524
+ row_count = (items.size / option.to_f).ceil
525
+ rows = Array.new(row_count) { Array.new }
526
+ items.each_with_index do |item, index|
527
+ rows[index / option] << item
528
+ end
529
+
530
+ widths = Array.new(option, 0)
531
+ rows.each do |row|
532
+ row.each_with_index do |field, column|
533
+ size = actual_length(field)
534
+ widths[column] = size if size > widths[column]
535
+ end
536
+ end
537
+
538
+ return rows.map { |row|
539
+ row.zip(widths).map { |field, i|
540
+ "%-#{i + (field.to_s.length - actual_length(field))}s" % field
541
+ }.join(" ") + "\n"
542
+ }.join
543
+ end
544
+ when :uneven_columns_down
545
+ if option.nil?
546
+ limit = @wrap_at || 80
547
+ items.size.downto(1) do |column_count|
548
+ row_count = (items.size / column_count.to_f).ceil
549
+ columns = Array.new(column_count) { Array.new }
550
+ items.each_with_index do |item, index|
551
+ columns[index / row_count] << item
552
+ end
553
+
554
+ widths = Array.new(column_count, 0)
555
+ columns.each_with_index do |column, i|
556
+ column.each do |field|
557
+ size = actual_length(field)
558
+ widths[i] = size if size > widths[i]
559
+ end
560
+ end
561
+
562
+ if column_count == 1 or
563
+ widths.inject(0) { |sum, n| sum + n + 2 } <= limit + 2
564
+ list = ""
565
+ columns.first.size.times do |index|
566
+ list << columns.zip(widths).map { |column, width|
567
+ field = column[index]
568
+ "%-#{width + (field.to_s.length - actual_length(field))}s" %
569
+ field
570
+ }.compact.join(" ").strip + "\n"
571
+ end
572
+ return list
573
+ end
574
+ end
575
+ else
576
+ row_count = (items.size / option.to_f).ceil
577
+ columns = Array.new(option) { Array.new }
578
+ items.each_with_index do |item, index|
579
+ columns[index / row_count] << item
580
+ end
581
+
582
+ widths = Array.new(option, 0)
583
+ columns.each_with_index do |column, i|
584
+ column.each do |field|
585
+ size = actual_length(field)
586
+ widths[i] = size if size > widths[i]
587
+ end
588
+ end
589
+
590
+ list = ""
591
+ columns.first.size.times do |index|
592
+ list << columns.zip(widths).map { |column, width|
593
+ field = column[index]
594
+ "%-#{width + (field.to_s.length - actual_length(field))}s" % field
595
+ }.compact.join(" ").strip + "\n"
596
+ end
597
+ return list
598
+ end
599
+ else
600
+ items.map { |i| "#{i}\n" }.join
601
+ end
602
+ end
603
+ end
604
+
605
+ #
606
+ # The basic output method for HighLine objects. If the provided _statement_
607
+ # ends with a space or tab character, a newline will not be appended (output
608
+ # will be flush()ed). All other cases are passed straight to Kernel.puts().
609
+ #
610
+ # The _statement_ parameter is processed as an ERb template, supporting
611
+ # embedded Ruby code. The template is evaluated with a binding inside
612
+ # the HighLine instance, providing easy access to the ANSI color constants
613
+ # and the HighLine.color() method.
614
+ #
615
+ def say( statement )
616
+ statement = statement.to_str
617
+ return unless statement.length > 0
618
+
619
+ # Allow non-ascii menu prompts in ruby > 1.9.2. ERB eval the menu statement
620
+ # with the environment's default encoding(usually utf8)
621
+ statement.force_encoding(Encoding.default_external) if defined?(Encoding) && Encoding.default_external
622
+
623
+ template = ERB.new(statement, nil, "%")
624
+ statement = template.result(binding)
625
+
626
+ statement = wrap(statement) unless @wrap_at.nil?
627
+ statement = page_print(statement) unless @page_at.nil?
628
+
629
+ statement = statement.gsub(/\n(?!$)/,"\n#{indentation}") if @multi_indent
630
+
631
+ # Don't add a newline if statement ends with whitespace, OR
632
+ # if statement ends with whitespace before a color escape code.
633
+ if /[ \t](\e\[\d+(;\d+)*m)?\Z/ =~ statement
634
+ @output.print(indentation+statement)
635
+ @output.flush
636
+ else
637
+ @output.puts(indentation+statement)
638
+ end
639
+ end
640
+
641
+ #
642
+ # Set to an integer value to cause HighLine to wrap output lines at the
643
+ # indicated character limit. When +nil+, the default, no wrapping occurs. If
644
+ # set to <tt>:auto</tt>, HighLine will attempt to determine the columns
645
+ # available for the <tt>@output</tt> or use a sensible default.
646
+ #
647
+ def wrap_at=( setting )
648
+ @wrap_at = setting == :auto ? output_cols : setting
649
+ end
650
+
651
+ #
652
+ # Set to an integer value to cause HighLine to page output lines over the
653
+ # indicated line limit. When +nil+, the default, no paging occurs. If
654
+ # set to <tt>:auto</tt>, HighLine will attempt to determine the rows available
655
+ # for the <tt>@output</tt> or use a sensible default.
656
+ #
657
+ def page_at=( setting )
658
+ @page_at = setting == :auto ? output_rows - 2 : setting
659
+ end
660
+
661
+ #
662
+ # Outputs indentation with current settings
663
+ #
664
+ def indentation
665
+ return ' '*@indent_size*@indent_level
666
+ end
667
+
668
+ #
669
+ # Executes block or outputs statement with indentation
670
+ #
671
+ def indent(increase=1, statement=nil, multiline=nil)
672
+ @indent_level += increase
673
+ multi = @multi_indent
674
+ @multi_indent = multiline unless multiline.nil?
675
+ if block_given?
676
+ yield self
677
+ else
678
+ say(statement)
679
+ end
680
+ @multi_indent = multi
681
+ @indent_level -= increase
682
+ end
683
+
684
+ #
685
+ # Outputs newline
686
+ #
687
+ def newline
688
+ @output.puts
689
+ end
690
+
691
+ #
692
+ # Returns the number of columns for the console, or a default it they cannot
693
+ # be determined.
694
+ #
695
+ def output_cols
696
+ return 80 unless @output.tty?
697
+ terminal_size.first
698
+ rescue
699
+ return 80
700
+ end
701
+
702
+ #
703
+ # Returns the number of rows for the console, or a default if they cannot be
704
+ # determined.
705
+ #
706
+ def output_rows
707
+ return 24 unless @output.tty?
708
+ terminal_size.last
709
+ rescue
710
+ return 24
711
+ end
712
+
713
+ private
714
+
715
+ #
716
+ # A helper method for sending the output stream and error and repeat
717
+ # of the question.
718
+ #
719
+ def explain_error( error )
720
+ say(@question.responses[error]) unless error.nil?
721
+ if @question.responses[:ask_on_error] == :question
722
+ say(@question)
723
+ elsif @question.responses[:ask_on_error]
724
+ say(@question.responses[:ask_on_error])
725
+ end
726
+ end
727
+
728
+ #
729
+ # Collects an Array/Hash full of answers as described in
730
+ # HighLine::Question.gather().
731
+ #
732
+ # Raises EOFError if input is exhausted.
733
+ #
734
+ def gather( )
735
+ original_question = @question
736
+ original_question_string = @question.question
737
+ original_gather = @question.gather
738
+
739
+ verify_match = @question.verify_match
740
+ @question.gather = false
741
+
742
+ begin # when verify_match is set this loop will repeat until unique_answers == 1
743
+ @answers = [ ]
744
+ @gather = original_gather
745
+ original_question.question = original_question_string
746
+
747
+ case @gather
748
+ when Integer
749
+ @answers << ask(@question)
750
+ @gather -= 1
751
+
752
+ original_question.question = ""
753
+ until @gather.zero?
754
+ @question = original_question
755
+ @answers << ask(@question)
756
+ @gather -= 1
757
+ end
758
+ when ::String, Regexp
759
+ @answers << ask(@question)
760
+
761
+ original_question.question = ""
762
+ until (@gather.is_a?(::String) and @answers.last.to_s == @gather) or
763
+ (@gather.is_a?(Regexp) and @answers.last.to_s =~ @gather)
764
+ @question = original_question
765
+ @answers << ask(@question)
766
+ end
767
+
768
+ @answers.pop
769
+ when Hash
770
+ @answers = { }
771
+ @gather.keys.sort.each do |key|
772
+ @question = original_question
773
+ @key = key
774
+ @answers[key] = ask(@question)
775
+ end
776
+ end
777
+
778
+ if verify_match && (unique_answers(@answers).size > 1)
779
+ @question = original_question
780
+ explain_error(:mismatch)
781
+ else
782
+ verify_match = false
783
+ end
784
+
785
+ end while verify_match
786
+
787
+ original_question.verify_match ? @answer : @answers
788
+ end
789
+
790
+ #
791
+ # A helper method used by HighLine::Question.verify_match
792
+ # for finding whether a list of answers match or differ
793
+ # from each other.
794
+ #
795
+ def unique_answers(list = @answers)
796
+ (list.respond_to?(:values) ? list.values : list).uniq
797
+ end
798
+
799
+ #
800
+ # Read a line of input from the input stream and process whitespace as
801
+ # requested by the Question object.
802
+ #
803
+ # If Question's _readline_ property is set, that library will be used to
804
+ # fetch input. *WARNING*: This ignores the currently set input stream.
805
+ #
806
+ # Raises EOFError if input is exhausted.
807
+ #
808
+ def get_line( )
809
+ if @question.readline
810
+ require "readline" # load only if needed
811
+
812
+ # capture say()'s work in a String to feed to readline()
813
+ old_output = @output
814
+ @output = StringIO.new
815
+ say(@question)
816
+ question = @output.string
817
+ @output = old_output
818
+
819
+ # prep auto-completion
820
+ Readline.completion_proc = lambda do |string|
821
+ @question.selection.grep(/\A#{Regexp.escape(string)}/)
822
+ end
823
+
824
+ # work-around ugly readline() warnings
825
+ old_verbose = $VERBOSE
826
+ $VERBOSE = nil
827
+ raw_answer = Readline.readline(question, true)
828
+ if raw_answer.nil?
829
+ if @@track_eof
830
+ raise EOFError, "The input stream is exhausted."
831
+ else
832
+ raw_answer = String.new # Never return nil
833
+ end
834
+ end
835
+ answer = @question.change_case(
836
+ @question.remove_whitespace(raw_answer))
837
+ $VERBOSE = old_verbose
838
+
839
+ answer
840
+ else
841
+ if JRUBY
842
+ raw_answer = @java_console.readLine(@question.question, nil)
843
+ else
844
+ raise EOFError, "The input stream is exhausted." if @@track_eof and
845
+ @input.eof?
846
+ raw_answer = @input.gets
847
+ end
848
+
849
+ @question.change_case(@question.remove_whitespace(raw_answer))
850
+ end
851
+ end
852
+
853
+ #
854
+ # Return a line or character of input, as requested for this question.
855
+ # Character input will be returned as a single character String,
856
+ # not an Integer.
857
+ #
858
+ # This question's _first_answer_ will be returned instead of input, if set.
859
+ #
860
+ # Raises EOFError if input is exhausted.
861
+ #
862
+ def get_response( )
863
+ return @question.first_answer if @question.first_answer?
864
+
865
+ if @question.character.nil?
866
+ if @question.echo == true and @question.limit.nil?
867
+ get_line
868
+ else
869
+ raw_no_echo_mode
870
+
871
+ line = ""
872
+ backspace_limit = 0
873
+ begin
874
+
875
+ while character = get_character(@input)
876
+ # honor backspace and delete
877
+ if character == 127 or character == 8
878
+ line.slice!(-1, 1)
879
+ backspace_limit -= 1
880
+ else
881
+ line << character.chr
882
+ backspace_limit = line.size
883
+ end
884
+ # looking for carriage return (decimal 13) or
885
+ # newline (decimal 10) in raw input
886
+ break if character == 13 or character == 10
887
+ if @question.echo != false
888
+ if character == 127 or character == 8
889
+ # only backspace if we have characters on the line to
890
+ # eliminate, otherwise we'll tromp over the prompt
891
+ if backspace_limit >= 0 then
892
+ @output.print("\b#{HighLine.Style(:erase_char).code}")
893
+ else
894
+ # do nothing
895
+ end
896
+ else
897
+ if @question.echo == true
898
+ @output.print(character.chr)
899
+ else
900
+ @output.print(@question.echo)
901
+ end
902
+ end
903
+ @output.flush
904
+ end
905
+ break if @question.limit and line.size == @question.limit
906
+ end
907
+ ensure
908
+ restore_mode
909
+ end
910
+ if @question.overwrite
911
+ @output.print("\r#{HighLine.Style(:erase_line).code}")
912
+ @output.flush
913
+ else
914
+ say("\n")
915
+ end
916
+
917
+ @question.change_case(@question.remove_whitespace(line))
918
+ end
919
+ else
920
+ raw_no_echo_mode
921
+ begin
922
+ if @question.character == :getc
923
+ response = @input.getbyte.chr
924
+ else
925
+ response = get_character(@input).chr
926
+ if @question.overwrite
927
+ @output.print("\r#{HighLine.Style(:erase_line).code}")
928
+ @output.flush
929
+ else
930
+ echo = if @question.echo == true
931
+ response
932
+ elsif @question.echo != false
933
+ @question.echo
934
+ else
935
+ ""
936
+ end
937
+ say("#{echo}\n")
938
+ end
939
+ end
940
+ ensure
941
+ restore_mode
942
+ end
943
+ @question.change_case(response)
944
+ end
945
+ end
946
+
947
+ #
948
+ # Page print a series of at most _page_at_ lines for _output_. After each
949
+ # page is printed, HighLine will pause until the user presses enter/return
950
+ # then display the next page of data.
951
+ #
952
+ # Note that the final page of _output_ is *not* printed, but returned
953
+ # instead. This is to support any special handling for the final sequence.
954
+ #
955
+ def page_print( output )
956
+ lines = output.scan(/[^\n]*\n?/)
957
+ while lines.size > @page_at
958
+ @output.puts lines.slice!(0...@page_at).join
959
+ @output.puts
960
+ # Return last line if user wants to abort paging
961
+ return (["...\n"] + lines.slice(-2,1)).join unless continue_paging?
962
+ end
963
+ return lines.join
964
+ end
965
+
966
+ #
967
+ # Ask user if they wish to continue paging output. Allows them to type "q" to
968
+ # cancel the paging process.
969
+ #
970
+ def continue_paging?
971
+ command = HighLine.new(@input, @output).ask(
972
+ "-- press enter/return to continue or q to stop -- "
973
+ ) { |q| q.character = true }
974
+ command !~ /\A[qQ]\Z/ # Only continue paging if Q was not hit.
975
+ end
976
+
977
+ #
978
+ # Wrap a sequence of _lines_ at _wrap_at_ characters per line. Existing
979
+ # newlines will not be affected by this process, but additional newlines
980
+ # may be added.
981
+ #
982
+ def wrap( text )
983
+ wrapped = [ ]
984
+ text.each_line do |line|
985
+ # take into account color escape sequences when wrapping
986
+ wrap_at = @wrap_at + (line.length - actual_length(line))
987
+ while line =~ /([^\n]{#{wrap_at + 1},})/
988
+ search = $1.dup
989
+ replace = $1.dup
990
+ if index = replace.rindex(" ", wrap_at)
991
+ replace[index, 1] = "\n"
992
+ replace.sub!(/\n[ \t]+/, "\n")
993
+ line.sub!(search, replace)
994
+ else
995
+ line[$~.begin(1) + wrap_at, 0] = "\n"
996
+ end
997
+ end
998
+ wrapped << line
999
+ end
1000
+ return wrapped.join
1001
+ end
1002
+
1003
+ #
1004
+ # Returns the length of the passed +string_with_escapes+, minus and color
1005
+ # sequence escapes.
1006
+ #
1007
+ def actual_length( string_with_escapes )
1008
+ string_with_escapes.to_s.gsub(/\e\[\d{1,2}m/, "").length
1009
+ end
1010
+ end
1011
+
1012
+ require "highline/string_extensions"