nutshell-crm 0.0.5 → 0.0.6.alpha

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. data/.rbenv-version +1 -0
  2. data/.travis.yml +8 -0
  3. data/CHANGELOG.md +5 -0
  4. data/README.md +37 -0
  5. data/Rakefile +14 -3
  6. data/lib/nutshell-crm.rb +92 -5
  7. data/lib/nutshell-crm/version.rb +1 -1
  8. data/nutshell-crm.gemspec +1 -0
  9. data/spec/nutshell-crm_spec.rb +17 -8
  10. data/vendor/bundle/bin/rake +19 -0
  11. data/vendor/bundle/gems/json-1.6.4/.gitignore +8 -0
  12. data/vendor/bundle/gems/json-1.6.4/.travis.yml +15 -0
  13. data/vendor/bundle/gems/json-1.6.4/CHANGES +227 -0
  14. data/vendor/bundle/gems/json-1.6.4/COPYING +58 -0
  15. data/vendor/bundle/gems/json-1.6.4/COPYING-json-jruby +57 -0
  16. data/vendor/bundle/gems/json-1.6.4/GPL +340 -0
  17. data/vendor/bundle/gems/json-1.6.4/Gemfile +11 -0
  18. data/vendor/bundle/gems/json-1.6.4/README-json-jruby.markdown +33 -0
  19. data/vendor/bundle/gems/json-1.6.4/README.rdoc +358 -0
  20. data/vendor/bundle/gems/json-1.6.4/Rakefile +408 -0
  21. data/vendor/bundle/gems/json-1.6.4/TODO +1 -0
  22. data/vendor/bundle/gems/json-1.6.4/VERSION +1 -0
  23. data/{README → vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/.keep} +0 -0
  24. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkComparison.log +52 -0
  25. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast-autocorrelation.dat +1000 -0
  26. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_fast.dat +1001 -0
  27. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty-autocorrelation.dat +900 -0
  28. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_pretty.dat +901 -0
  29. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe-autocorrelation.dat +1000 -0
  30. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt#generator_safe.dat +1001 -0
  31. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkExt.log +261 -0
  32. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast-autocorrelation.dat +1000 -0
  33. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_fast.dat +1001 -0
  34. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty-autocorrelation.dat +1000 -0
  35. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_pretty.dat +1001 -0
  36. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe-autocorrelation.dat +1000 -0
  37. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure#generator_safe.dat +1001 -0
  38. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkPure.log +262 -0
  39. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator-autocorrelation.dat +1000 -0
  40. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails#generator.dat +1001 -0
  41. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/GeneratorBenchmarkRails.log +82 -0
  42. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkComparison.log +34 -0
  43. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser-autocorrelation.dat +900 -0
  44. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt#parser.dat +901 -0
  45. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkExt.log +81 -0
  46. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser-autocorrelation.dat +1000 -0
  47. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure#parser.dat +1001 -0
  48. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkPure.log +82 -0
  49. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser-autocorrelation.dat +1000 -0
  50. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails#parser.dat +1001 -0
  51. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkRails.log +82 -0
  52. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser-autocorrelation.dat +1000 -0
  53. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML#parser.dat +1001 -0
  54. data/vendor/bundle/gems/json-1.6.4/benchmarks/data-p4-3GHz-ruby18/ParserBenchmarkYAML.log +82 -0
  55. data/vendor/bundle/gems/json-1.6.4/benchmarks/data/.keep +0 -0
  56. data/vendor/bundle/gems/json-1.6.4/benchmarks/generator2_benchmark.rb +222 -0
  57. data/vendor/bundle/gems/json-1.6.4/benchmarks/generator_benchmark.rb +224 -0
  58. data/vendor/bundle/gems/json-1.6.4/benchmarks/ohai.json +1216 -0
  59. data/vendor/bundle/gems/json-1.6.4/benchmarks/ohai.ruby +1 -0
  60. data/vendor/bundle/gems/json-1.6.4/benchmarks/parser2_benchmark.rb +251 -0
  61. data/vendor/bundle/gems/json-1.6.4/benchmarks/parser_benchmark.rb +259 -0
  62. data/vendor/bundle/gems/json-1.6.4/data/example.json +1 -0
  63. data/vendor/bundle/gems/json-1.6.4/data/index.html +38 -0
  64. data/vendor/bundle/gems/json-1.6.4/data/prototype.js +4184 -0
  65. data/vendor/bundle/gems/json-1.6.4/diagrams/.keep +0 -0
  66. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/fbuffer/fbuffer.h +156 -0
  67. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/Makefile +187 -0
  68. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/extconf.rb +13 -0
  69. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.bundle +0 -0
  70. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.c +1384 -0
  71. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.h +161 -0
  72. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/generator/generator.o +0 -0
  73. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/json/ext/generator.bundle +0 -0
  74. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/json/ext/parser.bundle +0 -0
  75. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/Makefile +187 -0
  76. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/extconf.rb +13 -0
  77. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.bundle +0 -0
  78. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.c +2203 -0
  79. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.h +77 -0
  80. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.o +0 -0
  81. data/vendor/bundle/gems/json-1.6.4/ext/json/ext/parser/parser.rl +926 -0
  82. data/vendor/bundle/gems/json-1.6.4/install.rb +19 -0
  83. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/ByteListTranscoder.java +167 -0
  84. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Generator.java +437 -0
  85. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/GeneratorMethods.java +232 -0
  86. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/GeneratorService.java +43 -0
  87. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/GeneratorState.java +522 -0
  88. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/OptionsReader.java +113 -0
  89. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Parser.java +2640 -0
  90. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Parser.rl +964 -0
  91. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/ParserService.java +35 -0
  92. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/RuntimeInfo.java +121 -0
  93. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/StringDecoder.java +166 -0
  94. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/StringEncoder.java +106 -0
  95. data/vendor/bundle/gems/json-1.6.4/java/src/json/ext/Utils.java +89 -0
  96. data/vendor/bundle/gems/json-1.6.4/json-java.gemspec +22 -0
  97. data/vendor/bundle/gems/json-1.6.4/json.gemspec +40 -0
  98. data/vendor/bundle/gems/json-1.6.4/json_pure.gemspec +42 -0
  99. data/vendor/bundle/gems/json-1.6.4/lib/json.rb +62 -0
  100. data/vendor/bundle/gems/json-1.6.4/lib/json/add/bigdecimal.rb +21 -0
  101. data/vendor/bundle/gems/json-1.6.4/lib/json/add/complex.rb +22 -0
  102. data/vendor/bundle/gems/json-1.6.4/lib/json/add/core.rb +11 -0
  103. data/vendor/bundle/gems/json-1.6.4/lib/json/add/date.rb +34 -0
  104. data/vendor/bundle/gems/json-1.6.4/lib/json/add/date_time.rb +50 -0
  105. data/vendor/bundle/gems/json-1.6.4/lib/json/add/exception.rb +31 -0
  106. data/vendor/bundle/gems/json-1.6.4/lib/json/add/ostruct.rb +31 -0
  107. data/vendor/bundle/gems/json-1.6.4/lib/json/add/range.rb +29 -0
  108. data/vendor/bundle/gems/json-1.6.4/lib/json/add/rational.rb +22 -0
  109. data/vendor/bundle/gems/json-1.6.4/lib/json/add/regexp.rb +30 -0
  110. data/vendor/bundle/gems/json-1.6.4/lib/json/add/struct.rb +30 -0
  111. data/vendor/bundle/gems/json-1.6.4/lib/json/add/symbol.rb +25 -0
  112. data/vendor/bundle/gems/json-1.6.4/lib/json/add/time.rb +35 -0
  113. data/vendor/bundle/gems/json-1.6.4/lib/json/common.rb +470 -0
  114. data/vendor/bundle/gems/json-1.6.4/lib/json/ext.rb +21 -0
  115. data/vendor/bundle/gems/json-1.6.4/lib/json/ext/.keep +0 -0
  116. data/vendor/bundle/gems/json-1.6.4/lib/json/pure.rb +21 -0
  117. data/vendor/bundle/gems/json-1.6.4/lib/json/pure/generator.rb +468 -0
  118. data/vendor/bundle/gems/json-1.6.4/lib/json/pure/parser.rb +359 -0
  119. data/vendor/bundle/gems/json-1.6.4/lib/json/version.rb +8 -0
  120. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail1.json +1 -0
  121. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail10.json +1 -0
  122. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail11.json +1 -0
  123. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail12.json +1 -0
  124. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail13.json +1 -0
  125. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail14.json +1 -0
  126. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail18.json +1 -0
  127. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail19.json +1 -0
  128. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail2.json +1 -0
  129. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail20.json +1 -0
  130. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail21.json +1 -0
  131. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail22.json +1 -0
  132. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail23.json +1 -0
  133. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail24.json +1 -0
  134. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail25.json +1 -0
  135. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail27.json +2 -0
  136. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail28.json +2 -0
  137. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail3.json +1 -0
  138. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail4.json +1 -0
  139. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail5.json +1 -0
  140. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail6.json +1 -0
  141. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail7.json +1 -0
  142. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail8.json +1 -0
  143. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/fail9.json +1 -0
  144. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass1.json +56 -0
  145. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass15.json +1 -0
  146. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass16.json +1 -0
  147. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass17.json +1 -0
  148. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass2.json +1 -0
  149. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass26.json +1 -0
  150. data/vendor/bundle/gems/json-1.6.4/tests/fixtures/pass3.json +6 -0
  151. data/vendor/bundle/gems/json-1.6.4/tests/setup_variant.rb +11 -0
  152. data/vendor/bundle/gems/json-1.6.4/tests/test_json.rb +527 -0
  153. data/vendor/bundle/gems/json-1.6.4/tests/test_json_addition.rb +188 -0
  154. data/vendor/bundle/gems/json-1.6.4/tests/test_json_encoding.rb +65 -0
  155. data/vendor/bundle/gems/json-1.6.4/tests/test_json_fixtures.rb +35 -0
  156. data/vendor/bundle/gems/json-1.6.4/tests/test_json_generate.rb +249 -0
  157. data/vendor/bundle/gems/json-1.6.4/tests/test_json_string_matching.rb +40 -0
  158. data/vendor/bundle/gems/json-1.6.4/tests/test_json_unicode.rb +72 -0
  159. data/vendor/bundle/gems/json-1.6.4/tools/fuzz.rb +139 -0
  160. data/vendor/bundle/gems/json-1.6.4/tools/server.rb +62 -0
  161. data/vendor/bundle/gems/rake-0.9.2.2/.gemtest +0 -0
  162. data/vendor/bundle/gems/rake-0.9.2.2/CHANGES +522 -0
  163. data/vendor/bundle/gems/rake-0.9.2.2/MIT-LICENSE +21 -0
  164. data/vendor/bundle/gems/rake-0.9.2.2/README.rdoc +197 -0
  165. data/vendor/bundle/gems/rake-0.9.2.2/Rakefile +369 -0
  166. data/vendor/bundle/gems/rake-0.9.2.2/TODO +20 -0
  167. data/vendor/bundle/gems/rake-0.9.2.2/bin/rake +33 -0
  168. data/vendor/bundle/gems/rake-0.9.2.2/install.rb +90 -0
  169. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake.rb +69 -0
  170. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/alt_system.rb +109 -0
  171. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/application.rb +595 -0
  172. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/classic_namespace.rb +11 -0
  173. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/clean.rb +32 -0
  174. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/cloneable.rb +25 -0
  175. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/compositepublisher.rb +21 -0
  176. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/ftptools.rb +150 -0
  177. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/publisher.rb +73 -0
  178. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/rubyforgepublisher.rb +16 -0
  179. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/sshpublisher.rb +50 -0
  180. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/contrib/sys.rb +191 -0
  181. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/default_loader.rb +10 -0
  182. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/dsl_definition.rb +176 -0
  183. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/early_time.rb +18 -0
  184. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/core.rb +27 -0
  185. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/module.rb +39 -0
  186. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/string.rb +167 -0
  187. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ext/time.rb +14 -0
  188. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_creation_task.rb +24 -0
  189. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_list.rb +403 -0
  190. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_task.rb +47 -0
  191. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_utils.rb +114 -0
  192. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/file_utils_ext.rb +145 -0
  193. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/gempackagetask.rb +15 -0
  194. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/invocation_chain.rb +51 -0
  195. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/invocation_exception_mixin.rb +16 -0
  196. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/loaders/makefile.rb +40 -0
  197. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/multi_task.rb +16 -0
  198. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/name_space.rb +25 -0
  199. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/packagetask.rb +185 -0
  200. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/pathmap.rb +1 -0
  201. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/pseudo_status.rb +24 -0
  202. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rake_module.rb +29 -0
  203. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rake_test_loader.rb +22 -0
  204. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rdoctask.rb +234 -0
  205. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/ruby182_test_unit_fix.rb +25 -0
  206. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/rule_recursion_overflow_error.rb +20 -0
  207. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/runtest.rb +21 -0
  208. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task.rb +327 -0
  209. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task_argument_error.rb +7 -0
  210. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task_arguments.rb +78 -0
  211. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/task_manager.rb +307 -0
  212. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/tasklib.rb +22 -0
  213. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/testtask.rb +191 -0
  214. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/version.rb +8 -0
  215. data/vendor/bundle/gems/rake-0.9.2.2/lib/rake/win32.rb +55 -0
  216. data/vendor/bundle/gems/rake-0.9.2.2/test/file_creation.rb +34 -0
  217. data/vendor/bundle/gems/rake-0.9.2.2/test/helper.rb +492 -0
  218. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake.rb +40 -0
  219. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_application.rb +489 -0
  220. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_application_options.rb +335 -0
  221. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_clean.rb +14 -0
  222. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_definitions.rb +80 -0
  223. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_directory_task.rb +46 -0
  224. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_dsl.rb +77 -0
  225. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_early_time.rb +31 -0
  226. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_extension.rb +59 -0
  227. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_creation_task.rb +56 -0
  228. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_list.rb +628 -0
  229. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_list_path_map.rb +8 -0
  230. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_task.rb +102 -0
  231. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_file_utils.rb +305 -0
  232. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_ftp_file.rb +59 -0
  233. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_functional.rb +450 -0
  234. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_invocation_chain.rb +52 -0
  235. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_makefile_loader.rb +44 -0
  236. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_multi_task.rb +51 -0
  237. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_name_space.rb +43 -0
  238. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_package_task.rb +79 -0
  239. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_path_map.rb +157 -0
  240. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_path_map_explode.rb +34 -0
  241. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_path_map_partial.rb +18 -0
  242. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_pseudo_status.rb +21 -0
  243. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_rake_test_loader.rb +21 -0
  244. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_rdoc_task.rb +83 -0
  245. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_require.rb +40 -0
  246. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_rules.rb +327 -0
  247. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task.rb +267 -0
  248. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_argument_parsing.rb +103 -0
  249. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_arguments.rb +88 -0
  250. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_lib.rb +9 -0
  251. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_manager.rb +157 -0
  252. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_manager_argument_resolution.rb +36 -0
  253. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_task_with_arguments.rb +173 -0
  254. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_test_task.rb +120 -0
  255. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_top_level_functions.rb +111 -0
  256. data/vendor/bundle/gems/rake-0.9.2.2/test/test_rake_win32.rb +72 -0
  257. data/vendor/bundle/gems/rake-0.9.2.2/test/test_sys.rb +20 -0
  258. data/vendor/bundle/specifications/json-1.6.4.gemspec +39 -0
  259. data/vendor/bundle/specifications/rake-0.9.2.2.gemspec +34 -0
  260. metadata +285 -18
