rango 0.2.3 → 0.2.4.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (281) hide show
  1. data/.gitignore +2 -2
  2. data/CHANGELOG +9 -0
  3. data/CONTRIBUTORS +0 -1
  4. data/Gemfile +2 -6
  5. data/lib/rango.rb +10 -7
  6. data/lib/rango/cli.rb +1 -1
  7. data/lib/rango/contrib/pagination/adapters/sequel.rb +6 -2
  8. data/lib/rango/controller.rb +24 -20
  9. data/lib/rango/core_ext.rb +54 -59
  10. data/lib/rango/exceptions.rb +2 -2
  11. data/lib/rango/gv/router.rb +1 -1
  12. data/lib/rango/gv/scaffolding.rb +0 -1
  13. data/lib/rango/mailer.rb +20 -40
  14. data/lib/rango/mixins/action_args.rb +8 -7
  15. data/lib/rango/mixins/filters.rb +1 -0
  16. data/lib/rango/mixins/message.rb +37 -33
  17. data/lib/rango/mixins/rack-flash.rb +44 -0
  18. data/{benchmarks/stubs/merb-app/spec/spec.opts → lib/rango/orm/tasks/ripple.nake} +0 -0
  19. data/lib/rango/rack/request.rb +12 -15
  20. data/lib/rango/router.rb +7 -3
  21. data/lib/rango/router/adapters/crudtree.rb +8 -1
  22. data/lib/rango/router/adapters/rack_mount.rb +5 -1
  23. data/lib/rango/router/adapters/usher.rb +5 -2
  24. data/lib/rango/stacks/controller.rb +0 -1
  25. data/lib/rango/templates/exts/haml.rb +14 -15
  26. data/lib/rango/templates/exts/tilt.rb +16 -23
  27. data/lib/rango/templates/helpers.rb +10 -1
  28. data/lib/rango/templates/template.rb +4 -4
  29. data/lib/rango/utils.rb +4 -2
  30. data/lib/rango/version.rb +5 -0
  31. data/rango.gemspec +3 -2
  32. data/{benchmarks/stubs/merb-core/spec/spec.opts → spec/rango/cli_spec.rb} +0 -0
  33. data/{benchmarks/stubs/rails/log/development.log → spec/rango/contrib/pagination/adapters/sequel_spec.rb} +0 -0
  34. data/spec/rango/controller_spec.rb +12 -0
  35. data/spec/rango/core_ext_spec.rb +61 -0
  36. data/spec/rango/environments_spec.rb +1 -0
  37. data/spec/rango/exceptions_spec.rb +1 -28
  38. data/{benchmarks/stubs/rails/log/production.log → spec/rango/mailer_spec.rb} +0 -0
  39. data/spec/rango/mixins/action_args_spec.rb +0 -4
  40. data/spec/rango/mixins/message_spec.rb +20 -10
  41. data/{benchmarks/stubs/rails/log/server.log → spec/rango/mixins/rack-flash_spec.rb} +0 -0
  42. data/spec/rango/rack/request_spec.rb +11 -0
  43. data/{benchmarks/stubs/rails/log/test.log → spec/rango/router/adapters/crudtree_spec.rb} +0 -0
  44. data/spec/rango/templates/helpers_spec.rb +19 -5
  45. data/spec/rango/templates/template_spec.rb +1 -20
  46. data/{benchmarks/stubs/rails/public/favicon.ico → spec/rango/version_spec.rb} +0 -0
  47. data/spec/spec_helper.rb +18 -4
  48. data/stubs/stack/content/%name%.gemspec.rbt +0 -0
  49. data/stubs/stack/content/%name%.pre.gemspec.rbt +1 -2
  50. data/stubs/stack/content/.gitignore +2 -5
  51. data/stubs/stack/content/Gemfile.rbt +23 -46
  52. data/stubs/stack/content/config.ru.rbt +9 -21
  53. data/stubs/stack/content/init.rb.rbt +10 -10
  54. data/stubs/stack/content/lib/%name%.rb.rbt +37 -4
  55. data/stubs/stack/content/lib/%name%/initializers/01_database.rb.rbt +16 -0
  56. data/stubs/stack/content/lib/%name%/initializers/05_templates.rb.rbt +13 -0
  57. data/stubs/stack/content/lib/%name%/initializers/10_pagination.rb.rbt +8 -0
  58. data/stubs/stack/content/lib/%name%/initializers/15_warden.rb.rbt +26 -0
  59. data/stubs/stack/content/lib/%name%/initializers/45_middlewares.rb.rbt +17 -0
  60. data/stubs/stack/content/lib/%name%/initializers/50_router.rb.rbt +7 -0
  61. data/stubs/stack/content/lib/%name%/{initializers/urls.rb.rbt → urls.rb.rbt} +3 -0
  62. data/stubs/stack/content/lib/%name%/views.rb.rbt +4 -1
  63. data/stubs/stack/content/templates/index.html.haml +1 -1
  64. data/{gems → vendor}/cache/abstract-1.0.0.gem +0 -0
  65. data/vendor/cache/code-cleaner-0.8.2.gem +0 -0
  66. data/{gems → vendor}/cache/erubis-2.6.5.gem +0 -0
  67. data/vendor/cache/haml-2.2.21.gem +0 -0
  68. data/{gems → vendor}/cache/nake-0.0.8.gem +0 -0
  69. data/vendor/cache/rack-1.1.0.gem +0 -0
  70. data/{gems → vendor}/cache/rspec-1.3.0.gem +0 -0
  71. data/vendor/cache/term-ansicolor-1.0.5.gem +0 -0
  72. data/vendor/cache/tilt-0.8.gem +0 -0
  73. metadata +63 -239
  74. data/benchmarks/stubs/merb-app/.gitignore +0 -21
  75. data/benchmarks/stubs/merb-app/Rakefile +0 -35
  76. data/benchmarks/stubs/merb-app/app/controllers/application.rb +0 -4
  77. data/benchmarks/stubs/merb-app/app/controllers/exceptions.rb +0 -15
  78. data/benchmarks/stubs/merb-app/app/helpers/global_helpers.rb +0 -7
  79. data/benchmarks/stubs/merb-app/app/models/user.rb +0 -19
  80. data/benchmarks/stubs/merb-app/app/views/exceptions/not_acceptable.html.erb +0 -63
  81. data/benchmarks/stubs/merb-app/app/views/exceptions/not_found.html.erb +0 -47
  82. data/benchmarks/stubs/merb-app/app/views/layout/application.html.erb +0 -12
  83. data/benchmarks/stubs/merb-app/autotest/discover.rb +0 -4
  84. data/benchmarks/stubs/merb-app/autotest/merb.rb +0 -154
  85. data/benchmarks/stubs/merb-app/autotest/merb_rspec.rb +0 -167
  86. data/benchmarks/stubs/merb-app/config/database.yml +0 -33
  87. data/benchmarks/stubs/merb-app/config/dependencies.rb +0 -36
  88. data/benchmarks/stubs/merb-app/config/environments/development.rb +0 -17
  89. data/benchmarks/stubs/merb-app/config/environments/production.rb +0 -12
  90. data/benchmarks/stubs/merb-app/config/environments/rake.rb +0 -13
  91. data/benchmarks/stubs/merb-app/config/environments/staging.rb +0 -12
  92. data/benchmarks/stubs/merb-app/config/environments/test.rb +0 -14
  93. data/benchmarks/stubs/merb-app/config/init.rb +0 -26
  94. data/benchmarks/stubs/merb-app/config/rack.rb +0 -13
  95. data/benchmarks/stubs/merb-app/config/router.rb +0 -46
  96. data/benchmarks/stubs/merb-app/doc/rdoc/generators/merb_generator.rb +0 -1364
  97. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/api_grease.js +0 -640
  98. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/index.html.erb +0 -37
  99. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/merb.css +0 -252
  100. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/merb.rb +0 -353
  101. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/merb_doc_styles.css +0 -492
  102. data/benchmarks/stubs/merb-app/doc/rdoc/generators/template/merb/prototype.js +0 -2515
  103. data/benchmarks/stubs/merb-app/merb/merb-auth/setup.rb +0 -46
  104. data/benchmarks/stubs/merb-app/merb/merb-auth/strategies.rb +0 -13
  105. data/benchmarks/stubs/merb-app/merb/session/session.rb +0 -11
  106. data/benchmarks/stubs/merb-app/public/.htaccess +0 -17
  107. data/benchmarks/stubs/merb-app/public/favicon.ico +0 -0
  108. data/benchmarks/stubs/merb-app/public/images/merb.jpg +0 -0
  109. data/benchmarks/stubs/merb-app/public/javascripts/application.js +0 -1
  110. data/benchmarks/stubs/merb-app/public/javascripts/jquery.js +0 -19
  111. data/benchmarks/stubs/merb-app/public/merb.fcgi +0 -22
  112. data/benchmarks/stubs/merb-app/public/robots.txt +0 -5
  113. data/benchmarks/stubs/merb-app/public/stylesheets/master.css +0 -119
  114. data/benchmarks/stubs/merb-app/spec/spec_helper.rb +0 -27
  115. data/benchmarks/stubs/merb-app/tasks/doc.thor +0 -151
  116. data/benchmarks/stubs/merb-app/tasks/merb.thor/app_script.rb +0 -33
  117. data/benchmarks/stubs/merb-app/tasks/merb.thor/common.rb +0 -70
  118. data/benchmarks/stubs/merb-app/tasks/merb.thor/gem_ext.rb +0 -127
  119. data/benchmarks/stubs/merb-app/tasks/merb.thor/main.thor +0 -152
  120. data/benchmarks/stubs/merb-app/tasks/merb.thor/ops.rb +0 -95
  121. data/benchmarks/stubs/merb-app/tasks/merb.thor/utils.rb +0 -42
  122. data/benchmarks/stubs/merb-core/.gitignore +0 -21
  123. data/benchmarks/stubs/merb-core/Rakefile +0 -35
  124. data/benchmarks/stubs/merb-core/app/controllers/application.rb +0 -4
  125. data/benchmarks/stubs/merb-core/app/controllers/exceptions.rb +0 -15
  126. data/benchmarks/stubs/merb-core/app/helpers/global_helpers.rb +0 -7
  127. data/benchmarks/stubs/merb-core/app/views/exceptions/not_acceptable.html.erb +0 -63
  128. data/benchmarks/stubs/merb-core/app/views/exceptions/not_found.html.erb +0 -47
  129. data/benchmarks/stubs/merb-core/app/views/layout/application.html.erb +0 -12
  130. data/benchmarks/stubs/merb-core/autotest/discover.rb +0 -1
  131. data/benchmarks/stubs/merb-core/autotest/merb.rb +0 -151
  132. data/benchmarks/stubs/merb-core/autotest/merb_rspec.rb +0 -167
  133. data/benchmarks/stubs/merb-core/config/environments/development.rb +0 -17
  134. data/benchmarks/stubs/merb-core/config/environments/production.rb +0 -12
  135. data/benchmarks/stubs/merb-core/config/environments/rake.rb +0 -13
  136. data/benchmarks/stubs/merb-core/config/environments/staging.rb +0 -12
  137. data/benchmarks/stubs/merb-core/config/environments/test.rb +0 -14
  138. data/benchmarks/stubs/merb-core/config/init.rb +0 -27
  139. data/benchmarks/stubs/merb-core/config/rack.rb +0 -13
  140. data/benchmarks/stubs/merb-core/config/router.rb +0 -43
  141. data/benchmarks/stubs/merb-core/doc/rdoc/generators/merb_generator.rb +0 -1364
  142. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/api_grease.js +0 -640
  143. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/index.html.erb +0 -37
  144. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/merb.css +0 -252
  145. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/merb.rb +0 -353
  146. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/merb_doc_styles.css +0 -492
  147. data/benchmarks/stubs/merb-core/doc/rdoc/generators/template/merb/prototype.js +0 -2515
  148. data/benchmarks/stubs/merb-core/public/.htaccess +0 -17
  149. data/benchmarks/stubs/merb-core/public/favicon.ico +0 -0
  150. data/benchmarks/stubs/merb-core/public/images/merb.jpg +0 -0
  151. data/benchmarks/stubs/merb-core/public/javascripts/application.js +0 -1
  152. data/benchmarks/stubs/merb-core/public/merb.fcgi +0 -22
  153. data/benchmarks/stubs/merb-core/public/robots.txt +0 -5
  154. data/benchmarks/stubs/merb-core/public/stylesheets/master.css +0 -119
  155. data/benchmarks/stubs/merb-core/spec/spec_helper.rb +0 -22
  156. data/benchmarks/stubs/merb-core/tasks/merb.thor/app_script.rb +0 -33
  157. data/benchmarks/stubs/merb-core/tasks/merb.thor/common.rb +0 -70
  158. data/benchmarks/stubs/merb-core/tasks/merb.thor/gem_ext.rb +0 -127
  159. data/benchmarks/stubs/merb-core/tasks/merb.thor/main.thor +0 -152
  160. data/benchmarks/stubs/merb-core/tasks/merb.thor/ops.rb +0 -95
  161. data/benchmarks/stubs/merb-core/tasks/merb.thor/utils.rb +0 -42
  162. data/benchmarks/stubs/merb-flat/.gitignore +0 -21
  163. data/benchmarks/stubs/merb-flat/README.txt +0 -10
  164. data/benchmarks/stubs/merb-flat/Rakefile +0 -35
  165. data/benchmarks/stubs/merb-flat/application.rb +0 -17
  166. data/benchmarks/stubs/merb-flat/config/framework.rb +0 -9
  167. data/benchmarks/stubs/merb-flat/config/init.rb +0 -42
  168. data/benchmarks/stubs/merb-flat/spec/spec_helper.rb +0 -26
  169. data/benchmarks/stubs/merb-flat/tasks/merb.thor/app_script.rb +0 -33
  170. data/benchmarks/stubs/merb-flat/tasks/merb.thor/common.rb +0 -70
  171. data/benchmarks/stubs/merb-flat/tasks/merb.thor/gem_ext.rb +0 -127
  172. data/benchmarks/stubs/merb-flat/tasks/merb.thor/main.thor +0 -152
  173. data/benchmarks/stubs/merb-flat/tasks/merb.thor/ops.rb +0 -95
  174. data/benchmarks/stubs/merb-flat/tasks/merb.thor/utils.rb +0 -42
  175. data/benchmarks/stubs/merb-flat/views/foo.html.erb +0 -3
  176. data/benchmarks/stubs/merb-very-flat/.gitignore +0 -21
  177. data/benchmarks/stubs/merb-very-flat/Rakefile +0 -35
  178. data/benchmarks/stubs/merb-very-flat/merb-very-flat.rb +0 -61
  179. data/benchmarks/stubs/merb-very-flat/spec/spec_helper.rb +0 -26
  180. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/app_script.rb +0 -33
  181. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/common.rb +0 -70
  182. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/gem_ext.rb +0 -127
  183. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/main.thor +0 -152
  184. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/ops.rb +0 -95
  185. data/benchmarks/stubs/merb-very-flat/tasks/merb.thor/utils.rb +0 -42
  186. data/benchmarks/stubs/rails/README +0 -243
  187. data/benchmarks/stubs/rails/Rakefile +0 -10
  188. data/benchmarks/stubs/rails/app/controllers/application_controller.rb +0 -12
  189. data/benchmarks/stubs/rails/app/helpers/application_helper.rb +0 -5
  190. data/benchmarks/stubs/rails/config/boot.rb +0 -112
  191. data/benchmarks/stubs/rails/config/database.yml +0 -22
  192. data/benchmarks/stubs/rails/config/environment.rb +0 -43
  193. data/benchmarks/stubs/rails/config/environments/development.rb +0 -19
  194. data/benchmarks/stubs/rails/config/environments/production.rb +0 -30
  195. data/benchmarks/stubs/rails/config/environments/test.rb +0 -30
  196. data/benchmarks/stubs/rails/config/initializers/backtrace_silencers.rb +0 -9
  197. data/benchmarks/stubs/rails/config/initializers/inflections.rb +0 -12
  198. data/benchmarks/stubs/rails/config/initializers/mime_types.rb +0 -7
  199. data/benchmarks/stubs/rails/config/initializers/new_rails_defaults.rb +0 -21
  200. data/benchmarks/stubs/rails/config/initializers/session_store.rb +0 -17
  201. data/benchmarks/stubs/rails/config/locales/en.yml +0 -5
  202. data/benchmarks/stubs/rails/config/routes.rb +0 -45
  203. data/benchmarks/stubs/rails/doc/README_FOR_APP +0 -2
  204. data/benchmarks/stubs/rails/public/404.html +0 -30
  205. data/benchmarks/stubs/rails/public/422.html +0 -30
  206. data/benchmarks/stubs/rails/public/500.html +0 -30
  207. data/benchmarks/stubs/rails/public/images/rails.png +0 -0
  208. data/benchmarks/stubs/rails/public/index.html +0 -275
  209. data/benchmarks/stubs/rails/public/javascripts/application.js +0 -2
  210. data/benchmarks/stubs/rails/public/javascripts/controls.js +0 -963
  211. data/benchmarks/stubs/rails/public/javascripts/dragdrop.js +0 -973
  212. data/benchmarks/stubs/rails/public/javascripts/effects.js +0 -1128
  213. data/benchmarks/stubs/rails/public/javascripts/prototype.js +0 -4320
  214. data/benchmarks/stubs/rails/public/robots.txt +0 -5
  215. data/benchmarks/stubs/rails/script/about +0 -4
  216. data/benchmarks/stubs/rails/script/console +0 -3
  217. data/benchmarks/stubs/rails/script/dbconsole +0 -3
  218. data/benchmarks/stubs/rails/script/destroy +0 -3
  219. data/benchmarks/stubs/rails/script/generate +0 -3
  220. data/benchmarks/stubs/rails/script/performance/benchmarker +0 -3
  221. data/benchmarks/stubs/rails/script/performance/profiler +0 -3
  222. data/benchmarks/stubs/rails/script/plugin +0 -3
  223. data/benchmarks/stubs/rails/script/runner +0 -3
  224. data/benchmarks/stubs/rails/script/server +0 -3
  225. data/benchmarks/stubs/rails/test/performance/browsing_test.rb +0 -11
  226. data/benchmarks/stubs/rails/test/test_helper.rb +0 -40
  227. data/benchmarks/stubs/ramaze.rb +0 -0
  228. data/benchmarks/stubs/sinatra.rb +0 -11
  229. data/gems/cache/code-cleaner-0.1.gem +0 -0
  230. data/gems/cache/code-cleaner-0.2.gem +0 -0
  231. data/gems/cache/code-cleaner-0.3.gem +0 -0
  232. data/gems/cache/code-cleaner-0.4.gem +0 -0
  233. data/gems/cache/code-cleaner-0.5.gem +0 -0
  234. data/gems/cache/code-cleaner-0.6.gem +0 -0
  235. data/gems/cache/code-cleaner-0.7.gem +0 -0
  236. data/gems/cache/code-cleaner-0.8.1.gem +0 -0
  237. data/gems/cache/code-cleaner-0.8.gem +0 -0
  238. data/gems/cache/extlib-0.9.14.gem +0 -0
  239. data/gems/cache/haml-2.2.16.gem +0 -0
  240. data/gems/cache/haml-2.2.17.gem +0 -0
  241. data/gems/cache/nake-0.0.2.gem +0 -0
  242. data/gems/cache/nake-0.0.3.gem +0 -0
  243. data/gems/cache/nake-0.0.5.gem +0 -0
  244. data/gems/cache/nake-0.0.6.gem +0 -0
  245. data/gems/cache/rack-1.0.1.gem +0 -0
  246. data/gems/cache/rack-1.1.0.gem +0 -0
  247. data/gems/cache/rspec-1.2.9.gem +0 -0
  248. data/gems/cache/term-ansicolor-1.0.4.gem +0 -0
  249. data/gems/cache/tilt-0.4.gem +0 -0
  250. data/gems/cache/tilt-0.5.gem +0 -0
  251. data/lib/rango/forms/form.rb +0 -30
  252. data/lib/rango/helpers.rb +0 -31
  253. data/lib/rango/helpers/assets.rb +0 -46
  254. data/lib/rango/helpers/general.rb +0 -53
  255. data/lib/rango/helpers/syntax.rb +0 -30
  256. data/lib/rango/mixins/chainable.rb +0 -66
  257. data/lib/rango/mixins/http_caching.rb +0 -78
  258. data/lib/rango/router/adapters/rack_router.rb +0 -7
  259. data/lib/rango/templates/exts/erubis.rb +0 -65
  260. data/spec/rango/forms/form_spec.rb +0 -0
  261. data/spec/rango/helpers/assets_spec.rb +0 -0
  262. data/spec/rango/helpers/general_spec.rb +0 -0
  263. data/spec/rango/helpers/syntax_spec.rb +0 -0
  264. data/spec/rango/helpers_spec.rb +0 -0
  265. data/spec/rango/rack/middlewares/email_obfuscator_spec.rb +0 -0
  266. data/spec/rango/router/adapters/rack_router_spec.rb +0 -0
  267. data/spec/rango/templates/exts/erubis_spec.rb +0 -0
  268. data/spec/stubs/templates/_basic.html.erb +0 -6
  269. data/spec/stubs/templates/basic.html.erb +0 -6
  270. data/spec/stubs/templates/capture.html.erb +0 -11
  271. data/spec/stubs/templates/context.html.erb +0 -6
  272. data/spec/stubs/templates/erubis.html.erubis +0 -2
  273. data/spec/stubs/templates/exception.html.erb +0 -1
  274. data/spec/stubs/templates/inheritance/capture/erb/base.html.erb +0 -3
  275. data/spec/stubs/templates/inheritance/capture/erb/index.html.erb +0 -4
  276. data/spec/stubs/templates/inheritance/capture/erubis/base.html.erubis +0 -3
  277. data/spec/stubs/templates/inheritance/capture/erubis/index.html.erubis +0 -4
  278. data/stubs/stack/content/lib/%name%/config.rb.rbt +0 -0
  279. data/stubs/stack/content/lib/%name%/initializers/middlewares.rb.rbt +0 -5
  280. data/stubs/stack/content/rackup.rb.rbt +0 -41
  281. data/support/hooks/pre-commit +0 -12
