hobo 1.1.0 → 1.3.0.RC

Sign up to get free protection for your applications and to get access to all the features.
Files changed (278) hide show
  1. data/CHANGES.txt +238 -287
  2. data/Rakefile +14 -31
  3. data/VERSION +1 -0
  4. data/{lib/hobo → app/controllers}/dev_controller.rb +6 -6
  5. data/app/controllers/dryml_support_controller.rb +13 -0
  6. data/{rails_generators/hobo_front_controller/templates → app/views/dev}/summary.dryml +7 -10
  7. data/bin/hobo +12 -144
  8. data/config/initializers/inflections.rb +3 -0
  9. data/config/routes.rb +6 -0
  10. data/{doctest → doctests}/hobo/lifecycles.rdoctest +40 -59
  11. data/{doctest → doctests/hobo}/model.rdoctest +33 -40
  12. data/{doctest → doctests/hobo}/multi_model_forms.rdoctest +15 -19
  13. data/{doctest → doctests/hobo}/scopes.rdoctest +27 -41
  14. data/doctests/prepare_testapp.rb +8 -0
  15. data/hobo.gemspec +26 -199
  16. data/lib/generators/hobo/activation_email.rb +11 -0
  17. data/lib/generators/hobo/admin_subsite/admin_subsite_generator.rb +35 -0
  18. data/lib/generators/hobo/admin_subsite/templates/admin.css +20 -0
  19. data/lib/generators/hobo/admin_subsite/templates/admin_tag_injection.erb +10 -0
  20. data/{rails_generators/hobo_admin_site → lib/generators/hobo/admin_subsite}/templates/application.dryml +0 -0
  21. data/{rails_generators/hobo_admin_site/templates/controller.rb → lib/generators/hobo/admin_subsite/templates/controller.rb.erb} +5 -5
  22. data/lib/generators/hobo/admin_subsite/templates/users_index.dryml +7 -0
  23. data/lib/generators/hobo/assets/assets_generator.rb +18 -0
  24. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/application.css +0 -0
  25. data/lib/generators/hobo/assets/templates/application.dryml.erb +9 -0
  26. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/dryml-support.js +2 -2
  27. data/lib/generators/hobo/assets/templates/dryml_taglibs_initializer.rb +1 -0
  28. data/lib/generators/hobo/assets/templates/en_injection.yml +19 -0
  29. data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/guest.rb +1 -1
  30. data/lib/generators/hobo/controller.rb +35 -0
  31. data/lib/generators/hobo/controller/controller_generator.rb +6 -0
  32. data/lib/generators/hobo/controller/templates/controller.rb.erb +7 -0
  33. data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/USAGE +0 -0
  34. data/lib/generators/hobo/front_controller/front_controller_generator.rb +55 -0
  35. data/{rails_generators/hobo_front_controller/templates/controller.rb → lib/generators/hobo/front_controller/templates/controller.rb.erb} +0 -0
  36. data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/templates/index.dryml +6 -12
  37. data/lib/generators/hobo/i18n/i18n_generator.rb +35 -0
  38. data/lib/generators/hobo/i18n/templates/app.de.yml +30 -0
  39. data/lib/generators/hobo/i18n/templates/app.en.yml +25 -0
  40. data/lib/generators/hobo/i18n/templates/app.es.yml +31 -0
  41. data/lib/generators/hobo/i18n/templates/app.fr.yml +26 -0
  42. data/lib/generators/hobo/i18n/templates/app.it.yml +28 -0
  43. data/lib/generators/hobo/i18n/templates/app.pt-PT.yml +25 -0
  44. data/lib/generators/hobo/i18n/templates/app.ru.yml +24 -0
  45. data/lib/generators/hobo/i18n/templates/hobo.de.yml +204 -0
  46. data/lib/generators/hobo/i18n/templates/hobo.en.yml +195 -0
  47. data/lib/generators/hobo/i18n/templates/hobo.es.yml +202 -0
  48. data/lib/generators/hobo/i18n/templates/hobo.fr.yml +195 -0
  49. data/lib/generators/hobo/i18n/templates/hobo.it.yml +202 -0
  50. data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +196 -0
  51. data/lib/generators/hobo/i18n/templates/hobo.ru.yml +200 -0
  52. data/lib/generators/hobo/invite_only.rb +18 -0
  53. data/lib/generators/hobo/model/USAGE +19 -0
  54. data/lib/generators/hobo/model/model_generator.rb +11 -0
  55. data/{rails_generators/hobo_model/templates/model.rb → lib/generators/hobo/model/templates/model_injection.rb.erb} +0 -2
  56. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/USAGE +0 -0
  57. data/lib/generators/hobo/rapid/rapid_generator.rb +24 -0
  58. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/IE7.js +0 -0
  59. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/blank.gif +0 -0
  60. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.css +0 -0
  61. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.js +65 -65
  62. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/ie7-recalc.js +21 -21
  63. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/lowpro.js +31 -31
  64. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/reset.css +1 -1
  65. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-ACD3E6-DBE1E5-H.png +0 -0
  66. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-DBE1E5-FCFEF5-H.png +0 -0
  67. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/300-3B5F87-ACD3E6-H.png +0 -0
  68. data/{rails_generators/hobo_rapid/templates/themes/clean → lib/generators/hobo/rapid/templates/themes/clean-sidemenu}/public/images/spinner.gif +0 -0
  69. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/stylesheets/clean-sidemenu.css +81 -0
  70. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/views/clean-sidemenu.dryml +30 -0
  71. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/101-3B5F87-ACD3E6.png +0 -0
  72. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-3E547A-242E42.png +0 -0
  73. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-DBE1E5-FCFEF5.png +0 -0
  74. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/300-ACD3E6-fff.png +0 -0
  75. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/50-ACD3E6-fff.png +0 -0
  76. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/fieldbg.gif +0 -0
  77. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/pencil.png +0 -0
  78. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/small_close.png +0 -0
  79. data/lib/generators/hobo/rapid/templates/themes/clean/public/images/spinner.gif +0 -0
  80. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/clean.css +16 -16
  81. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
  82. data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/views/clean.dryml +1 -1
  83. data/lib/generators/hobo/resource/resource_generator.rb +23 -0
  84. data/lib/generators/hobo/routes/USAGE +9 -0
  85. data/lib/generators/hobo/routes/router.rb +115 -0
  86. data/lib/generators/hobo/routes/routes_generator.rb +40 -0
  87. data/lib/generators/hobo/routes/templates/hobo_routes.rb.erb +33 -0
  88. data/lib/generators/hobo/setup_wizard/USAGE +4 -0
  89. data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +274 -0
  90. data/lib/generators/hobo/subsite.rb +48 -0
  91. data/lib/generators/hobo/subsite/subsite_generator.rb +16 -0
  92. data/{rails_generators/hobo_subsite → lib/generators/hobo/subsite}/templates/application.dryml +0 -0
  93. data/{rails_generators/hobo_subsite/templates/controller.rb → lib/generators/hobo/subsite/templates/controller.rb.erb} +1 -1
  94. data/lib/generators/hobo/subsite_taglib/subsite_taglib_generator.rb +16 -0
  95. data/{rails_generators/hobo_admin_site/templates/site_taglib.dryml → lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb} +9 -10
  96. data/lib/generators/hobo/taglib.rb +12 -0
  97. data/lib/generators/hobo/test_framework/test_framework_generator.rb +72 -0
  98. data/lib/generators/hobo/test_options.rb +19 -0
  99. data/{rails_generators/hobo_user_controller → lib/generators/hobo/user_controller}/templates/accept_invitation.dryml +0 -0
  100. data/lib/generators/hobo/user_controller/templates/controller.rb.erb +31 -0
  101. data/lib/generators/hobo/user_controller/user_controller_generator.rb +25 -0
  102. data/lib/generators/hobo/user_mailer/templates/activation.erb +9 -0
  103. data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/forgot_password.erb +2 -2
  104. data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/invite.erb +2 -2
  105. data/lib/generators/hobo/user_mailer/templates/mailer.rb.erb +25 -0
  106. data/lib/generators/hobo/user_mailer/user_mailer_generator.rb +33 -0
  107. data/lib/generators/hobo/user_model/USAGE +12 -0
  108. data/{rails_generators/hobo_user_model/templates/model.rb → lib/generators/hobo/user_model/templates/model_injection.rb.erb} +40 -20
  109. data/lib/generators/hobo/user_model/user_model_generator.rb +23 -0
  110. data/lib/generators/hobo/user_resource/user_resource_generator.rb +27 -0
  111. data/lib/hobo.rb +29 -129
  112. data/lib/hobo/controller.rb +37 -47
  113. data/lib/hobo/controller/authentication_support.rb +109 -0
  114. data/lib/hobo/{model_controller.rb → controller/model.rb} +71 -79
  115. data/lib/hobo/{user_controller.rb → controller/user.rb} +59 -49
  116. data/lib/hobo/engine.rb +80 -0
  117. data/lib/hobo/extensions/action_controller/hobo_methods.rb +44 -0
  118. data/lib/hobo/extensions/action_mailer/helper.rb +38 -0
  119. data/lib/{action_view_extensions/helpers → hobo/extensions/action_view}/tag_helper.rb +5 -2
  120. data/lib/hobo/extensions/action_view/translation_helper.rb +25 -0
  121. data/lib/hobo/extensions/active_model/name.rb +16 -0
  122. data/lib/hobo/extensions/active_model/translation.rb +35 -0
  123. data/lib/{active_record/association_collection.rb → hobo/extensions/active_record/associations/collection.rb} +8 -17
  124. data/lib/{active_record/association_proxy.rb → hobo/extensions/active_record/associations/proxy.rb} +6 -7
  125. data/lib/hobo/extensions/active_record/associations/reflection.rb +23 -0
  126. data/lib/hobo/extensions/active_record/associations/scope.rb +35 -0
  127. data/lib/hobo/extensions/active_record/hobo_methods.rb +11 -0
  128. data/lib/hobo/extensions/active_record/permissions.rb +159 -0
  129. data/lib/hobo/extensions/active_record/relation_with_origin.rb +28 -0
  130. data/lib/hobo/extensions/array.rb +27 -0
  131. data/lib/hobo/extensions/enumerable.rb +12 -0
  132. data/lib/hobo/extensions/i18n.rb +17 -0
  133. data/lib/hobo/{hobo_helper.rb → helper.rb} +58 -31
  134. data/lib/hobo/helper/translations.rb +54 -0
  135. data/lib/hobo/helper/translations/normalizer.rb +39 -0
  136. data/lib/hobo/model.rb +61 -95
  137. data/lib/hobo/model/accessible_associations.rb +178 -0
  138. data/lib/hobo/{find_for.rb → model/find_for.rb} +17 -17
  139. data/lib/hobo/model/guest.rb +25 -0
  140. data/lib/hobo/model/include_in_save.rb +55 -0
  141. data/lib/hobo/model/lifecycles.rb +119 -0
  142. data/lib/hobo/model/lifecycles/actions.rb +146 -0
  143. data/lib/hobo/model/lifecycles/creator.rb +74 -0
  144. data/lib/hobo/model/lifecycles/lifecycle.rb +243 -0
  145. data/lib/hobo/model/lifecycles/state.rb +22 -0
  146. data/lib/hobo/model/lifecycles/transition.rb +70 -0
  147. data/lib/hobo/model/permissions.rb +448 -0
  148. data/lib/hobo/model/scopes.rb +38 -0
  149. data/lib/hobo/model/scopes/apply_scopes.rb +21 -0
  150. data/lib/hobo/model/scopes/automatic_scopes.rb +428 -0
  151. data/lib/hobo/model/user_base.rb +184 -0
  152. data/lib/hobo/model/view_hints.rb +123 -0
  153. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/cards.dryml.erb +2 -2
  154. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/forms.dryml.erb +3 -3
  155. data/{rapid_generators → lib/hobo/rapid/generators}/rapid/pages.dryml.erb +38 -51
  156. data/lib/hobo/rapid/helper.rb +166 -0
  157. data/{taglibs → lib/hobo/rapid/taglibs}/rapid.dryml +6 -5
  158. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_core.dryml +286 -118
  159. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_document_tags.dryml +2 -2
  160. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_editing.dryml +45 -45
  161. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_forms.dryml +190 -158
  162. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_generics.dryml +12 -9
  163. data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +107 -0
  164. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_lifecycles.dryml +7 -7
  165. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_navigation.dryml +15 -15
  166. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_pages.dryml +37 -36
  167. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_plus.dryml +107 -43
  168. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_summary.dryml +28 -57
  169. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_support.dryml +9 -9
  170. data/{taglibs → lib/hobo/rapid/taglibs}/rapid_user_pages.dryml +41 -40
  171. data/lib/hobo/routes.rb +31 -0
  172. data/{doctest → test/doctest}/hobo/hobo_helper.rdoctest +11 -11
  173. data/test/irt/generators/admin_subsite.irt +27 -0
  174. data/test/irt/generators/assets.irt +16 -0
  175. data/test/irt/generators/controller.irt +6 -0
  176. data/test/irt/generators/front_controller.irt +30 -0
  177. data/test/irt/generators/helper.rb +31 -0
  178. data/test/irt/generators/model.irt +28 -0
  179. data/test/irt/generators/partials/_account_user_model_tests.rb +21 -0
  180. data/test/irt/generators/partials/_accounts_users_controller_tests.rb +15 -0
  181. data/test/irt/generators/partials/_default_user_model_tests.rb +21 -0
  182. data/test/irt/generators/partials/_default_users_controller_tests.rb +16 -0
  183. data/test/irt/generators/partials/_house_controller_tests.rb +15 -0
  184. data/test/irt/generators/partials/_house_model_tests.rb +18 -0
  185. data/test/irt/generators/partials/_subsite_taglib_admin.rb +4 -0
  186. data/test/irt/generators/partials/_subsite_taglib_admin_invite_only.rb +3 -0
  187. data/test/irt/generators/partials/_subsite_taglib_noopt.rb +4 -0
  188. data/test/irt/generators/partials/_subsite_taglib_variables.rb +27 -0
  189. data/test/irt/generators/partials/_user_mailer_tests.rb +19 -0
  190. data/test/irt/generators/rapid.irt +29 -0
  191. data/test/irt/generators/resource.irt +8 -0
  192. data/test/irt/generators/subsite.irt +52 -0
  193. data/test/irt/generators/subsite_taglib.irt +23 -0
  194. data/test/irt/generators/test_framework.irt +62 -0
  195. data/test/irt/generators/user_controller.irt +10 -0
  196. data/test/irt/generators/user_mailer.irt +20 -0
  197. data/test/irt/generators/user_model.irt +10 -0
  198. data/test/irt/generators/user_resource.irt +14 -0
  199. data/test/irt/readme.txt +7 -0
  200. data/test/permissions/models/models.rb +27 -24
  201. data/test/permissions/test_permissions.rb +104 -104
  202. metadata +239 -217
  203. data/lib/active_record/association_reflection.rb +0 -20
  204. data/lib/active_record/viewhints_validations_interceptor.rb +0 -9
  205. data/lib/hobo/accessible_associations.rb +0 -183
  206. data/lib/hobo/authentication_support.rb +0 -131
  207. data/lib/hobo/generator.rb +0 -26
  208. data/lib/hobo/guest.rb +0 -25
  209. data/lib/hobo/include_in_save.rb +0 -55
  210. data/lib/hobo/lifecycles.rb +0 -137
  211. data/lib/hobo/lifecycles/actions.rb +0 -142
  212. data/lib/hobo/lifecycles/creator.rb +0 -72
  213. data/lib/hobo/lifecycles/lifecycle.rb +0 -249
  214. data/lib/hobo/lifecycles/state.rb +0 -22
  215. data/lib/hobo/lifecycles/transition.rb +0 -70
  216. data/lib/hobo/model_router.rb +0 -290
  217. data/lib/hobo/permissions.rb +0 -451
  218. data/lib/hobo/permissions/associations.rb +0 -175
  219. data/lib/hobo/rapid_helper.rb +0 -157
  220. data/lib/hobo/scopes.rb +0 -43
  221. data/lib/hobo/scopes/apply_scopes.rb +0 -23
  222. data/lib/hobo/scopes/association_proxy_extensions.rb +0 -62
  223. data/lib/hobo/scopes/automatic_scopes.rb +0 -421
  224. data/lib/hobo/scopes/named_scope_extensions.rb +0 -39
  225. data/lib/hobo/tasks/rails.rb +0 -4
  226. data/lib/hobo/translations.rb +0 -93
  227. data/lib/hobo/undefined_access_error.rb +0 -5
  228. data/lib/hobo/user.rb +0 -182
  229. data/lib/hobo/view_hints.rb +0 -115
  230. data/rails/init.rb +0 -10
  231. data/rails_generators/hobo/USAGE +0 -4
  232. data/rails_generators/hobo/hobo_generator.rb +0 -53
  233. data/rails_generators/hobo/templates/application.dryml +0 -1
  234. data/rails_generators/hobo/templates/initializer.rb +0 -2
  235. data/rails_generators/hobo_admin_site/USAGE +0 -16
  236. data/rails_generators/hobo_admin_site/hobo_admin_site_generator.rb +0 -45
  237. data/rails_generators/hobo_admin_site/templates/admin.css +0 -2
  238. data/rails_generators/hobo_admin_site/templates/users_index.dryml +0 -5
  239. data/rails_generators/hobo_front_controller/hobo_front_controller_generator.rb +0 -95
  240. data/rails_generators/hobo_front_controller/templates/functional_test.rb +0 -8
  241. data/rails_generators/hobo_front_controller/templates/helper.rb +0 -2
  242. data/rails_generators/hobo_model/USAGE +0 -25
  243. data/rails_generators/hobo_model/hobo_model_generator.rb +0 -43
  244. data/rails_generators/hobo_model/templates/fixtures.yml +0 -6
  245. data/rails_generators/hobo_model/templates/hints.rb +0 -7
  246. data/rails_generators/hobo_model/templates/unit_test.rb +0 -8
  247. data/rails_generators/hobo_model_controller/USAGE +0 -30
  248. data/rails_generators/hobo_model_controller/hobo_model_controller_generator.rb +0 -46
  249. data/rails_generators/hobo_model_controller/templates/controller.rb +0 -7
  250. data/rails_generators/hobo_model_controller/templates/functional_test.rb +0 -8
  251. data/rails_generators/hobo_model_controller/templates/helper.rb +0 -2
  252. data/rails_generators/hobo_model_resource/USAGE +0 -38
  253. data/rails_generators/hobo_model_resource/hobo_model_resource_generator.rb +0 -73
  254. data/rails_generators/hobo_model_resource/templates/controller.rb +0 -7
  255. data/rails_generators/hobo_model_resource/templates/functional_test.rb +0 -8
  256. data/rails_generators/hobo_model_resource/templates/helper.rb +0 -2
  257. data/rails_generators/hobo_rapid/hobo_rapid_generator.rb +0 -94
  258. data/rails_generators/hobo_subsite/USAGE +0 -16
  259. data/rails_generators/hobo_subsite/hobo_subsite_generator.rb +0 -73
  260. data/rails_generators/hobo_subsite/templates/site_taglib.dryml +0 -13
  261. data/rails_generators/hobo_user_controller/USAGE +0 -34
  262. data/rails_generators/hobo_user_controller/hobo_user_controller_generator.rb +0 -65
  263. data/rails_generators/hobo_user_controller/templates/controller.rb +0 -29
  264. data/rails_generators/hobo_user_controller/templates/functional_test.rb +0 -8
  265. data/rails_generators/hobo_user_controller/templates/helper.rb +0 -2
  266. data/rails_generators/hobo_user_model/USAGE +0 -16
  267. data/rails_generators/hobo_user_model/hobo_user_model_generator.rb +0 -46
  268. data/rails_generators/hobo_user_model/templates/fixtures.yml +0 -19
  269. data/rails_generators/hobo_user_model/templates/mailer.rb +0 -29
  270. data/rails_generators/hobo_user_model/templates/unit_test.rb +0 -8
  271. data/script/destroy +0 -14
  272. data/script/generate +0 -14
  273. data/taglibs/rapid_translations.dryml +0 -36
  274. data/tasks/environments.rake +0 -19
  275. data/tasks/hobo_tasks.rake +0 -58
  276. data/test/generators/test_generator_helper.rb +0 -29
  277. data/test/generators/test_helper.rb +0 -1
  278. data/test/generators/test_hobo_model_controller_generator.rb +0 -56