@@ -0,0 +1,40 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRake < Rake::TestCase
4
+ def test_each_dir_parent
5
+ assert_equal ['a'], alldirs('a')
6
+ assert_equal ['a/b', 'a'], alldirs('a/b')
7
+ assert_equal ['/a/b', '/a', '/'], alldirs('/a/b')
8
+ if File.dirname("c:/foo") == "c:"
9
+ # Under Unix
10
+ assert_equal ['c:/a/b', 'c:/a', 'c:'], alldirs('c:/a/b')
11
+ assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b')
12
+ else
13
+ # Under Windows
14
+ assert_equal ['c:/a/b', 'c:/a', 'c:/'], alldirs('c:/a/b')
15
+ assert_equal ['c:a/b', 'c:a'], alldirs('c:a/b')
16
+ end
17
+ end
18
+
19
+ def alldirs(fn)
20
+ result = []
21
+ Rake.each_dir_parent(fn) { |d| result << d }
22
+ result
23
+ end
24
+
25
+ def test_can_override_application
26
+ old_app = Rake.application
27
+ fake_app = Object.new
28
+ Rake.application = fake_app
29
+
30
+ assert_equal fake_app, Rake.application
31
+
32
+ ensure
33
+ Rake.application = old_app
34
+ end
35
+
36
+ def test_original_dir_reports_current_dir
37
+ assert_equal @tempdir, Rake.original_dir
38
+ end
39
+
40
+ end
@@ -0,0 +1,489 @@
1
+ require File.expand_path('../helper', __FILE__)
2
+
3
+ class TestRakeApplication < Rake::TestCase
4
+
5
+ def setup
6
+ super
7
+
8
+ @app = Rake.application
9
+ @app.options.rakelib = []
10
+ end
11
+
12
+ def test_constant_warning
13
+ _, err = capture_io do @app.instance_eval { const_warning("Task") } end
14
+ assert_match(/warning/i, err)
15
+ assert_match(/deprecated/i, err)
16
+ assert_match(/Task/i, err)
17
+ end
18
+
19
+ def test_display_tasks
20
+ @app.options.show_tasks = :tasks
21
+ @app.options.show_task_pattern = //
22
+ @app.last_description = "COMMENT"
23
+ @app.define_task(Rake::Task, "t")
24
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
25
+ assert_match(/^rake t/, out)
26
+ assert_match(/# COMMENT/, out)
27
+ end
28
+
29
+ def test_display_tasks_with_long_comments
30
+ @app.terminal_columns = 80
31
+ @app.options.show_tasks = :tasks
32
+ @app.options.show_task_pattern = //
33
+ @app.last_description = "1234567890" * 8
34
+ @app.define_task(Rake::Task, "t")
35
+
36
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
37
+
38
+ assert_match(/^rake t/, out)
39
+ assert_match(/# 12345678901234567890123456789012345678901234567890123456789012345\.\.\./, out)
40
+ end
41
+
42
+ def test_display_tasks_with_task_name_wider_than_tty_display
43
+ @app.terminal_columns = 80
44
+ @app.options.show_tasks = :tasks
45
+ @app.options.show_task_pattern = //
46
+ task_name = "task name" * 80
47
+ @app.last_description = "something short"
48
+ @app.define_task(Rake::Task, task_name )
49
+
50
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
51
+
52
+ # Ensure the entire task name is output and we end up showing no description
53
+ assert_match(/rake #{task_name} # .../, out)
54
+ end
55
+
56
+ def test_display_tasks_with_very_long_task_name_to_a_non_tty_shows_name_and_comment
57
+ @app.options.show_tasks = :tasks
58
+ @app.options.show_task_pattern = //
59
+ @app.tty_output = false
60
+ description = "something short"
61
+ task_name = "task name" * 80
62
+ @app.last_description = "something short"
63
+ @app.define_task(Rake::Task, task_name )
64
+
65
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
66
+
67
+ # Ensure the entire task name is output and we end up showing no description
68
+ assert_match(/rake #{task_name} # #{description}/, out)
69
+ end
70
+
71
+ def test_display_tasks_with_long_comments_to_a_non_tty_shows_entire_comment
72
+ @app.options.show_tasks = :tasks
73
+ @app.options.show_task_pattern = //
74
+ @app.tty_output = false
75
+ @app.last_description = "1234567890" * 8
76
+ @app.define_task(Rake::Task, "t")
77
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
78
+ assert_match(/^rake t/, out)
79
+ assert_match(/# #{@app.last_description}/, out)
80
+ end
81
+
82
+ def test_display_tasks_with_long_comments_to_a_non_tty_with_columns_set_truncates_comments
83
+ @app.terminal_columns = 80
84
+ @app.options.show_tasks = :tasks
85
+ @app.options.show_task_pattern = //
86
+ @app.tty_output = false
87
+ @app.last_description = "1234567890" * 8
88
+ @app.define_task(Rake::Task, "t")
89
+
90
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
91
+
92
+ assert_match(/^rake t/, out)
93
+ assert_match(/# 12345678901234567890123456789012345678901234567890123456789012345\.\.\./, out)
94
+ end
95
+
96
+ def test_describe_tasks
97
+ @app.options.show_tasks = :describe
98
+ @app.options.show_task_pattern = //
99
+ @app.last_description = "COMMENT"
100
+ @app.define_task(Rake::Task, "t")
101
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
102
+ assert_match(/^rake t$/, out)
103
+ assert_match(/^ {4}COMMENT$/, out)
104
+ end
105
+
106
+ def test_show_lines
107
+ @app.options.show_tasks = :lines
108
+ @app.options.show_task_pattern = //
109
+ @app.last_description = "COMMENT"
110
+ @app.define_task(Rake::Task, "t")
111
+ @app['t'].locations << "HERE:1"
112
+ out, = capture_io do @app.instance_eval { display_tasks_and_comments } end
113
+ assert_match(/^rake t +[^:]+:\d+ *$/, out)
114
+ end
115
+
116
+ def test_finding_rakefile
117
+ rakefile_default
118
+
119
+ assert_match(/Rakefile/i, @app.instance_eval { have_rakefile })
120
+ end
121
+
122
+ def test_not_finding_rakefile
123
+ @app.instance_eval { @rakefiles = ['NEVER_FOUND'] }
124
+ assert( ! @app.instance_eval do have_rakefile end )
125
+ assert_nil @app.rakefile
126
+ end
127
+
128
+ def test_load_rakefile
129
+ rakefile_unittest
130
+
131
+ @app.instance_eval do
132
+ handle_options
133
+ options.silent = true
134
+ load_rakefile
135
+ end
136
+
137
+ assert_equal "rakefile", @app.rakefile.downcase
138
+ assert_equal @tempdir, Dir.pwd
139
+ end
140
+
141
+ def test_load_rakefile_doesnt_print_rakefile_directory_from_same_dir
142
+ rakefile_unittest
143
+
144
+ _, err = capture_io do
145
+ @app.instance_eval do
146
+ # pretend we started from the unittest dir
147
+ @original_dir = File.expand_path(".")
148
+ raw_load_rakefile
149
+ end
150
+ end
151
+
152
+ assert_empty err
153
+ end
154
+
155
+ def test_load_rakefile_from_subdir
156
+ rakefile_unittest
157
+ Dir.chdir 'subdir'
158
+
159
+ @app.instance_eval do
160
+ handle_options
161
+ options.silent = true
162
+ load_rakefile
163
+ end
164
+
165
+ assert_equal "rakefile", @app.rakefile.downcase
166
+ assert_equal @tempdir, Dir.pwd
167
+ end
168
+
169
+ def test_load_rakefile_prints_rakefile_directory_from_subdir
170
+ rakefile_unittest
171
+ Dir.chdir 'subdir'
172
+
173
+ app = Rake::Application.new
174
+ app.options.rakelib = []
175
+
176
+ _, err = capture_io do
177
+ app.instance_eval do
178
+ raw_load_rakefile
179
+ end
180
+ end
181
+
182
+ assert_equal "(in #{@tempdir}\)\n", err
183
+ end
184
+
185
+ def test_load_rakefile_doesnt_print_rakefile_directory_from_subdir_if_silent
186
+ rakefile_unittest
187
+ Dir.chdir 'subdir'
188
+
189
+ _, err = capture_io do
190
+ @app.instance_eval do
191
+ handle_options
192
+ options.silent = true
193
+ raw_load_rakefile
194
+ end
195
+ end
196
+
197
+ assert_empty err
198
+ end
199
+
200
+ def test_load_rakefile_not_found
201
+ Dir.chdir @tempdir
202
+ ENV['RAKE_SYSTEM'] = 'not_exist'
203
+
204
+ @app.instance_eval do
205
+ handle_options
206
+ options.silent = true
207
+ end
208
+
209
+ ex = assert_raises(RuntimeError) do
210
+ @app.instance_eval do raw_load_rakefile end
211
+ end
212
+
213
+ assert_match(/no rakefile found/i, ex.message)
214
+ end
215
+
216
+ def test_load_from_system_rakefile
217
+ rake_system_dir
218
+
219
+ @app.instance_eval do
220
+ handle_options
221
+ options.silent = true
222
+ options.load_system = true
223
+ options.rakelib = []
224
+ load_rakefile
225
+ end
226
+
227
+ assert_equal @system_dir, @app.system_dir
228
+ assert_nil @app.rakefile
229
+ rescue SystemExit
230
+ flunk 'failed to load rakefile'
231
+ end
232
+
233
+ def test_load_from_calculated_system_rakefile
234
+ rakefile_default
235
+ def @app.standard_system_dir
236
+ "__STD_SYS_DIR__"
237
+ end
238
+
239
+ ENV['RAKE_SYSTEM'] = nil
240
+
241
+ @app.instance_eval do
242
+ handle_options
243
+ options.silent = true
244
+ options.load_system = true
245
+ options.rakelib = []
246
+ load_rakefile
247
+ end
248
+
249
+ assert_equal "__STD_SYS_DIR__", @app.system_dir
250
+ rescue SystemExit
251
+ flunk 'failed to find system rakefile'
252
+ end
253
+
254
+ def test_terminal_columns
255
+ old_RAKE_COLUMNS = ENV['RAKE_COLUMNS']
256
+
257
+ ENV['RAKE_COLUMNS'] = '42'
258
+
259
+ app = Rake::Application.new
260
+
261
+ assert_equal 42, app.terminal_columns
262
+ ensure
263
+ if old_RAKE_COLUMNS then
264
+ ENV['RAKE_COLUMNS'].delete
265
+ else
266
+ ENV['RAKE_COLUMNS'] = old_RAKE_COLUMNS
267
+ end
268
+ end
269
+
270
+ def test_windows
271
+ assert ! (@app.windows? && @app.unix?)
272
+ end
273
+
274
+ def test_loading_imports
275
+ loader = util_loader
276
+
277
+ @app.instance_eval do
278
+ add_loader("dummy", loader)
279
+ add_import("x.dummy")
280
+ load_imports
281
+ end
282
+
283
+ # HACK no assertions
284
+ end
285
+
286
+ def test_building_imported_files_on_demand
287
+ loader = util_loader
288
+
289
+ @app.instance_eval do
290
+ intern(Rake::Task, "x.dummy").enhance do loader.make_dummy end
291
+ add_loader("dummy", loader)
292
+ add_import("x.dummy")
293
+ load_imports
294
+ end
295
+
296
+ # HACK no assertions
297
+ end
298
+
299
+ def test_handle_options_should_strip_options_from_ARGV
300
+ assert !@app.options.trace
301
+
302
+ valid_option = '--trace'
303
+ ARGV.clear
304
+ ARGV << valid_option
305
+
306
+ @app.handle_options
307
+
308
+ assert !ARGV.include?(valid_option)
309
+ assert @app.options.trace
310
+ end
311
+
312
+ def test_good_run
313
+ ran = false
314
+
315
+ ARGV << '--rakelib=""'
316
+
317
+ @app.options.silent = true
318
+
319
+ @app.instance_eval do
320
+ intern(Rake::Task, "default").enhance { ran = true }
321
+ end
322
+
323
+ rakefile_default
324
+
325
+ out, err = capture_io do
326
+ @app.run
327
+ end
328
+
329
+ assert ran
330
+ assert_empty err
331
+ assert_equal "DEFAULT\n", out
332
+ end
333
+
334
+ def test_display_task_run
335
+ ran = false
336
+ ARGV.clear
337
+ ARGV << '-f' << '-s' << '--tasks' << '--rakelib=""'
338
+ @app.last_description = "COMMENT"
339
+ @app.define_task(Rake::Task, "default")
340
+ out, = capture_io { @app.run }
341
+ assert @app.options.show_tasks
342
+ assert ! ran
343
+ assert_match(/rake default/, out)
344
+ assert_match(/# COMMENT/, out)
345
+ end
346
+
347
+ def test_display_prereqs
348
+ ran = false
349
+ ARGV.clear
350
+ ARGV << '-f' << '-s' << '--prereqs' << '--rakelib=""'
351
+ @app.last_description = "COMMENT"
352
+ t = @app.define_task(Rake::Task, "default")
353
+ t.enhance([:a, :b])
354
+ @app.define_task(Rake::Task, "a")
355
+ @app.define_task(Rake::Task, "b")
356
+ out, = capture_io { @app.run }
357
+ assert @app.options.show_prereqs
358
+ assert ! ran
359
+ assert_match(/rake a$/, out)
360
+ assert_match(/rake b$/, out)
361
+ assert_match(/rake default\n( *(a|b)\n){2}/m, out)
362
+ end
363
+
364
+ def test_bad_run
365
+ @app.intern(Rake::Task, "default").enhance { fail }
366
+ ARGV.clear
367
+ ARGV << '-f' << '-s' << '--rakelib=""'
368
+ assert_raises(SystemExit) {
369
+ _, err = capture_io { @app.run }
370
+ assert_match(/see full trace/, err)
371
+ }
372
+ ensure
373
+ ARGV.clear
374
+ end
375
+
376
+ def test_bad_run_with_trace
377
+ @app.intern(Rake::Task, "default").enhance { fail }
378
+ ARGV.clear
379
+ ARGV << '-f' << '-s' << '-t'
380
+ assert_raises(SystemExit) {
381
+ _, err = capture_io { @app.run }
382
+ refute_match(/see full trace/, err)
383
+ }
384
+ ensure
385
+ ARGV.clear
386
+ end
387
+
388
+ def test_run_with_bad_options
389
+ @app.intern(Rake::Task, "default").enhance { fail }
390
+ ARGV.clear
391
+ ARGV << '-f' << '-s' << '--xyzzy'
392
+ assert_raises(SystemExit) {
393
+ capture_io { @app.run }
394
+ }
395
+ ensure
396
+ ARGV.clear
397
+ end
398
+
399
+ def test_deprecation_message
400
+ _, err = capture_io do
401
+ @app.deprecate("a", "b", "c")
402
+ end
403
+ assert_match(/'a' is deprecated/i, err)
404
+ assert_match(/use 'b' instead/i, err)
405
+ assert_match(/at c$/i, err)
406
+ end
407
+
408
+ def test_standard_exception_handling_invalid_option
409
+ out, err = capture_io do
410
+ e = assert_raises SystemExit do
411
+ @app.standard_exception_handling do
412
+ raise OptionParser::InvalidOption, 'blah'
413
+ end
414
+ end
415
+
416
+ assert_equal 1, e.status
417
+ end
418
+
419
+ assert_empty out
420
+ assert_equal "invalid option: blah\n", err
421
+ end
422
+
423
+ def test_standard_exception_handling_other
424
+ out, err = capture_io do
425
+ e = assert_raises SystemExit do
426
+ @app.standard_exception_handling do
427
+ raise 'blah'
428
+ end
429
+ end
430
+
431
+ assert_equal 1, e.status
432
+ end
433
+
434
+ assert_empty out
435
+ assert_match "rake aborted!\n", err
436
+ assert_match "blah\n", err
437
+ end
438
+
439
+ def test_standard_exception_handling_system_exit
440
+ out, err = capture_io do
441
+ e = assert_raises SystemExit do
442
+ @app.standard_exception_handling do
443
+ exit 0
444
+ end
445
+ end
446
+
447
+ assert_equal 0, e.status
448
+ end
449
+
450
+ assert_empty out
451
+ assert_empty err
452
+ end
453
+
454
+ def test_standard_exception_handling_system_exit_nonzero
455
+ out, err = capture_io do
456
+ e = assert_raises SystemExit do
457
+ @app.standard_exception_handling do
458
+ exit 5
459
+ end
460
+ end
461
+
462
+ assert_equal 5, e.status
463
+ end
464
+
465
+ assert_empty out
466
+ assert_empty err
467
+ end
468
+
469
+ def util_loader
470
+ loader = Object.new
471
+
472
+ loader.instance_variable_set :@load_called, false
473
+ def loader.load arg
474
+ raise 'called more than once' if @load_called
475
+ raise ArgumentError, arg unless arg == 'x.dummy'
476
+ @load_called = true
477
+ end
478
+
479
+ loader.instance_variable_set :@make_dummy_called, false
480
+ def loader.make_dummy
481
+ raise 'called more than once' if @make_dummy_called
482
+ @make_dummy_called = true
483
+ end
484
+
485
+ loader
486
+ end
487
+
488
+ end
489
+