@@ -1,152 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require "rubygems"
4
- require "rubygems/source_index"
5
- require "rubygems/dependency_installer"
6
- require "rubygems/uninstaller"
7
- require "fileutils"
8
- require File.join(File.dirname(__FILE__), "utils")
9
- require File.join(File.dirname(__FILE__), "gem_ext")
10
- require File.join(File.dirname(__FILE__), "ops")
11
-
12
- $INSTALLING = []
13
-
14
- module Merb
15
-
16
- class Gem < Thor
17
- extend ColorfulMessages
18
-
19
- def initialize
20
- dirs = [Dir.pwd, File.dirname(__FILE__) / ".."]
21
- root = dirs.find {|d| File.file?(d / "config" / "dependencies.rb")}
22
-
23
- if root
24
- @depsrb = root / "config" / "dependencies.rb"
25
- else
26
- self.class.error "dependencies.rb was not found"
27
- exit!
28
- end
29
-
30
- FileUtils.mkdir_p(Dir.pwd / "gems")
31
-
32
- @list = Collector.collect(File.read(@depsrb))
33
- @idx = ::Gem::SourceIndex.new.load_gems_in("gems/specifications")
34
- end
35
-
36
- def list
37
- require "pp"
38
- pp @list
39
- end
40
-
41
- desc "redeploy", "Syncs up gems/cache with gems/gems. All gems in the cache " \
42
- "that are not already installed will be installed from the " \
43
- "cache. All installed gems that are not in the cache will " \
44
- "be uninstalled."
45
- def redeploy
46
- gem_dir = Dir.pwd / "gems" / "gems"
47
- cache_dir = Dir.pwd / "gems" / "cache"
48
-
49
- gems = Dir[gem_dir / "*"].map! {|n| File.basename(n)}
50
- cache = Dir[cache_dir / "*.gem"].map! {|n| File.basename(n, ".gem")}
51
- new_gems = cache - gems
52
- outdated = gems - cache
53
- idx = ::Gem::SourceIndex.new
54
- idx.load_gems_in(Dir.pwd / "gems" / "specifications")
55
-
56
- new_gems.each do |g|
57
- installer = ::Gem::Installer.new(cache_dir / "#{g}.gem",
58
- :bin_dir => Dir.pwd / "bin",
59
- :install_dir => Dir.pwd / "gems",
60
- :ignore_dependencies => true,
61
- :user_install => false,
62
- :wrappers => true,
63
- :source_index => idx)
64
-
65
- installer.install
66
- end
67
-
68
- outdated.each do |g|
69
- /(.*)\-(.*)/ =~ g
70
- name, version = $1, $2
71
- uninstaller = ::Gem::Uninstaller.new(name,
72
- :version => version,
73
- :bin_dir => Dir.pwd / "bin",
74
- :install_dir => Dir.pwd / "gems",
75
- :ignore => true,
76
- :executables => true
77
- )
78
- uninstaller.uninstall
79
- end
80
- end
81
-
82
- desc "confirm", "Confirm the current setup. merb:gem:install will " \
83
- "automatically run this task before committing the " \
84
- "changes it makes."
85
- def confirm(gems = @list)
86
- ::Gem.path.replace([Dir.pwd / "gems"])
87
- ::Gem.source_index.load_gems_in(Dir.pwd / "gems" / "specifications")
88
-
89
- self.class.info "Confirming configuration..."
90
-
91
- ::Gem.loaded_specs.clear
92
-
93
- begin
94
- gems.each do |name, versions|
95
- versions ||= []
96
- ::Gem.activate name, *versions
97
- end
98
- rescue ::Gem::LoadError => e
99
- self.class.error "Configuration could not be confirmed: #{e.message}"
100
- self.class.rollback_trans
101
- end
102
- self.class.info "Confirmed"
103
- end
104
-
105
- desc 'install', 'Sync up your bundled gems with the list in config/dependencies.rb'
106
- def install(*gems)
107
- if gems.empty?
108
- gems = @list
109
- else
110
- gems = gems.map {|desc| name, *versions = desc.split(" ") }
111
- end
112
-
113
- $GEMS = gems
114
-
115
- self.class.begin_trans
116
-
117
- gems.each do |name, versions|
118
- dep = ::Gem::Dependency.new(name, versions || [])
119
- unless @idx.search(dep).empty?
120
- next
121
- end
122
-
123
- rescue_failures do
124
- $INSTALLING = dep
125
- _install(dep)
126
- end
127
- end
128
-
129
- gem_dir = Dir.pwd / "gems" / "gems"
130
- installed_gems = Dir[gem_dir / "*"].map! {|n| File.basename(n)}
131
-
132
- list = full_list.map {|x| x.full_name}.compact
133
-
134
- (installed_gems - list).each do |g|
135
- /^(.*)\-(.*)$/ =~ g
136
- name, version = $1, $2
137
- uninstaller = ::Gem::Uninstaller.new(name,
138
- :version => version,
139
- :bin_dir => (Dir.pwd / "bin").to_s,
140
- :install_dir => (Dir.pwd / "gems").to_s,
141
- :ignore => true,
142
- :executables => true
143
- )
144
- uninstaller.uninstall
145
- end
146
-
147
- confirm(gems)
148
-
149
- self.class.commit_trans
150
- end
151
- end
152
- end
@@ -1,95 +0,0 @@
1
- # encoding: utf-8
2
-
3
- module Thor::Tasks
4
- module Merb
5
- class Collector
6
- attr_reader :dependencies
7
-
8
- def self.collect(str)
9
- collector = new
10
- collector.instance_eval(str)
11
- collector.dependencies
12
- end
13
-
14
- def initialize
15
- @dependencies = []
16
- end
17
-
18
- def dependency(name, *versions)
19
- versions.pop if versions.last.is_a?(Hash)
20
- @dependencies << [name, versions]
21
- end
22
- end
23
-
24
- class Gem < Thor
25
- def full_list
26
- @idx.load_gems_in("gems/specifications")
27
-
28
- @list.map do |name, versions|
29
- dep = ::Gem::Dependency.new(name, versions)
30
- spec = @idx.search(dep).last
31
- unless spec
32
- self.class.error "A required dependency #{dep} was not found"
33
- self.class.rollback_trans
34
- end
35
- deps = spec.recursive_dependencies(dep, @idx)
36
- [spec] + deps
37
- end.flatten.uniq
38
- end
39
-
40
- def rescue_failures(error = StandardError, prc = nil)
41
- begin
42
- yield
43
- rescue error => e
44
- if prc
45
- prc.call(e)
46
- else
47
- puts e.message
48
- puts e.backtrace
49
- end
50
- self.class.rollback_trans
51
- end
52
- end
53
-
54
- def self.begin_trans
55
- note "Beginning transaction"
56
- FileUtils.cp_r(Dir.pwd / "gems", Dir.pwd / ".original_gems")
57
- end
58
-
59
- def self.commit_trans
60
- note "Committing transaction"
61
- FileUtils.rm_rf(Dir.pwd / ".original_gems")
62
- end
63
-
64
- def self.rollback_trans
65
- if File.exist?(Dir.pwd / ".original_gems")
66
- note "Rolling back transaction"
67
- FileUtils.rm_rf(Dir.pwd / "gems")
68
- FileUtils.mv(Dir.pwd / ".original_gems", Dir.pwd / "gems")
69
- end
70
- exit!
71
- end
72
-
73
- private
74
- def _install(dep)
75
- @idx.load_gems_in("gems/specifications")
76
- return if @idx.search(dep).last
77
-
78
- installer = ::Gem::DependencyInstaller.new(
79
- :bin_dir => Dir.pwd / "bin",
80
- :install_dir => Dir.pwd / "gems",
81
- :user_install => false)
82
-
83
- begin
84
- installer.install dep.name, dep.version_requirements
85
- rescue ::Gem::GemNotFoundException => e
86
- puts "Cannot find #{dep}"
87
- rescue ::Gem::RemoteFetcher::FetchError => e
88
- puts e.message
89
- puts "Retrying..."
90
- retry
91
- end
92
- end
93
- end
94
- end
95
- end
@@ -1,42 +0,0 @@
1
- # encoding: utf-8
2
-
3
- class String
4
- def /(other)
5
- (Pathname.new(self) + other).to_s
6
- end
7
- end
8
-
9
- module ColorfulMessages
10
-
11
- # red
12
- def error(*messages)
13
- puts messages.map { |msg| "\033[1;31m#{msg}\033[0m" }
14
- end
15
-
16
- # yellow
17
- def warning(*messages)
18
- puts messages.map { |msg| "\033[1;33m#{msg}\033[0m" }
19
- end
20
-
21
- # green
22
- def success(*messages)
23
- puts messages.map { |msg| "\033[1;32m#{msg}\033[0m" }
24
- end
25
-
26
- alias_method :message, :success
27
-
28
- # magenta
29
- def note(*messages)
30
- puts messages.map { |msg| "\033[1;35m#{msg}\033[0m" }
31
- end
32
-
33
- # blue
34
- def info(*messages)
35
- puts messages.map { |msg| "\033[1;34m#{msg}\033[0m" }
36
- end
37
-
38
- end
39
-
40
- module ThorUI
41
- extend ColorfulMessages
42
- end
@@ -1,3 +0,0 @@
1
- Hello Application
2
-
3
- <%= params.inspect %>
@@ -1,21 +0,0 @@
1
- .DS_Store
2
- log/*
3
- tmp/*
4
- TAGS
5
- *~
6
- .#*
7
- schema/schema.rb
8
- schema/*_structure.sql
9
- schema/*.sqlite3
10
- schema/*.sqlite
11
- schema/*.db
12
- *.sqlite
13
- *.sqlite3
14
- *.db
15
- src/*
16
- .hgignore
17
- .hg/*
18
- .svn/*
19
- gems/gems/*
20
- gems/specifications/*
21
- merb_profile_results
@@ -1,35 +0,0 @@
1
- require 'rubygems'
2
- require 'rake/rdoctask'
3
-
4
- require 'merb-core'
5
- require 'merb-core/tasks/merb'
6
-
7
- include FileUtils
8
-
9
- # Load the basic runtime dependencies; this will include
10
- # any plugins and therefore plugin rake tasks.
11
- init_env = ENV['MERB_ENV'] || 'rake'
12
- Merb.load_dependencies(:environment => init_env)
13
-
14
- # Get Merb plugins and dependencies
15
- Merb::Plugins.rakefiles.each { |r| require r }
16
-
17
- # Load any app level custom rakefile extensions from lib/tasks
18
- tasks_path = File.join(File.dirname(__FILE__), "lib", "tasks")
19
- rake_files = Dir["#{tasks_path}/*.rake"]
20
- rake_files.each{|rake_file| load rake_file }
21
-
22
- desc "Start runner environment"
23
- task :merb_env do
24
- Merb.start_environment(:environment => init_env, :adapter => 'runner')
25
- end
26
-
27
- require 'spec/rake/spectask'
28
- require 'merb-core/test/tasks/spectasks'
29
- desc 'Default: run spec examples'
30
- task :default => 'spec'
31
-
32
- ##############################################################################
33
- # ADD YOUR CUSTOM TASKS IN /lib/tasks
34
- # NAME YOUR RAKE FILES file_name.rake
35
- ##############################################################################
@@ -1,61 +0,0 @@
1
- # encoding: utf-8
2
-
3
- # run very flat apps with merb -I <app file>.
4
-
5
- # Uncomment for DataMapper ORM
6
- # use_orm :datamapper
7
-
8
- # Uncomment for ActiveRecord ORM
9
- # use_orm :activerecord
10
-
11
- # Uncomment for Sequel ORM
12
- # use_orm :sequel
13
-
14
-
15
- #
16
- # ==== Pick what you test with
17
- #
18
-
19
- # This defines which test framework the generators will use.
20
- # RSpec is turned on by default.
21
- #
22
- # To use Test::Unit, you need to install the merb_test_unit gem.
23
- # To use RSpec, you don't have to install any additional gems, since
24
- # merb-core provides support for RSpec.
25
- #
26
- # use_test :test_unit
27
- use_test :rspec
28
-
29
- #
30
- # ==== Choose which template engine to use by default
31
- #
32
-
33
- # Merb can generate views for different template engines, choose your favourite as the default.
34
-
35
- use_template_engine :erb
36
- # use_template_engine :haml
37
-
38
- Merb::Config.use { |c|
39
- c[:framework] = { :public => [Merb.root / "public", nil] }
40
- c[:session_store] = 'none'
41
- c[:exception_details] = true
42
- c[:log_level] = :debug # or error, warn, info or fatal
43
- c[:log_stream] = STDOUT
44
- # or use file for loggine:
45
- # c[:log_file] = Merb.root / "log" / "merb.log"
46
-
47
- c[:reload_classes] = true
48
- c[:reload_templates] = true
49
- }
50
-
51
-
52
-
53
- Merb::Router.prepare do
54
- match('/').to(:controller => 'merb-very-flat', :action =>'index')
55
- end
56
-
57
- class MerbVeryFlat < Merb::Controller
58
- def index
59
- "Hi, I am 'very flat' Merb application. I have everything in one single file and well suited for dynamic stub pages."
60
- end
61
- end
@@ -1,26 +0,0 @@
1
- # encoding: utf-8
2
-
3
- require "rubygems"
4
-
5
- # Add the local gems dir if found within the app root; any dependencies loaded
6
- # hereafter will try to load from the local gems before loading system gems.
7
- if (local_gem_dir = File.join(File.dirname(__FILE__), '..', 'gems')) && $BUNDLE.nil?
8
- $BUNDLE = true; Gem.clear_paths; Gem.path.unshift(local_gem_dir)
9
- end
10
-
11
- require "spec"
12
- require "merb-core"
13
-
14
- Merb::Config.use do |c|
15
- c[:session_store] = "memory"
16
- end
17
-
18
- Merb.start_environment(:testing => true,
19
- :adapter => 'runner',
20
- :environment => ENV['MERB_ENV'] || 'test')
21
-
22
- Spec::Runner.configure do |config|
23
- config.include(Merb::Test::ViewHelper)
24
- config.include(Merb::Test::RouteHelper)
25
- config.include(Merb::Test::ControllerHelper)
26
- end
@@ -1,33 +0,0 @@
1
- # encoding: utf-8
2
-
3
- #!/usr/bin/env ruby
4
-
5
- # This was added by Merb's bundler
6
-
7
- require "rubygems"
8
- require File.join(File.dirname(__FILE__), "common")
9
-
10
- gems_dir = File.join(File.dirname(__FILE__), '..', 'gems')
11
-
12
- if File.directory?(gems_dir)
13
- $BUNDLE = true
14
- Gem.clear_paths
15
- Gem.path.replace([File.expand_path(gems_dir)])
16
- ENV["PATH"] = "#{File.dirname(__FILE__)}:#{ENV["PATH"]}"
17
-
18
- gem_file = File.join(gems_dir, "specifications", "<%= spec.name %>-*.gemspec")
19
-
20
- if local_gem = Dir[gem_file].last
21
- version = File.basename(local_gem)[/-([\.\d]+)\.gemspec$/, 1]
22
- end
23
- end
24
-
25
- version ||= "<%= Gem::Requirement.default %>"
26
-
27
- if ARGV.first =~ /^_(.*)_$/ and Gem::Version.correct? $1 then
28
- version = $1
29
- ARGV.shift
30
- end
31
-
32
- gem '<%= @spec.name %>', version
33
- load '<%= bin_file_name %>'