@@ -2,8 +2,8 @@ Hobo's Miscellaneous Model Extensions
2
2
  {.document-title}
3
3
 
4
4
  This chapter of the Hobo Manual describes Hobo's model extensions,
5
- with the exception of [HoboFields](../hobofields) and
6
- [Permissions](../permissions),
5
+ with the exception of [HoboFields](../hobo_fields) and
6
+ [Permissions](../permissions),
7
7
  [Accessible Associations](../multi_model_forms) and [Scopes](../scopes) each of
8
8
  which have their own chapters in this manual. This chapter should
9
9
  describe everything else that Hobo provides to your models.
@@ -14,41 +14,8 @@ Contents
14
14
  - contents
15
15
  {:toc}
16
16
 
17
- >> require 'rubygems'
18
- >> require 'active_support'
19
- >> require 'active_record'
20
- >> require 'action_pack'
21
- >> require 'action_view'
22
- >> require 'action_controller'
23
- >> mysql_adapter = defined?(JRUBY_VERSION) ? 'jdbcmysql' : 'mysql'
24
- >> mysql_user = 'root'; mysql_password = ''
25
- >> mysql_login = "-u #{mysql_user} --password='#{mysql_password}'"
26
- >> mysql_database = "hobofields_doctest"
27
- >> system "mysqladmin #{mysql_login} --force drop #{mysql_database} 2> /dev/null"
28
- >> system("mysqladmin #{mysql_login} create #{mysql_database}") or raise "could not create database"
29
- >> ActiveRecord::Base.establish_connection(:adapter => mysql_adapter,
30
- :database => mysql_database,
31
- :host => "localhost",
32
- :username => mysql_user,
33
- :password => mysql_password)
34
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobofields/lib')
35
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobosupport/lib')
36
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobo/lib')
37
- >> gem 'will_paginate', '~> 2'
38
- >> require 'will_paginate'
39
- >> require 'will_paginate/finder'
40
- >> require 'hobosupport'
41
- >> require 'hobofields'
42
- >> require 'hobo'
43
- >> Hobo::Model.enable
44
- >> HoboFields.enable
45
- >>
46
- def migrate(renames={})
47
- up, down = HoboFields::MigrationGenerator.run(renames)
48
- ActiveRecord::Migration.class_eval(up)
49
- ActiveRecord::Base.send(:subclasses).each { |model| model.reset_column_information }
50
- [up, down]
51
- end
17
+ doctest: prepare testapp environment
18
+ doctest_require: '../prepare_testapp'
52
19
  {.hidden}
