hobo 0.7.5 → 0.8

Sign up to get free protection for your applications and to get access to all the features.
Files changed (212) hide show
  1. data/{hobo_files/plugin/CHANGES.txt → CHANGES.txt} +391 -0
  2. data/Manifest +146 -0
  3. data/{hobo_files/plugin/README → README} +0 -0
  4. data/bin/hobo +13 -26
  5. data/dryml_generators/rapid/cards.dryml.erb +55 -0
  6. data/dryml_generators/rapid/forms.dryml.erb +43 -0
  7. data/dryml_generators/rapid/pages.dryml.erb +284 -0
  8. data/hobo.gemspec +168 -0
  9. data/init.rb +9 -0
  10. data/lib/action_view_extensions/helpers/tag_helper.rb +7 -0
  11. data/lib/active_record/association_collection.rb +54 -0
  12. data/{hobo_files/plugin/lib → lib}/active_record/association_proxy.rb +12 -4
  13. data/{hobo_files/plugin/lib → lib}/active_record/association_reflection.rb +7 -1
  14. data/{hobo_files/plugin/lib → lib}/extensions/test_case.rb +17 -17
  15. data/{hobo_files/plugin/lib → lib}/hobo.rb +193 -100
  16. data/{hobo_files/plugin/lib → lib}/hobo/authentication_support.rb +8 -8
  17. data/{hobo_files/plugin/lib → lib}/hobo/bundle.rb +90 -89
  18. data/{hobo_files/plugin/lib → lib}/hobo/composite_model.rb +21 -21
  19. data/{hobo_files/plugin/lib → lib}/hobo/controller.rb +38 -25
  20. data/{hobo_files/plugin/lib → lib}/hobo/dev_controller.rb +10 -6
  21. data/lib/hobo/dryml.rb +167 -0
  22. data/{hobo_files/plugin/lib → lib}/hobo/dryml/dryml_builder.rb +28 -25
  23. data/lib/hobo/dryml/dryml_generator.rb +210 -0
  24. data/{hobo_files/plugin/lib → lib}/hobo/dryml/dryml_support_controller.rb +1 -1
  25. data/lib/hobo/dryml/parser.rb +3 -0
  26. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/attribute.rb +6 -6
  27. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/base_parser.rb +16 -16
  28. data/lib/hobo/dryml/parser/document.rb +57 -0
  29. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/element.rb +7 -7
  30. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/elements.rb +9 -9
  31. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/source.rb +3 -3
  32. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/text.rb +3 -3
  33. data/{hobo_files/plugin/lib → lib}/hobo/dryml/parser/tree_parser.rb +3 -3
  34. data/{hobo_files/plugin/lib → lib}/hobo/dryml/part_context.rb +26 -26
  35. data/{hobo_files/plugin/lib → lib}/hobo/dryml/scoped_variables.rb +15 -15
  36. data/{hobo_files/plugin/lib → lib}/hobo/dryml/tag_parameters.rb +10 -10
  37. data/{hobo_files/plugin/lib → lib}/hobo/dryml/taglib.rb +43 -37
  38. data/{hobo_files/plugin/lib → lib}/hobo/dryml/template.rb +290 -208
  39. data/{hobo_files/plugin/lib → lib}/hobo/dryml/template_environment.rb +173 -115
  40. data/{hobo_files/plugin/lib → lib}/hobo/dryml/template_handler.rb +19 -24
  41. data/lib/hobo/find_for.rb +95 -0
  42. data/{hobo_files/plugin/lib → lib}/hobo/generator.rb +2 -1
  43. data/{hobo_files/plugin/lib → lib}/hobo/guest.rb +12 -4
  44. data/{hobo_files/plugin/lib → lib}/hobo/hobo_helper.rb +146 -117
  45. data/lib/hobo/include_in_save.rb +43 -0
  46. data/lib/hobo/lifecycles.rb +94 -0
  47. data/lib/hobo/lifecycles/actions.rb +73 -0
  48. data/lib/hobo/lifecycles/creator.rb +76 -0
  49. data/lib/hobo/lifecycles/lifecycle.rb +205 -0
  50. data/lib/hobo/lifecycles/state.rb +23 -0
  51. data/lib/hobo/lifecycles/transition.rb +66 -0
  52. data/{hobo_files/plugin/lib → lib}/hobo/model.rb +306 -217
  53. data/{hobo_files/plugin/lib → lib}/hobo/model_controller.rb +342 -213
  54. data/{hobo_files/plugin/lib → lib}/hobo/model_router.rb +151 -120
  55. data/{hobo_files/plugin/lib → lib}/hobo/model_support.rb +9 -9
  56. data/{hobo_files/plugin/lib → lib}/hobo/rapid_helper.rb +30 -23
  57. data/{hobo_files/plugin/lib → lib}/hobo/scopes.rb +22 -68
  58. data/{hobo_files/plugin/lib → lib}/hobo/scopes/apply_scopes.rb +5 -5
  59. data/lib/hobo/scopes/association_proxy_extensions.rb +47 -0
  60. data/{hobo_files/plugin/lib → lib}/hobo/scopes/automatic_scopes.rb +104 -79
  61. data/lib/hobo/scopes/named_scope_extensions.rb +27 -0
  62. data/{hobo_files/plugin/lib → lib}/hobo/static_tags +1 -11
  63. data/{hobo_files/plugin/lib → lib}/hobo/undefined.rb +1 -1
  64. data/{hobo_files/plugin/lib → lib}/hobo/undefined_access_error.rb +0 -0
  65. data/{hobo_files/plugin/lib → lib}/hobo/user.rb +27 -25
  66. data/{hobo_files/plugin/lib → lib}/hobo/user_controller.rb +80 -34
  67. data/{hobo_files/plugin/generators → rails_generators}/hobo/hobo_generator.rb +7 -7
  68. data/rails_generators/hobo/templates/application.css +0 -0
  69. data/{hobo_files/plugin/generators → rails_generators}/hobo/templates/application.dryml +0 -2
  70. data/{hobo_files/plugin/generators → rails_generators}/hobo/templates/dryml-support.js +0 -0
  71. data/{hobo_files/plugin/generators → rails_generators}/hobo/templates/guest.rb +0 -0
  72. data/rails_generators/hobo/templates/initializer.rb +9 -0
  73. data/{hobo_files/plugin/generators → rails_generators}/hobo_front_controller/USAGE +0 -0
  74. data/{hobo_files/plugin/generators → rails_generators}/hobo_front_controller/hobo_front_controller_generator.rb +1 -3
  75. data/{hobo_files/plugin/generators → rails_generators}/hobo_front_controller/templates/controller.rb +1 -1
  76. data/{hobo_files/plugin/generators → rails_generators}/hobo_front_controller/templates/functional_test.rb +0 -0
  77. data/{hobo_files/plugin/generators → rails_generators}/hobo_front_controller/templates/helper.rb +0 -0
  78. data/rails_generators/hobo_front_controller/templates/index.dryml +25 -0
  79. data/{hobo_files/plugin/generators → rails_generators}/hobo_model/USAGE +0 -0
  80. data/{hobo_files/plugin/generators → rails_generators}/hobo_model/hobo_model_generator.rb +0 -0
  81. data/{hobo_files/plugin/generators → rails_generators}/hobo_model/templates/fixtures.yml +0 -0
  82. data/{hobo_files/plugin/generators → rails_generators}/hobo_model/templates/model.rb +0 -0
  83. data/{hobo_files/plugin/generators → rails_generators}/hobo_model/templates/unit_test.rb +0 -0
  84. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_controller/USAGE +0 -0
  85. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_controller/hobo_model_controller_generator.rb +0 -7
  86. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_controller/templates/controller.rb +0 -0
  87. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_controller/templates/functional_test.rb +0 -0
  88. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_controller/templates/helper.rb +0 -0
  89. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_resource/hobo_model_resource_generator.rb +0 -0
  90. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_resource/templates/controller.rb +0 -0
  91. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_resource/templates/functional_test.rb +0 -0
  92. data/{hobo_files/plugin/generators → rails_generators}/hobo_model_resource/templates/helper.rb +0 -0
  93. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/hobo_rapid_generator.rb +21 -11
  94. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/IE7.js +1 -1
  95. data/rails_generators/hobo_rapid/templates/blank.gif +0 -0
  96. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/hobo-rapid.css +0 -0
  97. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/hobo-rapid.js +175 -104
  98. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/lowpro.js +0 -0
  99. data/rails_generators/hobo_rapid/templates/nicEditorIcons.gif +0 -0
  100. data/rails_generators/hobo_rapid/templates/nicedit.js +91 -0
  101. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/reset.css +0 -0
  102. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/public/images/fieldbg.gif +0 -0
  103. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/public/images/pencil.png +0 -0
  104. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/public/images/small_close.png +0 -0
  105. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/public/images/spinner.gif +0 -0
  106. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/public/stylesheets/clean.css +80 -71
  107. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/public/stylesheets/rapid-ui.css +6 -1
  108. data/{hobo_files/plugin/generators → rails_generators}/hobo_rapid/templates/themes/clean/views/clean.dryml +4 -4
  109. data/rails_generators/hobo_subsite/hobo_subsite_generator.rb +73 -0
  110. data/rails_generators/hobo_subsite/templates/application.dryml +1 -0
  111. data/rails_generators/hobo_subsite/templates/controller.rb +5 -0
  112. data/rails_generators/hobo_subsite/templates/site_taglib.dryml +13 -0
  113. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_controller/USAGE +0 -0
  114. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_controller/hobo_user_controller_generator.rb +0 -0
  115. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_controller/templates/controller.rb +0 -0
  116. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_controller/templates/functional_test.rb +0 -0
  117. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_controller/templates/helper.rb +0 -0
  118. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_model/USAGE +0 -0
  119. data/rails_generators/hobo_user_model/hobo_user_model_generator.rb +30 -0
  120. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_model/templates/fixtures.yml +0 -0
  121. data/rails_generators/hobo_user_model/templates/forgot_password.erb +10 -0
  122. data/rails_generators/hobo_user_model/templates/mailer.rb +14 -0
  123. data/rails_generators/hobo_user_model/templates/model.rb +55 -0
  124. data/{hobo_files/plugin/generators → rails_generators}/hobo_user_model/templates/unit_test.rb +0 -0
  125. data/script/destroy +14 -0
  126. data/script/generate +14 -0
  127. data/{hobo_files/plugin/taglibs → taglibs}/core.dryml +6 -7
  128. data/{hobo_files/plugin/taglibs → taglibs}/rapid.dryml +36 -67
  129. data/{hobo_files/plugin/taglibs → taglibs}/rapid_document_tags.dryml +7 -24
  130. data/{hobo_files/plugin/taglibs → taglibs}/rapid_editing.dryml +51 -50
  131. data/{hobo_files/plugin/taglibs → taglibs}/rapid_forms.dryml +62 -56
  132. data/taglibs/rapid_generics.dryml +33 -0
  133. data/taglibs/rapid_lifecycles.dryml +43 -0
  134. data/{hobo_files/plugin/taglibs → taglibs}/rapid_navigation.dryml +23 -23
  135. data/taglibs/rapid_pages.dryml +183 -0
  136. data/{hobo_files/plugin/taglibs → taglibs}/rapid_plus.dryml +30 -5
  137. data/{hobo_files/plugin/taglibs → taglibs}/rapid_support.dryml +3 -4
  138. data/taglibs/rapid_user_pages.dryml +179 -0
  139. data/{hobo_files/plugin/tasks → tasks}/environments.rake +0 -0
  140. data/{hobo_files/plugin/tasks → tasks}/fix_dryml.rake +0 -0
  141. data/{hobo_files/plugin/tasks → tasks}/generate_tag_reference.rb +21 -22
  142. data/tasks/hobo_tasks.rake +32 -0
  143. data/test/test_generator_helper.rb +29 -0
  144. data/test/test_helper.rb +1 -0
  145. data/test/test_hobo_model_controller_generator.rb +56 -0
  146. data/{hobo_files/plugin/uninstall.rb → uninstall.rb} +0 -0
  147. metadata +240 -225
  148. data/README.txt +0 -18
  149. data/hobo_files/plugin/LICENSE.txt +0 -22
  150. data/hobo_files/plugin/Rakefile +0 -96
  151. data/hobo_files/plugin/generators/hobo_front_controller/templates/index.dryml +0 -24
  152. data/hobo_files/plugin/generators/hobo_front_controller/templates/search.dryml +0 -19
  153. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/banner.gif +0 -0
  154. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-bodytop.gif +0 -0
  155. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-corner-01.gif +0 -0
  156. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-corner-02.gif +0 -0
  157. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-corner-03.gif +0 -0
  158. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-corner-04.gif +0 -0
  159. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-shadow-bottom.gif +0 -0
  160. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-shadow-left.gif +0 -0
  161. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-shadow-right.gif +0 -0
  162. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/bkg-shadow-top.gif +0 -0
  163. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header-blue.gif +0 -0
  164. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header-dblue.gif +0 -0
  165. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header-green.gif +0 -0
  166. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header-purple.gif +0 -0
  167. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/header-red.gif +0 -0
  168. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/logo.gif +0 -0
  169. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/plus.png +0 -0
  170. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/spinner.gif +0 -0
  171. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt-list-img-dblue.gif +0 -0
  172. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt-list-img-green.gif +0 -0
  173. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt-list-img-purple.gif +0 -0
  174. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/txt-list-img-red.gif +0 -0
  175. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-corner-01.gif +0 -0
  176. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-corner-02.gif +0 -0
  177. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-corner-03.gif +0 -0
  178. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-corner-04.gif +0 -0
  179. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-shadow-bottom.gif +0 -0
  180. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-shadow-left.gif +0 -0
  181. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-shadow-right.gif +0 -0
  182. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/images/window-shadow-top.gif +0 -0
  183. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/stylesheets/application.css +0 -400
  184. data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/views/application.dryml +0 -96
  185. data/hobo_files/plugin/generators/hobo_user_model/hobo_user_model_generator.rb +0 -25
  186. data/hobo_files/plugin/generators/hobo_user_model/templates/model.rb +0 -56
  187. data/hobo_files/plugin/init.rb +0 -101
  188. data/hobo_files/plugin/lib/action_view_extensions/base.rb +0 -15
  189. data/hobo_files/plugin/lib/active_record/has_many_association.rb +0 -55
  190. data/hobo_files/plugin/lib/active_record/has_many_through_association.rb +0 -20
  191. data/hobo_files/plugin/lib/hobo/dryml.rb +0 -165
  192. data/hobo_files/plugin/lib/hobo/dryml/parser/document.rb +0 -53
  193. data/hobo_files/plugin/lib/hobo/scopes/association_proxy_extensions.rb +0 -33
  194. data/hobo_files/plugin/lib/hobo/scopes/defined_scope_proxy_extender.rb +0 -90
  195. data/hobo_files/plugin/lib/hobo/scopes/scope_reflection.rb +0 -18
  196. data/hobo_files/plugin/lib/hobo/scopes/scoped_proxy.rb +0 -55
  197. data/hobo_files/plugin/taglib-docs/core.markdown +0 -165
  198. data/hobo_files/plugin/taglib-docs/rapid.markdown +0 -677
  199. data/hobo_files/plugin/taglib-docs/rapid_document_tags.markdown +0 -240
  200. data/hobo_files/plugin/taglib-docs/rapid_editing.markdown +0 -418
  201. data/hobo_files/plugin/taglib-docs/rapid_forms.markdown +0 -562
  202. data/hobo_files/plugin/taglib-docs/rapid_generics.markdown +0 -187
  203. data/hobo_files/plugin/taglib-docs/rapid_navigation.markdown +0 -214
  204. data/hobo_files/plugin/taglib-docs/rapid_pages.markdown +0 -530
  205. data/hobo_files/plugin/taglib-docs/rapid_plus.markdown +0 -65
  206. data/hobo_files/plugin/taglib-docs/rapid_support.markdown +0 -50
  207. data/hobo_files/plugin/taglib-docs/rapid_user_pages.markdown +0 -129
  208. data/hobo_files/plugin/taglibs/rapid_generics.dryml +0 -117
  209. data/hobo_files/plugin/taglibs/rapid_pages.dryml +0 -359
  210. data/hobo_files/plugin/taglibs/rapid_user_pages.dryml +0 -104
  211. data/hobo_files/plugin/tasks/dump_fixtures.rake +0 -70
  212. data/hobo_files/plugin/tasks/hobo_tasks.rake +0 -17
