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,11 @@
1
+ # The following classes used to be in the top level namespace.
2
+ # Loading this file enables compatibility with older Rakefile that
3
+ # referenced Task from the top level.
4
+
5
+ warn "WARNING: Classic namespaces are deprecated and will be removed from future versions of Rake."
6
+ # :stopdoc:
7
+ Task = Rake::Task
8
+ FileTask = Rake::FileTask
9
+ FileCreationTask = Rake::FileCreationTask
10
+ RakeApp = Rake::Application
11
+ # :startdoc:
@@ -0,0 +1,32 @@
1
+ # The 'rake/clean' file defines two file lists (CLEAN and CLOBBER) and
2
+ # two rake tasks (:clean and :clobber).
3
+ #
4
+ # [:clean] Clean up the project by deleting scratch files and backup
5
+ # files. Add files to the CLEAN file list to have the :clean
6
+ # target handle them.
7
+ #
8
+ # [:clobber] Clobber all generated and non-source files in a project.
9
+ # The task depends on :clean, so all the clean files will
10
+ # be deleted as well as files in the CLOBBER file list.
11
+ # The intent of this task is to return a project to its
12
+ # pristine, just unpacked state.
13
+
14
+ require 'rake'
15
+
16
+ # :stopdoc:
17
+ CLEAN = Rake::FileList["**/*~", "**/*.bak", "**/core"]
18
+ CLEAN.clear_exclude.exclude { |fn|
19
+ fn.pathmap("%f") == 'core' && File.directory?(fn)
20
+ }
21
+
22
+ desc "Remove any temporary products."
23
+ task :clean do
24
+ CLEAN.each { |fn| rm_r fn rescue nil }
25
+ end
26
+
27
+ CLOBBER = Rake::FileList.new
28
+
29
+ desc "Remove any generated file."
30
+ task :clobber => [:clean] do
31
+ CLOBBER.each { |fn| rm_r fn rescue nil }
32
+ end
@@ -0,0 +1,25 @@
1
+ module Rake
2
+ # ##########################################################################
3
+ # Mixin for creating easily cloned objects.
4
+ #
5
+ module Cloneable
6
+ # Clone an object by making a new object and setting all the instance
7
+ # variables to the same values.
8
+ def dup
9
+ sibling = self.class.new
10
+ instance_variables.each do |ivar|
11
+ value = self.instance_variable_get(ivar)
12
+ new_value = value.clone rescue value
13
+ sibling.instance_variable_set(ivar, new_value)
14
+ end
15
+ sibling.taint if tainted?
16
+ sibling
17
+ end
18
+
19
+ def clone
20
+ sibling = dup
21
+ sibling.freeze if frozen?
22
+ sibling
23
+ end
24
+ end
25
+ end
@@ -0,0 +1,21 @@
1
+ module Rake
2
+
3
+ # Manage several publishers as a single entity.
4
+ class CompositePublisher
5
+ def initialize
6
+ @publishers = []
7
+ end
8
+
9
+ # Add a publisher to the composite.
10
+ def add(pub)
11
+ @publishers << pub
12
+ end
13
+
14
+ # Upload all the individual publishers.
15
+ def upload
16
+ @publishers.each { |p| p.upload }
17
+ end
18
+ end
19
+
20
+ end
21
+
@@ -0,0 +1,150 @@
1
+ # = Tools for FTP uploading.
2
+ #
3
+ # This file is still under development and is not released for general
4
+ # use.
5
+
6
+ require 'date'
7
+ require 'net/ftp'
8
+
9
+ module Rake # :nodoc:
10
+
11
+ ####################################################################
12
+ # <b>Note:</b> <em> Not released for general use.</em>
13
+ class FtpFile
14
+ attr_reader :name, :size, :owner, :group, :time
15
+
16
+ def self.date
17
+ @date_class ||= Date
18
+ end
19
+
20
+ def self.time
21
+ @time_class ||= Time
22
+ end
23
+
24
+ def initialize(path, entry)
25
+ @path = path
26
+ @mode, _, @owner, @group, size, d1, d2, d3, @name = entry.split(' ')
27
+ @size = size.to_i
28
+ @time = determine_time(d1, d2, d3)
29
+ end
30
+
31
+ def path
32
+ File.join(@path, @name)
33
+ end
34
+
35
+ def directory?
36
+ @mode[0] == ?d
37
+ end
38
+
39
+ def mode
40
+ parse_mode(@mode)
41
+ end
42
+
43
+ def symlink?
44
+ @mode[0] == ?l
45
+ end
46
+
47
+ private # --------------------------------------------------------
48
+
49
+ def parse_mode(m)
50
+ result = 0
51
+ (1..9).each do |i|
52
+ result = 2*result + ((m[i]==?-) ? 0 : 1)
53
+ end
54
+ result
55
+ end
56
+
57
+ def determine_time(d1, d2, d3)
58
+ now = self.class.time.now
59
+ if /:/ =~ d3
60
+ result = Time.parse("#{d1} #{d2} #{now.year} #{d3}")
61
+ if result > now
62
+ result = Time.parse("#{d1} #{d2} #{now.year-1} #{d3}")
63
+ end
64
+ else
65
+ result = Time.parse("#{d1} #{d2} #{d3}")
66
+ end
67
+ result
68
+ # elements = ParseDate.parsedate("#{d1} #{d2} #{d3}")
69
+ # if elements[0].nil?
70
+ # today = self.class.date.today
71
+ # if elements[1] > today.month
72
+ # elements[0] = today.year - 1
73
+ # else
74
+ # elements[0] = today.year
75
+ # end
76
+ # end
77
+ # elements = elements.collect { |el| el.nil? ? 0 : el }
78
+ # Time.mktime(*elements[0,7])
79
+ end
80
+ end
81
+
82
+ ####################################################################
83
+ # Manage the uploading of files to an FTP account.
84
+ class FtpUploader
85
+
86
+ # Log uploads to standard output when true.
87
+ attr_accessor :verbose
88
+
89
+ class << FtpUploader
90
+ # Create an uploader and pass it to the given block as +up+.
91
+ # When the block is complete, close the uploader.
92
+ def connect(path, host, account, password)
93
+ up = self.new(path, host, account, password)
94
+ begin
95
+ yield(up)
96
+ ensure
97
+ up.close
98
+ end
99
+ end
100
+ end
101
+
102
+ # Create an FTP uploader targeting the directory +path+ on +host+
103
+ # using the given account and password. +path+ will be the root
104
+ # path of the uploader.
105
+ def initialize(path, host, account, password)
106
+ @created = Hash.new
107
+ @path = path
108
+ @ftp = Net::FTP.new(host, account, password)
109
+ makedirs(@path)
110
+ @ftp.chdir(@path)
111
+ end
112
+
113
+ # Create the directory +path+ in the uploader root path.
114
+ def makedirs(path)
115
+ route = []
116
+ File.split(path).each do |dir|
117
+ route << dir
118
+ current_dir = File.join(route)
119
+ if @created[current_dir].nil?
120
+ @created[current_dir] = true
121
+ $stderr.puts "Creating Directory #{current_dir}" if @verbose
122
+ @ftp.mkdir(current_dir) rescue nil
123
+ end
124
+ end
125
+ end
126
+
127
+ # Upload all files matching +wildcard+ to the uploader's root
128
+ # path.
129
+ def upload_files(wildcard)
130
+ Dir[wildcard].each do |fn|
131
+ upload(fn)
132
+ end
133
+ end
134
+
135
+ # Close the uploader.
136
+ def close
137
+ @ftp.close
138
+ end
139
+
140
+ private # --------------------------------------------------------
141
+
142
+ # Upload a single file to the uploader's root path.
143
+ def upload(file)
144
+ $stderr.puts "Uploading #{file}" if @verbose
145
+ dir = File.dirname(file)
146
+ makedirs(dir)
147
+ @ftp.putbinaryfile(file, file) unless File.directory?(file)
148
+ end
149
+ end
150
+ end
@@ -0,0 +1,73 @@
1
+ # Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
2
+ # All rights reserved.
3
+
4
+ # :stopdoc:
5
+
6
+ # Configuration information about an upload host system.
7
+ # name :: Name of host system.
8
+ # webdir :: Base directory for the web information for the
9
+ # application. The application name (APP) is appended to
10
+ # this directory before using.
11
+ # pkgdir :: Directory on the host system where packages can be
12
+ # placed.
13
+ HostInfo = Struct.new(:name, :webdir, :pkgdir)
14
+
15
+ # :startdoc:
16
+
17
+ # Manage several publishers as a single entity.
18
+ class CompositePublisher
19
+ def initialize
20
+ @publishers = []
21
+ end
22
+
23
+ # Add a publisher to the composite.
24
+ def add(pub)
25
+ @publishers << pub
26
+ end
27
+
28
+ # Upload all the individual publishers.
29
+ def upload
30
+ @publishers.each { |p| p.upload }
31
+ end
32
+ end
33
+
34
+ # Publish an entire directory to an existing remote directory using
35
+ # SSH.
36
+ class SshDirPublisher
37
+ def initialize(host, remote_dir, local_dir)
38
+ @host = host
39
+ @remote_dir = remote_dir
40
+ @local_dir = local_dir
41
+ end
42
+
43
+ def upload
44
+ run %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
45
+ end
46
+ end
47
+
48
+ # Publish an entire directory to a fresh remote directory using SSH.
49
+ class SshFreshDirPublisher < SshDirPublisher
50
+ def upload
51
+ run %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
52
+ run %{ssh #{@host} mkdir #{@remote_dir}}
53
+ super
54
+ end
55
+ end
56
+
57
+ # Publish a list of files to an existing remote directory.
58
+ class SshFilePublisher
59
+ # Create a publisher using the give host information.
60
+ def initialize(host, remote_dir, local_dir, *files)
61
+ @host = host
62
+ @remote_dir = remote_dir
63
+ @local_dir = local_dir
64
+ @files = files
65
+ end
66
+
67
+ # Upload the local directory to the remote directory.
68
+ def upload
69
+ @files.each do |fn|
70
+ run %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
71
+ end
72
+ end
73
+ end
@@ -0,0 +1,16 @@
1
+ require 'rake/contrib/sshpublisher'
2
+
3
+ module Rake
4
+
5
+ class RubyForgePublisher < SshDirPublisher
6
+ attr_reader :project, :proj_id, :user
7
+
8
+ def initialize(projname, user)
9
+ super(
10
+ "#{user}@rubyforge.org",
11
+ "/var/www/gforge-projects/#{projname}",
12
+ "html")
13
+ end
14
+ end
15
+
16
+ end
@@ -0,0 +1,50 @@
1
+ require 'rake/dsl_definition'
2
+ require 'rake/contrib/compositepublisher'
3
+
4
+ module Rake
5
+
6
+ # Publish an entire directory to an existing remote directory using
7
+ # SSH.
8
+ class SshDirPublisher
9
+ include Rake::DSL
10
+
11
+ def initialize(host, remote_dir, local_dir)
12
+ @host = host
13
+ @remote_dir = remote_dir
14
+ @local_dir = local_dir
15
+ end
16
+
17
+ def upload
18
+ sh %{scp -rq #{@local_dir}/* #{@host}:#{@remote_dir}}
19
+ end
20
+ end
21
+
22
+ # Publish an entire directory to a fresh remote directory using SSH.
23
+ class SshFreshDirPublisher < SshDirPublisher
24
+ def upload
25
+ sh %{ssh #{@host} rm -rf #{@remote_dir}} rescue nil
26
+ sh %{ssh #{@host} mkdir #{@remote_dir}}
27
+ super
28
+ end
29
+ end
30
+
31
+ # Publish a list of files to an existing remote directory.
32
+ class SshFilePublisher
33
+ include Rake::DSL
34
+
35
+ # Create a publisher using the give host information.
36
+ def initialize(host, remote_dir, local_dir, *files)
37
+ @host = host
38
+ @remote_dir = remote_dir
39
+ @local_dir = local_dir
40
+ @files = files
41
+ end
42
+
43
+ # Upload the local directory to the remote directory.
44
+ def upload
45
+ @files.each do |fn|
46
+ sh %{scp -q #{@local_dir}/#{fn} #{@host}:#{@remote_dir}}
47
+ end
48
+ end
49
+ end
50
+ end
@@ -0,0 +1,191 @@
1
+ warn 'Sys has been deprecated in favor of FileUtils'
2
+
3
+ #--
4
+ # Copyright 2003-2010 by Jim Weirich (jim.weirich@gmail.com)
5
+ # All rights reserved.
6
+ #++
7
+ #
8
+ begin
9
+ require 'ftools'
10
+ rescue LoadError
11
+ end
12
+ require 'rbconfig'
13
+
14
+ ######################################################################
15
+ # Sys provides a number of file manipulation tools for the convenience
16
+ # of writing Rakefiles. All commands in this module will announce
17
+ # their activity on standard output if the $verbose flag is set
18
+ # ($verbose = true is the default). You can control this by globally
19
+ # setting $verbose or by using the +verbose+ and +quiet+ methods.
20
+ #
21
+ # Sys has been deprecated in favor of the FileUtils module available
22
+ # in Ruby 1.8.
23
+ #
24
+ module Sys
25
+ RUBY = RbConfig::CONFIG['ruby_install_name']
26
+
27
+ # Install all the files matching +wildcard+ into the +dest_dir+
28
+ # directory. The permission mode is set to +mode+.
29
+ def install(wildcard, dest_dir, mode)
30
+ Dir[wildcard].each do |fn|
31
+ File.install(fn, dest_dir, mode, $verbose)
32
+ end
33
+ end
34
+
35
+ # Run the system command +cmd+.
36
+ def run(cmd)
37
+ log cmd
38
+ system(cmd) or fail "Command Failed: [#{cmd}]"
39
+ end
40
+
41
+ # Run a Ruby interpreter with the given arguments.
42
+ def ruby(*args)
43
+ run "#{RUBY} #{args.join(' ')}"
44
+ end
45
+
46
+ # Copy a single file from +file_name+ to +dest_file+.
47
+ def copy(file_name, dest_file)
48
+ log "Copying file #{file_name} to #{dest_file}"
49
+ File.copy(file_name, dest_file)
50
+ end
51
+
52
+ # Copy all files matching +wildcard+ into the directory +dest_dir+.
53
+ def copy_files(wildcard, dest_dir)
54
+ for_matching_files(wildcard, dest_dir) { |from, to| copy(from, to) }
55
+ end
56
+
57
+ # Link +file_name+ to +dest_file+.
58
+ def link(file_name, dest_file)
59
+ log "Linking file #{file_name} to #{dest_file}"
60
+ File.link(file_name, dest_file)
61
+ end
62
+
63
+ # Link all files matching +wildcard+ into the directory +dest_dir+.
64
+ def link_files(wildcard, dest_dir)
65
+ for_matching_files(wildcard, dest_dir) { |from, to| link(from, to) }
66
+ end
67
+
68
+ # Symlink +file_name+ to +dest_file+.
69
+ def symlink(file_name, dest_file)
70
+ log "Symlinking file #{file_name} to #{dest_file}"
71
+ File.symlink(file_name, dest_file)
72
+ end
73
+
74
+ # Symlink all files matching +wildcard+ into the directory +dest_dir+.
75
+ def symlink_files(wildcard, dest_dir)
76
+ for_matching_files(wildcard, dest_dir) { |from, to| link(from, to) }
77
+ end
78
+
79
+ # Remove all files matching +wildcard+. If a matching file is a
80
+ # directory, it must be empty to be removed. used +delete_all+ to
81
+ # recursively delete directories.
82
+ def delete(*wildcards)
83
+ wildcards.each do |wildcard|
84
+ Dir[wildcard].each do |fn|
85
+ if File.directory?(fn)
86
+ log "Deleting directory #{fn}"
87
+ Dir.delete(fn)
88
+ else
89
+ log "Deleting file #{fn}"
90
+ File.delete(fn)
91
+ end
92
+ end
93
+ end
94
+ end
95
+
96
+ # Recursively delete all files and directories matching +wildcard+.
97
+ def delete_all(*wildcards)
98
+ wildcards.each do |wildcard|
99
+ Dir[wildcard].each do |fn|
100
+ next if ! File.exist?(fn)
101
+ if File.directory?(fn)
102
+ Dir["#{fn}/*"].each do |subfn|
103
+ next if subfn=='.' || subfn=='..'
104
+ delete_all(subfn)
105
+ end
106
+ log "Deleting directory #{fn}"
107
+ Dir.delete(fn)
108
+ else
109
+ log "Deleting file #{fn}"
110
+ File.delete(fn)
111
+ end
112
+ end
113
+ end
114
+ end
115
+
116
+ # Make the directories given in +dirs+.
117
+ def makedirs(*dirs)
118
+ dirs.each do |fn|
119
+ log "Making directory #{fn}"
120
+ File.makedirs(fn)
121
+ end
122
+ end
123
+
124
+ # Make +dir+ the current working directory for the duration of
125
+ # executing the given block.
126
+ def indir(dir)
127
+ olddir = Dir.pwd
128
+ Dir.chdir(dir)
129
+ yield
130
+ ensure
131
+ Dir.chdir(olddir)
132
+ end
133
+
134
+ # Split a file path into individual directory names.
135
+ #
136
+ # For example:
137
+ # split_all("a/b/c") => ['a', 'b', 'c']
138
+ def split_all(path)
139
+ head, tail = File.split(path)
140
+ return [tail] if head == '.' || tail == '/'
141
+ return [head, tail] if head == '/'
142
+ return split_all(head) + [tail]
143
+ end
144
+
145
+ # Write a message to standard error if $verbose is enabled.
146
+ def log(msg)
147
+ print " " if $trace && $verbose
148
+ $stderr.puts msg if $verbose
149
+ end
150
+
151
+ # Perform a block with $verbose disabled.
152
+ def quiet(&block)
153
+ with_verbose(false, &block)
154
+ end
155
+
156
+ # Perform a block with $verbose enabled.
157
+ def verbose(&block)
158
+ with_verbose(true, &block)
159
+ end
160
+
161
+ # Perform a block with each file matching a set of wildcards.
162
+ def for_files(*wildcards)
163
+ wildcards.each do |wildcard|
164
+ Dir[wildcard].each do |fn|
165
+ yield(fn)
166
+ end
167
+ end
168
+ end
169
+
170
+ extend(self)
171
+
172
+ private # ----------------------------------------------------------
173
+
174
+ def for_matching_files(wildcard, dest_dir)
175
+ Dir[wildcard].each do |fn|
176
+ dest_file = File.join(dest_dir, fn)
177
+ parent = File.dirname(dest_file)
178
+ makedirs(parent) if ! File.directory?(parent)
179
+ yield(fn, dest_file)
180
+ end
181
+ end
182
+
183
+ def with_verbose(v)
184
+ oldverbose = $verbose
185
+ $verbose = v
186
+ yield
187
+ ensure
188
+ $verbose = oldverbose
189
+ end
190
+
191
+ end