53
20
 
54
21
  # Special Attributes
@@ -84,7 +51,14 @@ declaration:
84
51
  never_show :poster
85
52
 
86
53
  end
87
- >> migrate
54
+
55
+ $ rails generate hobo:migration -n -m
56
+
57
+ >> Rails::Generators.invoke 'hobo:migration', %w(-n -m)
58
+ >> Post.all
59
+ => []
60
+ {.hidden}
61
+
88
62
 
89
63
  In the above example, `name`, `creator` and `primary_content` specify
90
64
  attributes that have meaning to Hobo. `set_search_columns` and
@@ -102,6 +76,9 @@ good example would be the title column in a blog object.
102
76
  >> Post.name_attribute
103
77
  => :title
104
78
 
79
+ >> Post.all
80
+ => []
81
+
105
82
 
106
83
  Rapid makes extensive use of this column, both directly and
107
84
  indirectly. The `<name>` tag uses it, `<table-plus>` uses it as the
@@ -152,7 +129,14 @@ object. In this case, you can provide your own name method instead:
152
129
  first_name + ' ' + last_name
153
130
  end
154
131
  end
155
- >> migrate
132
+
133
+ $ rails generate hobo:migration -n -m
134
+
135
+ >> Rails::Generators.invoke 'hobo:migration', %w(-n -m)
136
+ >> Person.all
137
+ => []
138
+ {.hidden}
139
+
156
140
  >> person = Person.new(:first_name => "John", :last_name => "Brown")