@@ -1,3 +1,394 @@
1
+ === Hobo 0.8 ===
2
+
3
+ (There's a million changes in this release -- most of the fixes are *not* mentioned)
4
+
5
+ Hobo now works with, and indeed requires, Rails 2.1
6
+
7
+ Hobo can now be used entirely from the gem, and need not be installed in vendor/plugins. To activate Hobo in this manner in an existing Rails app, just run the hobo generator. This will add the Hobo initializer to config/initializers.
8
+
9
+ hobo command
10
+
11
+ Now shows you what it's doing
12
+
13
+ Renamed --create-dbs to --db-create to match the name of the rake task
14
+
15
+
16
+ DRYML
17
+
18
+ DRYML generators
19
+
20
+ Hobo now provides a facility to generate DRYML tags on the fly using normal erb based templates. (the generators run
21
+ when needed in development mode). The taglibs are written to taglibs/auto. Note that the generated tablibs are *not*
22
+ intended to be modified, but rather should be imported and overridden in your application.
23
+
24
+ Extending tags: The extend-with attribute is gone, instead we have the <extend> tag, e.g. instead of the rather
25
+ confusing:
26
+
27
+ <def tag="page" extend-with="app">
28
+ <page-without-app>
29
+
30
+ we now have
31
+
32
+ <extend tag="page">
33
+ <old-page>
34
+
35
+ Also works with polymorphic tags, e.g. <extend tag="card" for="Product">
36
+
37
+ Polymorphic tags: new mechanism for defining polymorphic tags.
38
+
39
+ <def tag="foo" polymorphic> ... "base" definition here ... </def>
40
+
41
+ <def tag="foo" for="Product">
42
+ ... in here you can call <foo> and it's not a recursive call
43
+ but a call to the base definition ...
44
+ </def>
45
+
46
+ "without" attributes: <page without-live-search> is a shorthand for <page><live-search: replace/>. Doesn't sound like
47
+ much but it's great. You'll like it.
48
+
49
+ <set> now respects the 'if' attribute
50
+
51
+ Using 'with' and 'field' on a parameter works more sensibly now -- DRYML will never merge with attributes and field
52
+ attributes
53
+
54
+ New semantics for scoped variables.
55
+
56
+ Scoped variables must be declared at the start of the scope. Assignments and reads always go back to the scope where
57
+ that variable was declared.
58
+
59
+ Fix to <foo:> </foo:> (i.e. one or more whitespace chars) being ignored
60
+
61
+ Removed feature from add_classes helper that was converting all _ to -. Closes #11
62
+
63
+ param='x' now adds class='x' to the output. Closes #22. Doesn't add a css class if the param name is the same as the tag
64
+ name, or is 'default'
65
+
66
+ Fixes to errors when reporting syntax error : )
67
+
68
+ Now raises an error rather than outputting nonsensical name attributes on form inputs
69
+
70
+ Removed incorrect leading '/' on template paths (e.g. in logs, stack traces)
71
+
72
+ Fix -- was accepting close tags that are a prefix of the start tags, e.g. <foo>...</fo>
73
+
74
+
75
+ Rapid tag Library
76
+
77
+ Rapid generators utilising the new DRYML generators feature. Pages, cards, forms, and the main navigation tag, are all
78
+ generated now.
79
+
80
+ New layout mechanism, and simplified <page> tag. Together with the Clean theme, it is not very easy to create column
81
+ based layouts. As a result, the "layout" attribute (to <page>) is gone, as are tags like <aside-layout>.
82
+
83
+ The standard <page> tag now has just a <content:> parameter. Specific pages might add <content-header:> or
84
+ <content-body:> themselves.
85
+
86
+ As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
87
+
88
+ <section with-flash-messages> will include the flash messages at the top of the section *unless* they are rendered by a
89
+ sub-section or have been rendered already
90
+
91
+ Update forms with not render if the user doesn't have permission
92
+
93
+ Removed <nav> tag
94
+
95
+ Changed <a-or-an> to give you 'a hotel' not 'an hotel'
96
+
97
+ <card> now always renders a link if there is a show action. Closes #54
98
+
99
+ <collection> is no longer a polymorphic tag. Drag and drop support moved into separate tag: <sortable-collection>.
100
+
101
+ Got rid of <collection-preview>
102
+
103
+ <stylesheet> tag now calls Rails helper stylesheet_link_tag name to construct the link tag. This change was made so that the
104
+ css files are automatically cached using the timestamp mechanism, e.g. application.css?1218209632. The media attribute is now
105
+ 'screen' instead of 'all' by default
106
+
107
+ Wrapped the output of <count> in a <span class='count'>
108
+
109
+ Renamed <name-for-collection> to <collection-name> and added a dasherize parameter
110
+
111
+ <ul> is gone from Rapid and is just a static tag again. Just do <ul><li repeat>
112
+
113
+ New version of IE7.js (http://ie7-js.googlecode.com/svn/trunk/lib/IE7.js rev 29)
114
+
115
+ <with-fields> (and hence <field-list>) now display fields in the order declared in the model
116
+
117
+ <card> and <show-page> no longer include the created_at timestamp
118
+
119
+ Added labels and titleize attributes to <editor for='HoboFields::EnumString'>
120
+
121
+ Added force (no edit check) attribute to <input>
122
+
123
+ <hidden-form-field> (formerly <hidden-field>) is gone
124
+
125
+ Fix to default label on non-ajax <remote-method-button>
126
+
127
+ Now outputs <span> not <div> to wrap field-with-errors (<div> is invalid)
128
+
129
+ Added <transition-buttons> and <transition-button> (lifecycles)
130
+
131
+ Added <dev-user-changer> when in development mode if there is a user model
132
+
133
+ <with-fields> now skips deleted_at by default
134
+
135
+ <name> now properly respects :name => true (in the model)
136
+
137
+ Optimised <count> so that it doesn't hit the DB for already loaded collections
138
+
139
+ Removed <heading> and <sub-heading> and <article>
140
+
141
+ Allowing <def tag=input for=MyModel> to customise inputs for any belongs_to :my_model
142
+
143
+ Changed 'There are no whatsits' message to 'No whatsits to display'
144
+
145
+ Moved to nicedit (nicedit.com) for HTML inputs and editors. Dropped all TinyMCE stuff. It turns out that this change too will
146
+ be temporary, as nicedit is a bit lacking. It seems that the YUI Editor will be the editor of choice, but we'll support it
147
+ with a plugin, rather than make it part of core Hobo.
148
+
149
+ Added default empty message to <table-plus>
150
+
151
+ Rename <belongs-to-menu-editor> to <select-one-editor> and improvements. Removed "View" link.
152
+
153
+ Made <view> fall back on to_s rather than giving up
154
+
155
+ select-many: disabled options in the select drop down instead of trying to hide them. Fixed a problem in safari where 'choose
156
+ xxx...' would get added by mistake to the list
157
+
158
+ New 'options' attribute for <integer-select-editor>
159
+
160
+ If no <input> tag found, fall back on an input for the COLUMN_TYPE if defined
161
+
162
+
163
+ Model Controller
164
+
165
+ The collection actions, e.g. PostController#comments, PostController#new_comment and PostController#create_comment have
166
+ now been moved to the controller that looks after that particular model, e.g. CommentsController#index_for_post,
167
+ CommentsController#new_for_post and CommentsController#create_for_post. The old way was just plain wrong.
168
+
169
+ Named instance var (e.g. @post) is set in body of web methods
170
+
171
+ Factored out redirect code into #redirect_after_submit
172
+
173
+ Ensure default ordering is respected when paginating
174
+
175
+ Fix to checking in superclass for permission_denied and not_found methods
176
+
177
+
178
+ Migration generator
179
+
180
+ Fixed bug with :null setting
181
+
182
+ Ignore sessions table when using the ActiveRecord session store. Closes #187.
183
+
184
+ Fix to loading models that was causing stack overflows (double alias_method_chain)
185
+
186
+ Ignore schema_migrations table
187
+
188
+ Fix to loading of namespaced models
189
+
190
+ Fix to 'm' option on Windows
191
+
192
+
193
+ hobo_front_conroller -- removed search page
194
+
195
+
196
+ Clean theme
197
+
198
+ Fix to form submit buttons in IE
199
+
200
+ Fixed problem with height of user-changer
201
+
202
+
203
+ hobo-rapid.js
204
+
205
+ Hobo.applyEvents is gone - now uses lowpro for all JS events
206
+
207
+ Only do resetForm on success. Add new onSuccess callback to Hobo.ajaxRequest
208
+
209
+
210
+ Routing
211
+
212
+ Routes are now reloaded automaticaly on every request in development mode, but you can turn this off if it gets slow.
213
+ (See hobo generator, below)
214
+
215
+ Fixes to lifecycle routes, so that object_url(obj, :signup, :method => 'post') works
216
+
217
+ Clean-up so that :format => false doesn't sneak into route options
218
+
219
+ Better error reporting if DB problems occur during routing
220
+
221
+ Doesn't try to load routes when running script/destroy
222
+
223
+
224
+ Subsites
225
+
226
+ New hobo_subsite generator, and introduced app/views/taglibs/front_site.dryml as the taglib for non-subsite pages.
227
+
228
+ The subsite taglib for, say, admin, is not admin_site.dryml, not admin.dryml
229
+
230
+ Added Hobo.subsites method to enumerate available subsites. Used by Hobo::ModelRouter
231
+
232
+ hobo generator
233
+
234
+ Added config option in initializers/hobo.rb to choose if routes are reloaded on every request (default is yes)
235
+
236
+ Hobo::ModelRouter.reload_routes_on_every_request = true
237
+
238
+ Now generates a blank application.css
239
+
240
+
241
+ User controller
242
+
243
+ The standard actions (login, signup, logout, forgot_password, reset_password) now respect the auto_actions declaration.
244
+ Closes #80
245
+
246
+
247
+ Fix to generate_tag_reference.rake so that maruku is not required when not being used
248
+
249
+
250
+ Lifecycles
251
+
252
+ Moving default user lifecycle (signup) from Hobo::User into the generated model file (hobo_user_model generator). Closes #148
253
+
254
+ Fixed problem with lifecycle keys when timezone was not configured. Now raises an error in that case. Closes #146
255
+
256
+ Changing lifecycle action names from signup_page (the form page) and signup (the post action), to signup (the form page) and
257
+ do_signup (th epost action)
258
+
259
+
260
+ Hobo models
261
+
262
+ Removed :manged => true option for has_many :through. ActiveRecord now does behaves like this by default.
263
+
264
+ Adding member_class meta-data when calling find_by_sql. Closes #231.
265
+
266
+ Moved Hobo.models to Hobo::Model.all_models, (also added Hobo::ModelController.all_controllers)
267
+
268
+ Added #foo_is? for every belongs_to :foo
269
+
270
+ record.foo_is?(x) is like record.foo == x but does not force foo to load
271
+
272
+ Have an SEO friendly URL (#to_param) by default on any model with a name attribute
273
+
274
+ Added #acting_user, virtual attribute set to the user that does a user_update, user_save etc.
275
+
276
+ Include virtual attributes (e.g. a #name method) when guessing name, description etc.
277
+
278
+
279
+ HoboFields
280
+
281
+ Removed RedCloth monkey-patch. Not needed (and broken) in RedCloth 4
282
+
283
+ Support :null => true/false on belongs_to
284
+
285
+ Making HoboFields::HtmlString a subclass of HoboFields::Text
286
+
287
+ Adding :decimal as another name for BigDecimal
288
+
289
+
290
+ Removing symlink_plugins script now that it turns out there's no need for symlinks
291
+
292
+ Just clone the whole hobo repo to vendor/plugins/hobo
293
+
294
+
295
+
296
+ hobo_user_model generator
297
+
298
+ Removed permission methods that are never used
299
+
300
+ Replaced set_admin_on_forst_user with the actual code (a one liner) for greater clarity
301
+
302
+ Added forgotton password mailer
303
+
304
+ Adding email address to standard model (for forgotten password email)
305
+
306
+
307
+
308
+ Scopes
309
+
310
+ Goodbye def_scope (Rails now has named_scope). Made automatic scopes work with named_scope
311
+
312
+ apply_scopes now works on other scopes, e.g. User.admin?.apply_scopes(...)
313
+
314
+ Added by_most_recent automatic scope
315
+
316
+ Added is and is_not automatic scopes
317
+
318
+ Made search scope AND terms rather than OR
319
+
320
+
321
+ Removed dump_fixtures rake task. See lighthouse #51
322
+
323
+
324
+ Hobo controller -- adding #call_tag (#render_tag without the render)
325
+
326
+
327
+ Symlinked generators now even work when they call each other (hobo_model_resource => hobo_model)
328
+
329
+
330
+ Hobo support - renamed Enumerable#search to Enumerable#map_and_find. Was clashing with the #search automatic scope
331
+
332
+
333
+ Multi-model forms
334
+
335
+ Hobo's support for multi-model forms has been improved, but not completed as Rails is moving in this direction too, so we
336
+ need to wait and see what happens:
337
+
338
+ DRYML - improvements to DRYML's mechanism to figure out name='...' attributes on form inputs
339
+
340
+ Added experimental support for post.comments_by_user[a_user]
341
+
342
+ Hobo models -- adding include_in_save support for transactional and validated multi-model saves
343
+
344
+ Hobo models -- add origin and origin_attribute accessors, to help DRYML figure out the correct name attribute for input
345
+ tags
346
+
347
+ Tweaks to Hobo.get_field_path semantics
348
+
349
+ Better handling of hashes wrt DRYML implicit context
350
+
351
+
352
+ Valid HTML
353
+
354
+ Various improvements to outputting valid HTML have been made to both DRYML and Rapid
355
+
356
+ Removed use of invalid html attributes like hobo-model-id, hobo-update
357
+
358
+ Empty are output as <br> when using a HTML doctype and <br /> when using XHTML
359
+
360
+
361
+ Fix to site-search for better DB comptibility (Oracle in particular had a problem)
362
+
363
+
364
+ Hack Rails so that generators are found in symlinked plugins (didn't this get fixed once already?\!)
365
+
366
+ Bundles
367
+
368
+ Pass the callers options to the Bundle#defaults
369
+
370
+
371
+ Hobo Modles --
372
+
373
+ Migration generator -- exit with a warning if there are pending migrations
374
+
375
+
376
+ Removed tabla theme
377
+
378
+
379
+ Added Guest#login ("Guest") (used by user-changer menu)
380
+
381
+
382
+ Adding #signed_up? to Hobo::User and Hobo::Guest (opposite of #guest?)
383
+
384
+
385
+ All generators moved to rails_generators directory
386
+
387
+
388
+ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
389
+
390
+
391
+
1
392
  == Hobo 0.7.5 ===
2
393
 
3
394
  Restructuring the git repo -- all the different gems/plugins live
@@ -0,0 +1,146 @@
1
+ bin/hobo
2
+ CHANGES.txt
3
+ dryml_generators/rapid/cards.dryml.erb
4
+ dryml_generators/rapid/forms.dryml.erb
5
+ dryml_generators/rapid/pages.dryml.erb
6
+ init.rb
7
+ lib/action_view_extensions/helpers/tag_helper.rb
8
+ lib/active_record/association_collection.rb
9
+ lib/active_record/association_proxy.rb
10
+ lib/active_record/association_reflection.rb
11
+ lib/extensions/test_case.rb
12
+ lib/hobo/authentication_support.rb
13
+ lib/hobo/bundle.rb
14
+ lib/hobo/composite_model.rb
15
+ lib/hobo/controller.rb
16
+ lib/hobo/dev_controller.rb
17
+ lib/hobo/dryml/dryml_builder.rb
18
+ lib/hobo/dryml/dryml_generator.rb
19
+ lib/hobo/dryml/dryml_support_controller.rb
20
+ lib/hobo/dryml/parser/attribute.rb
21
+ lib/hobo/dryml/parser/base_parser.rb
22
+ lib/hobo/dryml/parser/document.rb
23
+ lib/hobo/dryml/parser/element.rb
24
+ lib/hobo/dryml/parser/elements.rb
25
+ lib/hobo/dryml/parser/source.rb
26
+ lib/hobo/dryml/parser/text.rb
27
+ lib/hobo/dryml/parser/tree_parser.rb
28
+ lib/hobo/dryml/parser.rb
29
+ lib/hobo/dryml/part_context.rb
30
+ lib/hobo/dryml/scoped_variables.rb
31
+ lib/hobo/dryml/tag_parameters.rb
32
+ lib/hobo/dryml/taglib.rb
33
+ lib/hobo/dryml/template.rb
34
+ lib/hobo/dryml/template_environment.rb
35
+ lib/hobo/dryml/template_handler.rb
36
+ lib/hobo/dryml.rb
37
+ lib/hobo/find_for.rb
38
+ lib/hobo/generator.rb
39
+ lib/hobo/guest.rb
40
+ lib/hobo/hobo_helper.rb
41
+ lib/hobo/include_in_save.rb
42
+ lib/hobo/lifecycles/actions.rb
43
+ lib/hobo/lifecycles/creator.rb
44
+ lib/hobo/lifecycles/lifecycle.rb
45
+ lib/hobo/lifecycles/state.rb
46
+ lib/hobo/lifecycles/transition.rb
47
+ lib/hobo/lifecycles.rb
48
+ lib/hobo/model.rb
49
+ lib/hobo/model_controller.rb
50
+ lib/hobo/model_router.rb
51
+ lib/hobo/model_support.rb
52
+ lib/hobo/rapid_helper.rb
53
+ lib/hobo/scopes/apply_scopes.rb
54
+ lib/hobo/scopes/association_proxy_extensions.rb
55
+ lib/hobo/scopes/automatic_scopes.rb
56
+ lib/hobo/scopes/named_scope_extensions.rb
57
+ lib/hobo/scopes.rb
58
+ lib/hobo/static_tags
59
+ lib/hobo/undefined.rb
60
+ lib/hobo/undefined_access_error.rb
61
+ lib/hobo/user.rb
62
+ lib/hobo/user_controller.rb
63
+ lib/hobo.rb
64
+ LICENSE.txt
65
+ Manifest
66
+ rails_generators/hobo/hobo_generator.rb
67
+ rails_generators/hobo/templates/application.css
68
+ rails_generators/hobo/templates/application.dryml
69
+ rails_generators/hobo/templates/dryml-support.js
70
+ rails_generators/hobo/templates/guest.rb
71
+ rails_generators/hobo/templates/initializer.rb
72
+ rails_generators/hobo_front_controller/hobo_front_controller_generator.rb
73
+ rails_generators/hobo_front_controller/templates/controller.rb
74
+ rails_generators/hobo_front_controller/templates/functional_test.rb
75
+ rails_generators/hobo_front_controller/templates/helper.rb
76
+ rails_generators/hobo_front_controller/templates/index.dryml
77
+ rails_generators/hobo_front_controller/USAGE
78
+ rails_generators/hobo_model/hobo_model_generator.rb
79
+ rails_generators/hobo_model/templates/fixtures.yml
80
+ rails_generators/hobo_model/templates/model.rb
81
+ rails_generators/hobo_model/templates/unit_test.rb
82
+ rails_generators/hobo_model/USAGE
83
+ rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
84
+ rails_generators/hobo_model_controller/templates/controller.rb
85
+ rails_generators/hobo_model_controller/templates/functional_test.rb
86
+ rails_generators/hobo_model_controller/templates/helper.rb
87
+ rails_generators/hobo_model_controller/USAGE
88
+ rails_generators/hobo_model_resource/hobo_model_resource_generator.rb
89
+ rails_generators/hobo_model_resource/templates/controller.rb
90
+ rails_generators/hobo_model_resource/templates/functional_test.rb
91
+ rails_generators/hobo_model_resource/templates/helper.rb
92
+ rails_generators/hobo_rapid/hobo_rapid_generator.rb
93
+ rails_generators/hobo_rapid/templates/blank.gif
94
+ rails_generators/hobo_rapid/templates/hobo-rapid.css
95
+ rails_generators/hobo_rapid/templates/hobo-rapid.js
96
+ rails_generators/hobo_rapid/templates/IE7.js
97
+ rails_generators/hobo_rapid/templates/lowpro.js
98
+ rails_generators/hobo_rapid/templates/nicedit.js
99
+ rails_generators/hobo_rapid/templates/nicEditorIcons.gif
100
+ rails_generators/hobo_rapid/templates/reset.css
101
+ rails_generators/hobo_rapid/templates/themes/clean/public/images/fieldbg.gif
102
+ rails_generators/hobo_rapid/templates/themes/clean/public/images/pencil.png
103
+ rails_generators/hobo_rapid/templates/themes/clean/public/images/small_close.png
104
+ rails_generators/hobo_rapid/templates/themes/clean/public/images/spinner.gif
105
+ rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/clean.css
106
+ rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/rapid-ui.css
107
+ rails_generators/hobo_rapid/templates/themes/clean/views/clean.dryml
108
+ rails_generators/hobo_subsite/hobo_subsite_generator.rb
109
+ rails_generators/hobo_subsite/templates/application.dryml
110
+ rails_generators/hobo_subsite/templates/controller.rb
111
+ rails_generators/hobo_subsite/templates/site_taglib.dryml
112
+ rails_generators/hobo_user_controller/hobo_user_controller_generator.rb
113
+ rails_generators/hobo_user_controller/templates/controller.rb
114
+ rails_generators/hobo_user_controller/templates/functional_test.rb
115
+ rails_generators/hobo_user_controller/templates/helper.rb
116
+ rails_generators/hobo_user_controller/USAGE
117
+ rails_generators/hobo_user_model/hobo_user_model_generator.rb
118
+ rails_generators/hobo_user_model/templates/fixtures.yml
119
+ rails_generators/hobo_user_model/templates/forgot_password.erb
120
+ rails_generators/hobo_user_model/templates/mailer.rb
121
+ rails_generators/hobo_user_model/templates/model.rb
122
+ rails_generators/hobo_user_model/templates/unit_test.rb
123
+ rails_generators/hobo_user_model/USAGE
124
+ README
125
+ script/destroy
126
+ script/generate
127
+ taglibs/core.dryml
128
+ taglibs/rapid.dryml
129
+ taglibs/rapid_document_tags.dryml
130
+ taglibs/rapid_editing.dryml
131
+ taglibs/rapid_forms.dryml
132
+ taglibs/rapid_generics.dryml
133
+ taglibs/rapid_lifecycles.dryml
134
+ taglibs/rapid_navigation.dryml
135
+ taglibs/rapid_pages.dryml
136
+ taglibs/rapid_plus.dryml
137
+ taglibs/rapid_support.dryml
138
+ taglibs/rapid_user_pages.dryml
139
+ tasks/environments.rake
140
+ tasks/fix_dryml.rake
141
+ tasks/generate_tag_reference.rb
142
+ tasks/hobo_tasks.rake
143
+ test/test_generator_helper.rb
144
+ test/test_helper.rb
145
+ test/test_hobo_model_controller_generator.rb
146
+ uninstall.rb