157
141
  >> person.to_s
158
142
  => "John Brown"
@@ -321,7 +305,14 @@ the other model.
321
305
  class User < ActiveRecord::Base
322
306
  has_many :posts, :foreign_key => "poster_id"
323
307
  end
324
- >> migrate
308
+
309
+ $ rails generate hobo:migration -n -m
310
+
311
+ >> Rails::Generators.invoke 'hobo:migration', %w(-n -m)
312
+ >> Post.all
313
+ >> User.all
314
+ {.hidden}
315
+
325
316
 
326
317
  >> Post.reverse_reflection(:poster).name
327
318
  => :posts
@@ -333,3 +324,5 @@ This provides a shortcut to the corresponding
333
324
 
334
325
  >> Post.view_hints
335
326
  => PostHints
327
+
328
+
@@ -20,31 +20,27 @@ Contents
20
20
  >> mysql_adapter = defined?(JRUBY_VERSION) ? 'jdbcmysql' : 'mysql'
21
21
  >> mysql_user = 'root'; mysql_password = ''
22
22
  >> mysql_login = "-u #{mysql_user} --password='#{mysql_password}'"
23
- >> mysql_database = "hobofields_doctest"
23
+ >> mysql_database = "hobo_fields_doctest"
24
24
  >> system "mysqladmin #{mysql_login} --force drop #{mysql_database} 2> /dev/null"
25
25
  >> system("mysqladmin #{mysql_login} create #{mysql_database}") or raise "could not create database"
26
26
  >> ActiveRecord::Base.establish_connection(:adapter => mysql_adapter,
27
27
  :database => mysql_database,
28
- :host => "localhost",
29
- :username => mysql_user,
28
+ :host => "localhost",
29
+ :username => mysql_user,
30
30
  :password => mysql_password)
31
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobofields/lib')
32
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobosupport/lib')
33
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobo/lib')
34
- >> gem 'will_paginate', '~> 2'
31
+ >> $:.unshift File.expand_path('../../../../hobo_support/lib', __FILE__)
32
+ >> $:.unshift File.expand_path('../../../../hobo_fields/lib', __FILE__)
33
+ >> $:.unshift File.expand_path('../../../../dryml/lib', __FILE__)
34
+ >> $:.unshift File.expand_path('../../../lib', __FILE__)
35
+ >> gem 'will_paginate', ">= 3.0.pre"
35
36
  >> require 'will_paginate'
36
- >> require 'will_paginate/finder'
37
- >> require 'hobosupport'
38
- >> require 'hobofields'
39
37
  >> require 'hobo'
40
- >> Hobo::Model.enable
41
- >> HoboFields.enable
42
- >> ActiveRecord::Base.logger = ActiveSupport::BufferedLogger.new(STDOUT)
38
+ >> ActiveRecord::Base.logger = ActiveSupport::BufferedLogger.new(StringIO.new(''))
43
39
  >>
44
40
  def migrate(renames={})
45
- up, down = HoboFields::MigrationGenerator.run(renames)
41
+ up, down = Generators::Hobo::Migration::Migrator.run(renames)
46
42
  ActiveRecord::Migration.class_eval(up)
47
- ActiveRecord::Base.send(:subclasses).each { |model| model.reset_column_information }
43
+ ActiveRecord::Base.send(:descendants).each { |model| model.reset_column_information }
48
44
  [up, down]
49
45
  end
50
46
  {.hidden}
@@ -74,13 +70,13 @@ for more information on `:dependent => :destroy`.
74
70
  We'll use rubydoctest to provide our examples for this section. Here
75
71
  are the models:
76
72
 
77
- >>
73
+ >>
78
74
  class Foo < ActiveRecord::Base
79
75
  hobo_model
80
76
  fields { name :string }
81
77
  has_many :bars, :accessible => true
82
78
  end
83
- >>
79
+ >>
84
80
  class Bar < ActiveRecord::Base
85
81
  hobo_model
86
82
  fields { name :string }
@@ -89,7 +85,7 @@ are the models:
89
85
  >> migrate
90
86
 
91
87
  The `:accessible => true` option patches in
92
- `Hobo::AccessibleAssociations` to your ActiveRecord model. It
88
+ `Hobo::Model::AccessibleAssociations` to your ActiveRecord model. It
93
89
  modifies the `bars=` writer function to support assigning an array of
94
90
  records, an array of hashes, an array of ids, or an empty string.
95
91
 
@@ -115,7 +111,7 @@ are deleted from your association.
115
111
  => "foo1"
116
112
  >> bar1.reload
117
113
  >> bar1.foo
118
- => nil
114
+ => nil
119
115
 
120
116
  If `:dependent => :destroy` had been set on `has_many :bars`, bar1
121
117
  would now be deleted from the database. Since it hasn't, it still
@@ -53,39 +53,35 @@ We also need to get ActiveRecord set up with a database connection
53
53
  >> mysql_adapter = defined?(JRUBY_VERSION) ? 'jdbcmysql' : 'mysql'
54
54
  >> mysql_user = 'root'; mysql_password = ''
55
55
  >> mysql_login = "-u #{mysql_user} --password='#{mysql_password}'"
56
- >> mysql_database = "hobofields_doctest"
56
+ >> mysql_database = "hobo_fields_doctest"
57
57
  >> system "mysqladmin #{mysql_login} --force drop #{mysql_database} 2> /dev/null"
58
58
  >> system("mysqladmin #{mysql_login} create #{mysql_database}") or raise "could not create database"
59
59
  >> ActiveRecord::Base.establish_connection(:adapter => mysql_adapter,
60
60
  :database => mysql_database,
61
- :host => "localhost",
62
- :username => mysql_user,
61
+ :host => "localhost",
62
+ :username => mysql_user,
63
63
  :password => mysql_password)
64
+ >> ActiveRecord::Base.logger = ActiveSupport::BufferedLogger::new(StringIO.new(''))
64
65
  {.hidden}
65
66
 
66
67
  Some load path manipulation:
67
68
  {.hidden}
68
69
 
69
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobofields/lib')
70
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobosupport/lib')
71
- >> $:.unshift File.join(File.expand_path(File.dirname(__FILE__)), '../../hobo/lib')
70
+ >> $:.unshift File.expand_path('../../../../hobo_support/lib', __FILE__)
71
+ >> $:.unshift File.expand_path('../../../../hobo_fields/lib', __FILE__)
72
+ >> $:.unshift File.expand_path('../../../../dryml/lib', __FILE__)
73
+ >> $:.unshift File.expand_path('../../../lib', __FILE__)
72
74
  {.hidden}
73
75
 
74
76
  And we'll require hobo:
75
77
  {.hidden}
76
78
 
77
- >> gem 'will_paginate', '~> 2'
78
79
  >> require 'will_paginate'
79
- >> require 'will_paginate/finder'
80
- >> require 'hobosupport'
81
- >> require 'hobofields'
82
80
  >> require 'hobo'
83
- >> Hobo::Model.enable
84
- >> HoboFields.enable
85
81
  {.hidden}
86
82
 
87
83
  Let's set up a few models for our testing:
88
-
84
+
89
85
  >>
90
86
  class Person < ActiveRecord::Base
91
87
  hobo_model
@@ -95,7 +91,6 @@ Let's set up a few models for our testing:
95
91
  born_at :date
96
92
  code :integer
97
93
  male :boolean
98
- foo :string
99
94
  timestamps
100
95
  end
101
96
 
@@ -106,7 +101,7 @@ Let's set up a few models for our testing:
106
101
  has_many :friendships
107
102
  has_many :friends, :through => :friendships
108
103
  end
109
-
104
+
110
105
  >>
111
106
  class Friendship < ActiveRecord::Base
112
107
  hobo_model
@@ -118,21 +113,21 @@ Let's set up a few models for our testing:
118
113
  Generate a migration and run it:
119
114
  {.hidden}
120
115
 
121
- >> ActiveRecord::Migration.class_eval(HoboFields::MigrationGenerator.run[0])
116
+ >> ActiveRecord::Migration.class_eval(Generators::Hobo::Migration::Migrator.run[0])
122
117
  >> Person.columns.*.name
123
- => ["id", "name", "born_at", "code", "male", "foo", "created_at", "updated_at", "state"]
118
+ => ["id", "name", "born_at", "code", "male", "created_at", "updated_at", "state"]
124
119
  {.hidden}
125
120
 
126
121
  And create a couple of fixtures:
127
122
 
128
- >>
129
- Bryan = Person.new(:name => "Bryan", :code => 17,
130
- :born_at => Date.new(1973,4,8), :male => true, :foo => "common")
123
+ >>
124
+ Bryan = Person.new(:name => "Bryan", :code => 17,
125
+ :born_at => Date.new(1973,4,8), :male => true)
131
126
  >> Bryan.state = "active"
132
127
  >> Bryan.save!
133
- >>
134
- Bethany = Person.new(:name => "Bethany", :code => 42,
135
- :born_at => Date.new(1975,5,13), :male => false, :foo => "common")
128
+ >>
129
+ Bethany = Person.new(:name => "Bethany", :code => 42,
130
+ :born_at => Date.new(1975,5,13), :male => false)
136
131
  >> Bethany.state = "inactive"
137
132
  >> Bethany.save!
138
133
  >> Friendship.new(:person => Bryan, :friend => Bethany).save!
@@ -288,14 +283,14 @@ Gives the N most recent items:
288
283
  >> Person.order_by(:code).*.name
289
284
  => ["Bryan", "Bethany"]
290
285
 
291
- ## includes
286
+ ## include
292
287
 
293
- Adding the includes function to your query chain has the same effect as
294
- the `:include` option to the `find` method.
288
+ DEPRECATED: Automatic scope :include has been deprecated: use :includes instead.
295
289
 
296
- >> Person.search("B", :name).include(:friends).*.name # test LH#839
290
+ ## includes
291
+
292
+ >> Person.search("B", :name).includes(:friends).*.name # test LH#839
297
293
  => ["Bryan", "Bethany"]
298
- .hidden
299
294
 
300
295
  >> Person.includes(:friends).*.name
301
296
  => ["Bryan", "Bethany"]
@@ -354,7 +349,7 @@ You can use \_is on a `:has_one` or a `:belongs_to` relationship:
354
349
 
355
350
  When defining an association, you can add a scope:
356
351
 
357
- >>
352
+ >>
358
353
  class Person
359
354
  has_many :active_friends, :class_name => "Person", :through => :friendships, :source => :friend, :scope => :active
360
355
  has_many :inactive_friends, :class_name => "Person", :through => :friendships, :source => :friend, :scope => :inactive
@@ -367,7 +362,7 @@ When defining an association, you can add a scope:
367
362
 
368
363
  or several scopes:
369
364
 
370
- >>
365
+ >>
371
366
  class Person
372
367
  has_many :inactive_female_friends, :class_name => "Person", :through => :friendships, :source => :friend, :scope => [:inactive, :not_male]
373
368
  has_many :active_female_friends, :class_name => "Person", :through => :friendships, :source => :friend, :scope => [:active, :not_male]
@@ -383,7 +378,7 @@ or several scopes:
383
378
 
384
379
  You can parameterize the scopes:
385
380
 
386
- >>
381
+ >>
387
382
  class Person
388
383
  has_many :y_friends, :class_name => "Person", :through => :friendships, :source => :friend, :scope => { :name_contains => 'y' }
389
384
  has_many :z_friends, :class_name => "Person", :through => :friendships, :source => :friend, :scope => { :name_contains => 'z' }
@@ -393,7 +388,7 @@ You can parameterize the scopes:
393
388
  => ["Bethany"]
394
389
  >> Bryan.z_friends.*.name
395
390
  => []
396
-
391
+
397
392
 
398
393
  # Chaining
399
394
 
@@ -402,15 +397,6 @@ Like named scopes, Hobo scopes can be chained:
402
397
  >> Bryan.inactive_friends.inactive.*.name
403
398
  => ["Bethany"]
404
399
 
405
- >> Person.scoped(:conditions => {:state => "active"}).scoped(:conditions => {:foo => "common"}).*.name
406
- => ["Bryan"]
407
-
408
- >> Person.with_friendship(Friendship.first).born_before(Date.new(1974)).*.name
409
- => ["Bryan"]
410
-
411
- >> Person.born_after(Date.new(1974)).with_friendship(Friendship.first).*.name
412
- => []
413
-
414
400
  Clean up our test database:
415
401
  {.hidden}
416
402
 
@@ -0,0 +1,8 @@
1
+ require 'fileutils'
2
+ system %(rake test:prepare_testapp)
3
+ TESTAPP_PATH = '/tmp/hobo_testapp'
4
+ FileUtils.chdir TESTAPP_PATH
5
+ require 'config/environment'
6
+ require 'rails/generators'
7
+ Rails::Generators.configure!
8
+
data/hobo.gemspec CHANGED
@@ -1,207 +1,34 @@
1
- # Generated by jeweler
2
- # DO NOT EDIT THIS FILE DIRECTLY
3
- # Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
4
- # -*- encoding: utf-8 -*-
1
+ name = File.basename( __FILE__, '.gemspec' )
2
+ version = File.read(File.expand_path('../VERSION', __FILE__)).strip
3
+ require 'date'
5
4
 
6
5
  Gem::Specification.new do |s|
7
- s.name = %q{hobo}
8
- s.version = "1.1.0"
9
6
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Tom Locke"]
12
- s.date = %q{2011-11-15}
13
- s.default_executable = %q{hobo}
14
- s.email = %q{tom@tomlocke.com}
7
+ s.authors = ['Tom Locke']
8
+ s.email = 'tom@tomlocke.com'
9
+ s.homepage = 'http://hobocentral.net'
10
+ s.rubyforge_project = 'hobo'
11
+ s.summary = 'The web app builder for Rails'
12
+ s.description = 'The web app builder for Rails'
13
+
14
+ s.add_runtime_dependency('hobo_support', ["= #{version}"])
15
+ s.add_runtime_dependency('hobo_fields', ["= #{version}"])
16
+ s.add_runtime_dependency('dryml', ["= #{version}"])
17
+ s.add_runtime_dependency('will_paginate', [">= 3.0.pre"])
18
+
19
+ s.add_development_dependency('rubydoctest', [">= 0"])
20
+ s.add_development_dependency('shoulda', [">= 0"])
21
+ s.add_development_dependency('irt', [">= 0.7.5"])
22
+
15
23
  s.executables = ["hobo"]
16
- s.extra_rdoc_files = [
17
- "README"
18
- ]
19
- s.files = [
20
- "CHANGES.txt",
21
- "LICENSE.txt",
22
- "README",
23
- "Rakefile",
24
- "bin/hobo",
25
- "doctest/hobo/hobo_helper.rdoctest",
26
- "doctest/hobo/lifecycles.rdoctest",
27
- "doctest/model.rdoctest",
28
- "doctest/multi_model_forms.rdoctest",
29
- "doctest/scopes.rdoctest",
30
- "hobo.gemspec",
31
- "lib/action_view_extensions/helpers/tag_helper.rb",
32
- "lib/active_record/association_collection.rb",
33
- "lib/active_record/association_proxy.rb",
34
- "lib/active_record/association_reflection.rb",
35
- "lib/active_record/viewhints_validations_interceptor.rb",
36
- "lib/hobo.rb",
37
- "lib/hobo/accessible_associations.rb",
38
- "lib/hobo/authentication_support.rb",
39
- "lib/hobo/controller.rb",
40
- "lib/hobo/dev_controller.rb",
41
- "lib/hobo/find_for.rb",
42
- "lib/hobo/generator.rb",
43
- "lib/hobo/guest.rb",
44
- "lib/hobo/hobo_helper.rb",
45
- "lib/hobo/include_in_save.rb",
46
- "lib/hobo/lifecycles.rb",
47
- "lib/hobo/lifecycles/actions.rb",
48
- "lib/hobo/lifecycles/creator.rb",
49
- "lib/hobo/lifecycles/lifecycle.rb",
50
- "lib/hobo/lifecycles/state.rb",
51
- "lib/hobo/lifecycles/transition.rb",
52
- "lib/hobo/model.rb",
53
- "lib/hobo/model_controller.rb",
54
- "lib/hobo/model_router.rb",
55
- "lib/hobo/permissions.rb",
56
- "lib/hobo/permissions/associations.rb",
57
- "lib/hobo/rapid_helper.rb",
58
- "lib/hobo/scopes.rb",
59
- "lib/hobo/scopes/apply_scopes.rb",
60
- "lib/hobo/scopes/association_proxy_extensions.rb",
61
- "lib/hobo/scopes/automatic_scopes.rb",
62
- "lib/hobo/scopes/named_scope_extensions.rb",
63
- "lib/hobo/tasks/rails.rb",
64
- "lib/hobo/translations.rb",
65
- "lib/hobo/undefined.rb",
66
- "lib/hobo/undefined_access_error.rb",
67
- "lib/hobo/user.rb",
68
- "lib/hobo/user_controller.rb",
69
- "lib/hobo/view_hints.rb",
70
- "rails/init.rb",
71
- "rails_generators/hobo/USAGE",
72
- "rails_generators/hobo/hobo_generator.rb",
73
- "rails_generators/hobo/templates/application.css",
74
- "rails_generators/hobo/templates/application.dryml",
75
- "rails_generators/hobo/templates/dryml-support.js",
76
- "rails_generators/hobo/templates/guest.rb",
77
- "rails_generators/hobo/templates/initializer.rb",
78
- "rails_generators/hobo_admin_site/USAGE",
79
- "rails_generators/hobo_admin_site/hobo_admin_site_generator.rb",
80
- "rails_generators/hobo_admin_site/templates/admin.css",
81
- "rails_generators/hobo_admin_site/templates/application.dryml",
82
- "rails_generators/hobo_admin_site/templates/controller.rb",
83
- "rails_generators/hobo_admin_site/templates/site_taglib.dryml",
84
- "rails_generators/hobo_admin_site/templates/users_index.dryml",
85
- "rails_generators/hobo_front_controller/USAGE",
86
- "rails_generators/hobo_front_controller/hobo_front_controller_generator.rb",
87
- "rails_generators/hobo_front_controller/templates/controller.rb",
88
- "rails_generators/hobo_front_controller/templates/functional_test.rb",
89
- "rails_generators/hobo_front_controller/templates/helper.rb",
90
- "rails_generators/hobo_front_controller/templates/index.dryml",
91
- "rails_generators/hobo_front_controller/templates/summary.dryml",
92
- "rails_generators/hobo_model/USAGE",
93
- "rails_generators/hobo_model/hobo_model_generator.rb",
94
- "rails_generators/hobo_model/templates/fixtures.yml",
95
- "rails_generators/hobo_model/templates/hints.rb",
96
- "rails_generators/hobo_model/templates/model.rb",
97
- "rails_generators/hobo_model/templates/unit_test.rb",
98
- "rails_generators/hobo_model_controller/USAGE",
99
- "rails_generators/hobo_model_controller/hobo_model_controller_generator.rb",
100
- "rails_generators/hobo_model_controller/templates/controller.rb",
101
- "rails_generators/hobo_model_controller/templates/functional_test.rb",
102
- "rails_generators/hobo_model_controller/templates/helper.rb",
103
- "rails_generators/hobo_model_resource/USAGE",
104
- "rails_generators/hobo_model_resource/hobo_model_resource_generator.rb",
105
- "rails_generators/hobo_model_resource/templates/controller.rb",
106
- "rails_generators/hobo_model_resource/templates/functional_test.rb",
107
- "rails_generators/hobo_model_resource/templates/helper.rb",
108
- "rails_generators/hobo_rapid/USAGE",
109
- "rails_generators/hobo_rapid/hobo_rapid_generator.rb",
110
- "rails_generators/hobo_rapid/templates/IE7.js",
111
- "rails_generators/hobo_rapid/templates/blank.gif",
112
- "rails_generators/hobo_rapid/templates/hobo-rapid.css",
113
- "rails_generators/hobo_rapid/templates/hobo-rapid.js",
114
- "rails_generators/hobo_rapid/templates/ie7-recalc.js",
115
- "rails_generators/hobo_rapid/templates/lowpro.js",
116
- "rails_generators/hobo_rapid/templates/reset.css",
117
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/101-3B5F87-ACD3E6.png",
118
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/30-3E547A-242E42.png",
119
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/30-DBE1E5-FCFEF5.png",
120
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/300-ACD3E6-fff.png",
121
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/50-ACD3E6-fff.png",
122
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/fieldbg.gif",
123
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/pencil.png",
124
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/small_close.png",
125
- "rails_generators/hobo_rapid/templates/themes/clean/public/images/spinner.gif",
126
- "rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/clean.css",
127
- "rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/rapid-ui.css",
128
- "rails_generators/hobo_rapid/templates/themes/clean/views/clean.dryml",
129
- "rails_generators/hobo_subsite/USAGE",
130
- "rails_generators/hobo_subsite/hobo_subsite_generator.rb",
131
- "rails_generators/hobo_subsite/templates/application.dryml",
132
- "rails_generators/hobo_subsite/templates/controller.rb",
133
- "rails_generators/hobo_subsite/templates/site_taglib.dryml",
134
- "rails_generators/hobo_user_controller/USAGE",
135
- "rails_generators/hobo_user_controller/hobo_user_controller_generator.rb",
136
- "rails_generators/hobo_user_controller/templates/accept_invitation.dryml",
137
- "rails_generators/hobo_user_controller/templates/controller.rb",
138
- "rails_generators/hobo_user_controller/templates/functional_test.rb",
139
- "rails_generators/hobo_user_controller/templates/helper.rb",
140
- "rails_generators/hobo_user_model/USAGE",
141
- "rails_generators/hobo_user_model/hobo_user_model_generator.rb",
142
- "rails_generators/hobo_user_model/templates/fixtures.yml",
143
- "rails_generators/hobo_user_model/templates/forgot_password.erb",
144
- "rails_generators/hobo_user_model/templates/invite.erb",
145
- "rails_generators/hobo_user_model/templates/mailer.rb",
146
- "rails_generators/hobo_user_model/templates/model.rb",
147
- "rails_generators/hobo_user_model/templates/unit_test.rb",
148
- "rapid_generators/rapid/cards.dryml.erb",
149
- "rapid_generators/rapid/forms.dryml.erb",
150
- "rapid_generators/rapid/pages.dryml.erb",
151
- "script/destroy",
152
- "script/generate",
153
- "taglibs/rapid.dryml",
154
- "taglibs/rapid_core.dryml",
155
- "taglibs/rapid_document_tags.dryml",
156
- "taglibs/rapid_editing.dryml",
157
- "taglibs/rapid_forms.dryml",
158
- "taglibs/rapid_generics.dryml",
159
- "taglibs/rapid_lifecycles.dryml",
160
- "taglibs/rapid_navigation.dryml",
161
- "taglibs/rapid_pages.dryml",
162
- "taglibs/rapid_plus.dryml",
163
- "taglibs/rapid_summary.dryml",
164
- "taglibs/rapid_support.dryml",
165
- "taglibs/rapid_translations.dryml",
166
- "taglibs/rapid_user_pages.dryml",
167
- "tasks/environments.rake",
168
- "tasks/hobo_tasks.rake",
169
- "test/generators/test_generator_helper.rb",
170
- "test/generators/test_helper.rb",
171
- "test/generators/test_hobo_model_controller_generator.rb",
172
- "test/permissions/models/models.rb",
173
- "test/permissions/models/schema.rb",
174
- "test/permissions/test_permissions.rb"
175
- ]
176
- s.homepage = %q{http://hobocentral.net/}
24
+ s.files = `git ls-files -x #{name}/* -z`.split("\0")
25
+
26
+ s.name = name
27
+ s.version = version
28
+ s.date = Date.today.to_s
29
+
30
+ s.required_rubygems_version = ">= 1.3.6"
177
31
  s.rdoc_options = ["--charset=UTF-8"]
178
32
  s.require_paths = ["lib"]
179
- s.rubyforge_project = %q{hobo}
180
- s.rubygems_version = %q{1.4.2}
181
- s.summary = %q{The web app builder for Rails}
182
-
183
- if s.respond_to? :specification_version then
184
- s.specification_version = 3
185
33
 
186
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
187
- s.add_runtime_dependency(%q<rails>, [">= 2.2.2", "< 3.0.0"])
188
- s.add_runtime_dependency(%q<will_paginate>, [">= 2.3.11", "~> 2"])
189
- s.add_runtime_dependency(%q<hobosupport>, ["= 1.1.0"])
190
- s.add_runtime_dependency(%q<hobofields>, ["= 1.1.0"])
191
- s.add_runtime_dependency(%q<dryml>, ["= 1.1.0"])
192
- else
193
- s.add_dependency(%q<rails>, [">= 2.2.2", "< 3.0.0"])
194
- s.add_dependency(%q<will_paginate>, [">= 2.3.11", "~> 2"])
195
- s.add_dependency(%q<hobosupport>, ["= 1.1.0"])
196
- s.add_dependency(%q<hobofields>, ["= 1.1.0"])
197
- s.add_dependency(%q<dryml>, ["= 1.1.0"])
198
- end
199
- else
200
- s.add_dependency(%q<rails>, [">= 2.2.2", "< 3.0.0"])
201
- s.add_dependency(%q<will_paginate>, [">= 2.3.11", "~> 2"])
202
- s.add_dependency(%q<hobosupport>, ["= 1.1.0"])
203
- s.add_dependency(%q<hobofields>, ["= 1.1.0"])
204
- s.add_dependency(%q<dryml>, ["= 1.1.0"])
205
- end
206
34
  end
207
-