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.
- data/CHANGES.txt +238 -287
- data/Rakefile +14 -31
- data/VERSION +1 -0
- data/{lib/hobo → app/controllers}/dev_controller.rb +6 -6
- data/app/controllers/dryml_support_controller.rb +13 -0
- data/{rails_generators/hobo_front_controller/templates → app/views/dev}/summary.dryml +7 -10
- data/bin/hobo +12 -144
- data/config/initializers/inflections.rb +3 -0
- data/config/routes.rb +6 -0
- data/{doctest → doctests}/hobo/lifecycles.rdoctest +40 -59
- data/{doctest → doctests/hobo}/model.rdoctest +33 -40
- data/{doctest → doctests/hobo}/multi_model_forms.rdoctest +15 -19
- data/{doctest → doctests/hobo}/scopes.rdoctest +27 -41
- data/doctests/prepare_testapp.rb +8 -0
- data/hobo.gemspec +26 -199
- data/lib/generators/hobo/activation_email.rb +11 -0
- data/lib/generators/hobo/admin_subsite/admin_subsite_generator.rb +35 -0
- data/lib/generators/hobo/admin_subsite/templates/admin.css +20 -0
- data/lib/generators/hobo/admin_subsite/templates/admin_tag_injection.erb +10 -0
- data/{rails_generators/hobo_admin_site → lib/generators/hobo/admin_subsite}/templates/application.dryml +0 -0
- data/{rails_generators/hobo_admin_site/templates/controller.rb → lib/generators/hobo/admin_subsite/templates/controller.rb.erb} +5 -5
- data/lib/generators/hobo/admin_subsite/templates/users_index.dryml +7 -0
- data/lib/generators/hobo/assets/assets_generator.rb +18 -0
- data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/application.css +0 -0
- data/lib/generators/hobo/assets/templates/application.dryml.erb +9 -0
- data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/dryml-support.js +2 -2
- data/lib/generators/hobo/assets/templates/dryml_taglibs_initializer.rb +1 -0
- data/lib/generators/hobo/assets/templates/en_injection.yml +19 -0
- data/{rails_generators/hobo → lib/generators/hobo/assets}/templates/guest.rb +1 -1
- data/lib/generators/hobo/controller.rb +35 -0
- data/lib/generators/hobo/controller/controller_generator.rb +6 -0
- data/lib/generators/hobo/controller/templates/controller.rb.erb +7 -0
- data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/USAGE +0 -0
- data/lib/generators/hobo/front_controller/front_controller_generator.rb +55 -0
- data/{rails_generators/hobo_front_controller/templates/controller.rb → lib/generators/hobo/front_controller/templates/controller.rb.erb} +0 -0
- data/{rails_generators/hobo_front_controller → lib/generators/hobo/front_controller}/templates/index.dryml +6 -12
- data/lib/generators/hobo/i18n/i18n_generator.rb +35 -0
- data/lib/generators/hobo/i18n/templates/app.de.yml +30 -0
- data/lib/generators/hobo/i18n/templates/app.en.yml +25 -0
- data/lib/generators/hobo/i18n/templates/app.es.yml +31 -0
- data/lib/generators/hobo/i18n/templates/app.fr.yml +26 -0
- data/lib/generators/hobo/i18n/templates/app.it.yml +28 -0
- data/lib/generators/hobo/i18n/templates/app.pt-PT.yml +25 -0
- data/lib/generators/hobo/i18n/templates/app.ru.yml +24 -0
- data/lib/generators/hobo/i18n/templates/hobo.de.yml +204 -0
- data/lib/generators/hobo/i18n/templates/hobo.en.yml +195 -0
- data/lib/generators/hobo/i18n/templates/hobo.es.yml +202 -0
- data/lib/generators/hobo/i18n/templates/hobo.fr.yml +195 -0
- data/lib/generators/hobo/i18n/templates/hobo.it.yml +202 -0
- data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +196 -0
- data/lib/generators/hobo/i18n/templates/hobo.ru.yml +200 -0
- data/lib/generators/hobo/invite_only.rb +18 -0
- data/lib/generators/hobo/model/USAGE +19 -0
- data/lib/generators/hobo/model/model_generator.rb +11 -0
- data/{rails_generators/hobo_model/templates/model.rb → lib/generators/hobo/model/templates/model_injection.rb.erb} +0 -2
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/USAGE +0 -0
- data/lib/generators/hobo/rapid/rapid_generator.rb +24 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/IE7.js +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/blank.gif +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.css +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/hobo-rapid.js +65 -65
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/ie7-recalc.js +21 -21
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/lowpro.js +31 -31
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/reset.css +1 -1
- data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-ACD3E6-DBE1E5-H.png +0 -0
- data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-DBE1E5-FCFEF5-H.png +0 -0
- data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/300-3B5F87-ACD3E6-H.png +0 -0
- data/{rails_generators/hobo_rapid/templates/themes/clean → lib/generators/hobo/rapid/templates/themes/clean-sidemenu}/public/images/spinner.gif +0 -0
- data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/stylesheets/clean-sidemenu.css +81 -0
- data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/views/clean-sidemenu.dryml +30 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/101-3B5F87-ACD3E6.png +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-3E547A-242E42.png +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/30-DBE1E5-FCFEF5.png +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/300-ACD3E6-fff.png +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/50-ACD3E6-fff.png +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/fieldbg.gif +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/pencil.png +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/images/small_close.png +0 -0
- data/lib/generators/hobo/rapid/templates/themes/clean/public/images/spinner.gif +0 -0
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/clean.css +16 -16
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
- data/{rails_generators/hobo_rapid → lib/generators/hobo/rapid}/templates/themes/clean/views/clean.dryml +1 -1
- data/lib/generators/hobo/resource/resource_generator.rb +23 -0
- data/lib/generators/hobo/routes/USAGE +9 -0
- data/lib/generators/hobo/routes/router.rb +115 -0
- data/lib/generators/hobo/routes/routes_generator.rb +40 -0
- data/lib/generators/hobo/routes/templates/hobo_routes.rb.erb +33 -0
- data/lib/generators/hobo/setup_wizard/USAGE +4 -0
- data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +274 -0
- data/lib/generators/hobo/subsite.rb +48 -0
- data/lib/generators/hobo/subsite/subsite_generator.rb +16 -0
- data/{rails_generators/hobo_subsite → lib/generators/hobo/subsite}/templates/application.dryml +0 -0
- data/{rails_generators/hobo_subsite/templates/controller.rb → lib/generators/hobo/subsite/templates/controller.rb.erb} +1 -1
- data/lib/generators/hobo/subsite_taglib/subsite_taglib_generator.rb +16 -0
- data/{rails_generators/hobo_admin_site/templates/site_taglib.dryml → lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb} +9 -10
- data/lib/generators/hobo/taglib.rb +12 -0
- data/lib/generators/hobo/test_framework/test_framework_generator.rb +72 -0
- data/lib/generators/hobo/test_options.rb +19 -0
- data/{rails_generators/hobo_user_controller → lib/generators/hobo/user_controller}/templates/accept_invitation.dryml +0 -0
- data/lib/generators/hobo/user_controller/templates/controller.rb.erb +31 -0
- data/lib/generators/hobo/user_controller/user_controller_generator.rb +25 -0
- data/lib/generators/hobo/user_mailer/templates/activation.erb +9 -0
- data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/forgot_password.erb +2 -2
- data/{rails_generators/hobo_user_model → lib/generators/hobo/user_mailer}/templates/invite.erb +2 -2
- data/lib/generators/hobo/user_mailer/templates/mailer.rb.erb +25 -0
- data/lib/generators/hobo/user_mailer/user_mailer_generator.rb +33 -0
- data/lib/generators/hobo/user_model/USAGE +12 -0
- data/{rails_generators/hobo_user_model/templates/model.rb → lib/generators/hobo/user_model/templates/model_injection.rb.erb} +40 -20
- data/lib/generators/hobo/user_model/user_model_generator.rb +23 -0
- data/lib/generators/hobo/user_resource/user_resource_generator.rb +27 -0
- data/lib/hobo.rb +29 -129
- data/lib/hobo/controller.rb +37 -47
- data/lib/hobo/controller/authentication_support.rb +109 -0
- data/lib/hobo/{model_controller.rb → controller/model.rb} +71 -79
- data/lib/hobo/{user_controller.rb → controller/user.rb} +59 -49
- data/lib/hobo/engine.rb +80 -0
- data/lib/hobo/extensions/action_controller/hobo_methods.rb +44 -0
- data/lib/hobo/extensions/action_mailer/helper.rb +38 -0
- data/lib/{action_view_extensions/helpers → hobo/extensions/action_view}/tag_helper.rb +5 -2
- data/lib/hobo/extensions/action_view/translation_helper.rb +25 -0
- data/lib/hobo/extensions/active_model/name.rb +16 -0
- data/lib/hobo/extensions/active_model/translation.rb +35 -0
- data/lib/{active_record/association_collection.rb → hobo/extensions/active_record/associations/collection.rb} +8 -17
- data/lib/{active_record/association_proxy.rb → hobo/extensions/active_record/associations/proxy.rb} +6 -7
- data/lib/hobo/extensions/active_record/associations/reflection.rb +23 -0
- data/lib/hobo/extensions/active_record/associations/scope.rb +35 -0
- data/lib/hobo/extensions/active_record/hobo_methods.rb +11 -0
- data/lib/hobo/extensions/active_record/permissions.rb +159 -0
- data/lib/hobo/extensions/active_record/relation_with_origin.rb +28 -0
- data/lib/hobo/extensions/array.rb +27 -0
- data/lib/hobo/extensions/enumerable.rb +12 -0
- data/lib/hobo/extensions/i18n.rb +17 -0
- data/lib/hobo/{hobo_helper.rb → helper.rb} +58 -31
- data/lib/hobo/helper/translations.rb +54 -0
- data/lib/hobo/helper/translations/normalizer.rb +39 -0
- data/lib/hobo/model.rb +61 -95
- data/lib/hobo/model/accessible_associations.rb +178 -0
- data/lib/hobo/{find_for.rb → model/find_for.rb} +17 -17
- data/lib/hobo/model/guest.rb +25 -0
- data/lib/hobo/model/include_in_save.rb +55 -0
- data/lib/hobo/model/lifecycles.rb +119 -0
- data/lib/hobo/model/lifecycles/actions.rb +146 -0
- data/lib/hobo/model/lifecycles/creator.rb +74 -0
- data/lib/hobo/model/lifecycles/lifecycle.rb +243 -0
- data/lib/hobo/model/lifecycles/state.rb +22 -0
- data/lib/hobo/model/lifecycles/transition.rb +70 -0
- data/lib/hobo/model/permissions.rb +448 -0
- data/lib/hobo/model/scopes.rb +38 -0
- data/lib/hobo/model/scopes/apply_scopes.rb +21 -0
- data/lib/hobo/model/scopes/automatic_scopes.rb +428 -0
- data/lib/hobo/model/user_base.rb +184 -0
- data/lib/hobo/model/view_hints.rb +123 -0
- data/{rapid_generators → lib/hobo/rapid/generators}/rapid/cards.dryml.erb +2 -2
- data/{rapid_generators → lib/hobo/rapid/generators}/rapid/forms.dryml.erb +3 -3
- data/{rapid_generators → lib/hobo/rapid/generators}/rapid/pages.dryml.erb +38 -51
- data/lib/hobo/rapid/helper.rb +166 -0
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid.dryml +6 -5
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_core.dryml +286 -118
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_document_tags.dryml +2 -2
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_editing.dryml +45 -45
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_forms.dryml +190 -158
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_generics.dryml +12 -9
- data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +107 -0
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_lifecycles.dryml +7 -7
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_navigation.dryml +15 -15
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_pages.dryml +37 -36
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_plus.dryml +107 -43
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_summary.dryml +28 -57
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_support.dryml +9 -9
- data/{taglibs → lib/hobo/rapid/taglibs}/rapid_user_pages.dryml +41 -40
- data/lib/hobo/routes.rb +31 -0
- data/{doctest → test/doctest}/hobo/hobo_helper.rdoctest +11 -11
- data/test/irt/generators/admin_subsite.irt +27 -0
- data/test/irt/generators/assets.irt +16 -0
- data/test/irt/generators/controller.irt +6 -0
- data/test/irt/generators/front_controller.irt +30 -0
- data/test/irt/generators/helper.rb +31 -0
- data/test/irt/generators/model.irt +28 -0
- data/test/irt/generators/partials/_account_user_model_tests.rb +21 -0
- data/test/irt/generators/partials/_accounts_users_controller_tests.rb +15 -0
- data/test/irt/generators/partials/_default_user_model_tests.rb +21 -0
- data/test/irt/generators/partials/_default_users_controller_tests.rb +16 -0
- data/test/irt/generators/partials/_house_controller_tests.rb +15 -0
- data/test/irt/generators/partials/_house_model_tests.rb +18 -0
- data/test/irt/generators/partials/_subsite_taglib_admin.rb +4 -0
- data/test/irt/generators/partials/_subsite_taglib_admin_invite_only.rb +3 -0
- data/test/irt/generators/partials/_subsite_taglib_noopt.rb +4 -0
- data/test/irt/generators/partials/_subsite_taglib_variables.rb +27 -0
- data/test/irt/generators/partials/_user_mailer_tests.rb +19 -0
- data/test/irt/generators/rapid.irt +29 -0
- data/test/irt/generators/resource.irt +8 -0
- data/test/irt/generators/subsite.irt +52 -0
- data/test/irt/generators/subsite_taglib.irt +23 -0
- data/test/irt/generators/test_framework.irt +62 -0
- data/test/irt/generators/user_controller.irt +10 -0
- data/test/irt/generators/user_mailer.irt +20 -0
- data/test/irt/generators/user_model.irt +10 -0
- data/test/irt/generators/user_resource.irt +14 -0
- data/test/irt/readme.txt +7 -0
- data/test/permissions/models/models.rb +27 -24
- data/test/permissions/test_permissions.rb +104 -104
- metadata +239 -217
- data/lib/active_record/association_reflection.rb +0 -20
- data/lib/active_record/viewhints_validations_interceptor.rb +0 -9
- data/lib/hobo/accessible_associations.rb +0 -183
- data/lib/hobo/authentication_support.rb +0 -131
- data/lib/hobo/generator.rb +0 -26
- data/lib/hobo/guest.rb +0 -25
- data/lib/hobo/include_in_save.rb +0 -55
- data/lib/hobo/lifecycles.rb +0 -137
- data/lib/hobo/lifecycles/actions.rb +0 -142
- data/lib/hobo/lifecycles/creator.rb +0 -72
- data/lib/hobo/lifecycles/lifecycle.rb +0 -249
- data/lib/hobo/lifecycles/state.rb +0 -22
- data/lib/hobo/lifecycles/transition.rb +0 -70
- data/lib/hobo/model_router.rb +0 -290
- data/lib/hobo/permissions.rb +0 -451
- data/lib/hobo/permissions/associations.rb +0 -175
- data/lib/hobo/rapid_helper.rb +0 -157
- data/lib/hobo/scopes.rb +0 -43
- data/lib/hobo/scopes/apply_scopes.rb +0 -23
- data/lib/hobo/scopes/association_proxy_extensions.rb +0 -62
- data/lib/hobo/scopes/automatic_scopes.rb +0 -421
- data/lib/hobo/scopes/named_scope_extensions.rb +0 -39
- data/lib/hobo/tasks/rails.rb +0 -4
- data/lib/hobo/translations.rb +0 -93
- data/lib/hobo/undefined_access_error.rb +0 -5
- data/lib/hobo/user.rb +0 -182
- data/lib/hobo/view_hints.rb +0 -115
- data/rails/init.rb +0 -10
- data/rails_generators/hobo/USAGE +0 -4
- data/rails_generators/hobo/hobo_generator.rb +0 -53
- data/rails_generators/hobo/templates/application.dryml +0 -1
- data/rails_generators/hobo/templates/initializer.rb +0 -2
- data/rails_generators/hobo_admin_site/USAGE +0 -16
- data/rails_generators/hobo_admin_site/hobo_admin_site_generator.rb +0 -45
- data/rails_generators/hobo_admin_site/templates/admin.css +0 -2
- data/rails_generators/hobo_admin_site/templates/users_index.dryml +0 -5
- data/rails_generators/hobo_front_controller/hobo_front_controller_generator.rb +0 -95
- data/rails_generators/hobo_front_controller/templates/functional_test.rb +0 -8
- data/rails_generators/hobo_front_controller/templates/helper.rb +0 -2
- data/rails_generators/hobo_model/USAGE +0 -25
- data/rails_generators/hobo_model/hobo_model_generator.rb +0 -43
- data/rails_generators/hobo_model/templates/fixtures.yml +0 -6
- data/rails_generators/hobo_model/templates/hints.rb +0 -7
- data/rails_generators/hobo_model/templates/unit_test.rb +0 -8
- data/rails_generators/hobo_model_controller/USAGE +0 -30
- data/rails_generators/hobo_model_controller/hobo_model_controller_generator.rb +0 -46
- data/rails_generators/hobo_model_controller/templates/controller.rb +0 -7
- data/rails_generators/hobo_model_controller/templates/functional_test.rb +0 -8
- data/rails_generators/hobo_model_controller/templates/helper.rb +0 -2
- data/rails_generators/hobo_model_resource/USAGE +0 -38
- data/rails_generators/hobo_model_resource/hobo_model_resource_generator.rb +0 -73
- data/rails_generators/hobo_model_resource/templates/controller.rb +0 -7
- data/rails_generators/hobo_model_resource/templates/functional_test.rb +0 -8
- data/rails_generators/hobo_model_resource/templates/helper.rb +0 -2
- data/rails_generators/hobo_rapid/hobo_rapid_generator.rb +0 -94
- data/rails_generators/hobo_subsite/USAGE +0 -16
- data/rails_generators/hobo_subsite/hobo_subsite_generator.rb +0 -73
- data/rails_generators/hobo_subsite/templates/site_taglib.dryml +0 -13
- data/rails_generators/hobo_user_controller/USAGE +0 -34
- data/rails_generators/hobo_user_controller/hobo_user_controller_generator.rb +0 -65
- data/rails_generators/hobo_user_controller/templates/controller.rb +0 -29
- data/rails_generators/hobo_user_controller/templates/functional_test.rb +0 -8
- data/rails_generators/hobo_user_controller/templates/helper.rb +0 -2
- data/rails_generators/hobo_user_model/USAGE +0 -16
- data/rails_generators/hobo_user_model/hobo_user_model_generator.rb +0 -46
- data/rails_generators/hobo_user_model/templates/fixtures.yml +0 -19
- data/rails_generators/hobo_user_model/templates/mailer.rb +0 -29
- data/rails_generators/hobo_user_model/templates/unit_test.rb +0 -8
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/taglibs/rapid_translations.dryml +0 -36
- data/tasks/environments.rake +0 -19
- data/tasks/hobo_tasks.rake +0 -58
- data/test/generators/test_generator_helper.rb +0 -29
- data/test/generators/test_helper.rb +0 -1
- data/test/generators/test_hobo_model_controller_generator.rb +0 -56
data/CHANGES.txt
CHANGED
@@ -14,44 +14,12 @@ likely to cause conflicts, so it is highly recommended that you have
|
|
14
14
|
your code backed up and in a change control system such as git or
|
15
15
|
subversion.
|
16
16
|
|
17
|
-
=== Hobo 1.1 ===
|
18
|
-
|
19
|
-
The biggest change to Hobo 1.1 is that DRYML has been split into it's
|
20
|
-
own gem and may now be used independently of Hobo or Rails:
|
21
|
-
|
22
|
-
Dryml.render("<html><%= this %>></html>", {:this => something})
|
23
|
-
|
24
|
-
Automatic scopes has gained any\_of\_:
|
25
|
-
|
26
|
-
Person.any_of_friends(Jack, Jill)
|
27
|
-
|
28
|
-
The default password validation has been changed to 6 characters, one
|
29
|
-
of which must not be lowercase. Luckily, we also made the password
|
30
|
-
validation easier to change. See
|
31
|
-
[Bug #638](https://hobo.lighthouseapp.com/projects/8324/tickets/638) for
|
32
|
-
more information.
|
33
|
-
|
34
|
-
The `input-many`, `name-one` and `sortable-collection` tags have been
|
35
|
-
updated. See the documentation for more details.
|
36
|
-
|
37
|
-
New tags have been added: `sortable-input-many`, `login-form`.
|
38
|
-
|
39
|
-
Some css class names have been changed. Hobo 1.0 creates class names
|
40
|
-
with the '[]' characters, which is technically illegal, although
|
41
|
-
supported by all browsers. However, this does cause problems with
|
42
|
-
some third party libraries, such as JQuery.
|
43
|
-
|
44
|
-
All code changes may viewed on the [github
|
45
|
-
log](https://github.com/tablatom/hobo/compare/v1.0.2...v1.0.3)
|
46
|
-
|
47
|
-
|
48
17
|
=== Hobo 1.0.3 ===
|
49
18
|
|
50
|
-
This is a security release.
|
51
|
-
password functionality
|
52
|
-
2.3.4 should upgrade.
|
19
|
+
This is a security release. All applications that use the reset
|
20
|
+
password functionality should upgrade.
|
53
21
|
|
54
|
-
To patch the
|
22
|
+
To patch the vulnerability, two changes have been made.
|
55
23
|
|
56
24
|
First of all, the lifecycle key hash mechanism has been changed.
|
57
25
|
Existing lifecycle keys will become invalid after you upgrade.
|
@@ -60,28 +28,11 @@ problem for most applications.
|
|
60
28
|
|
61
29
|
Secondly, lifecycle keys are now cleared on every transition to avoid
|
62
30
|
replay vulnerabilities. This new behaviour may be avoided by added
|
63
|
-
the `:
|
31
|
+
the `:dont_clear_key => true` option to a transition.
|
64
32
|
|
65
33
|
More information about the vulnerability can be viewed on the [bug
|
66
34
|
report](https://hobo.lighthouseapp.com/projects/8324/tickets/666-user-model-secure-links-have-low-security).
|
67
35
|
|
68
|
-
Other changes:
|
69
|
-
|
70
|
-
The text input tag (`<textarea>`) has a security hole with versions of
|
71
|
-
Rails prior to 2.3.4. This release makes these old versions of Rails
|
72
|
-
safe again, although it is highly recommended that you upgrade to
|
73
|
-
Rails 2.3.11 because of other security vulnerabilities on earlier versions
|
74
|
-
of Rails.
|
75
|
-
|
76
|
-
The "include" automatic scope has been aliased to "includes" to
|
77
|
-
increase future compatibility with Rails 3. Future versions of Hobo
|
78
|
-
will remove support for "include".
|
79
|
-
|
80
|
-
This release increases compatibility with Ruby v1.9.2.
|
81
|
-
|
82
|
-
Hobo 1.0.2 introduced a major problem with chained scopes. This has
|
83
|
-
been fixed.
|
84
|
-
|
85
36
|
All code changes may viewed on the [github
|
86
37
|
log](https://github.com/tablatom/hobo/compare/v1.0.2...v1.0.3)
|
87
38
|
|
@@ -113,7 +64,7 @@ log](http://github.com/tablatom/hobo/tree/v1.0.1) for more details.
|
|
113
64
|
|
114
65
|
=== Hobo 1.0.0 ===
|
115
66
|
|
116
|
-
Drumm-roll! Trumpets! Fanfare!
|
67
|
+
Drumm-roll! Trumpets! Fanfare!
|
117
68
|
|
118
69
|
We did it : )
|
119
70
|
|
@@ -146,7 +97,7 @@ callbacks.
|
|
146
97
|
|
147
98
|
`x._?.to_s` now returns nil rather than a blank string
|
148
99
|
|
149
|
-
[#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592):
|
100
|
+
[#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592):
|
150
101
|
|
151
102
|
If you previously had a snippet such as this:
|
152
103
|
|
@@ -365,7 +316,7 @@ Major enhancements:
|
|
365
316
|
|
366
317
|
- [Bug 464](https://hobo.lighthouseapp.com/projects/8324/tickets/464-transition-buttons-should-have-a-option-to-link-to-forms-instead-for-transitions-that-take-parameters)
|
367
318
|
The transition-buttons tag now generates buttons that link to the
|
368
|
-
transition page for transitions that require parameters.
|
319
|
+
transition page for transitions that require parameters.
|
369
320
|
|
370
321
|
- [Bug 532](https://hobo.lighthouseapp.com/projects/8324/tickets/532)
|
371
322
|
In previous versions, you had to add the new HTML5 tags to
|
@@ -375,7 +326,7 @@ Major enhancements:
|
|
375
326
|
|
376
327
|
Major bug fixes:
|
377
328
|
|
378
|
-
- [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530)
|
329
|
+
- [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530)
|
379
330
|
is a critical bug for invite-only projects. To incorporate the
|
380
331
|
fix, you must rerun your generators or follow the instructions in
|
381
332
|
the [commit](http://github.com/tablatom/hobo/commit/17247eac8a78f8b36dcc3b9684a3e4ec8da32a23)
|
@@ -438,7 +389,7 @@ Minor Enhancements:
|
|
438
389
|
- non-required fields that are marked :unique will now allow nil
|
439
390
|
values.
|
440
391
|
|
441
|
-
Minor Bug Fixes
|
392
|
+
Minor Bug Fixes
|
442
393
|
|
443
394
|
- [Bug 540](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/540)
|
444
395
|
Hobo::Permissions::Associations::HasManyThroughAssociations#create!
|
@@ -533,15 +484,15 @@ Minor enhancements:
|
|
533
484
|
validations
|
534
485
|
|
535
486
|
- [Bug 415](https://hobo.lighthouseapp.com/projects/8324/tickets/415): Visiting sign-up page when logged in gives permission
|
536
|
-
denied
|
487
|
+
denied
|
537
488
|
|
538
|
-
- Rapid navigation - added name attribute to `<nav-item>` to make it easier to select the current nav item in some cases (e.g. dynamic nav item text)
|
489
|
+
- Rapid navigation - added name attribute to `<nav-item>` to make it easier to select the current nav item in some cases (e.g. dynamic nav item text)
|
539
490
|
|
540
491
|
- Rapid forms -- added url attribute to `<remote-method-button>`
|
541
492
|
|
542
|
-
- HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs
|
493
|
+
- HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs
|
494
|
+
|
543
495
|
|
544
|
-
|
545
496
|
=== Hobo 0.8.7 ===
|
546
497
|
|
547
498
|
I forgot to refresh the Manifest, so this is a brown paper bag release.
|
@@ -592,9 +543,9 @@ shows the remaining tickets scheduled for 1.0
|
|
592
543
|
New permission system
|
593
544
|
|
594
545
|
Various fixes
|
595
|
-
|
546
|
+
|
596
547
|
Now runs permission checks *before* callbacks, not after
|
597
|
-
|
548
|
+
|
598
549
|
In the switch to the new permissions system, we changed to running them after all callbacks. This turned
|
599
550
|
out to be wrong. Permissions should only be about what the user tried to change, not other changes
|
600
551
|
triggered by application logic
|
@@ -607,7 +558,7 @@ Updated hobo command and hobo generator to use the new config.gem style for apps
|
|
607
558
|
does this automatically
|
608
559
|
|
609
560
|
Lifecycles fix -- state_name would throw a nil error if there was no state (not returns nil)
|
610
|
-
|
561
|
+
|
611
562
|
This was causing the :new_key option to fail on a create step
|
612
563
|
|
613
564
|
Fixes to problems with live-search introduced with the Rails 2.2 upgrade
|
@@ -626,38 +577,38 @@ BREAKING: New permission system
|
|
626
577
|
This is the major feature of this release. The big change is that we now use the dirty tracking features
|
627
578
|
of Active Record for update permission, rather than passing that weird 'new' object. We also use the
|
628
579
|
acting_user method throughout, rather than passing the user as an argument.
|
629
|
-
|
580
|
+
|
630
581
|
See the docs online: http://cookbook.hobocentral.net/manual/permissions
|
631
582
|
|
632
583
|
|
633
584
|
Removing special Hobo semantics for association.new which was breaking the Rails API, and added
|
634
585
|
#new_candidate
|
635
|
-
|
586
|
+
|
636
587
|
association.new_candidate instantiates the record but does not add it to the collection.
|
637
|
-
|
588
|
+
|
638
589
|
Fix to linkable? helpers when context responds to origin but is not a collection
|
639
|
-
|
590
|
+
|
640
591
|
POSSIBLY BREAKING: Improved multi-model form support
|
641
592
|
|
642
593
|
has_many and belongs_to now support the :accessible => true option, which allows mass-asssignment of
|
643
594
|
attributes to work with sub-hashes that correspond to associations. Docs to follow!
|
644
|
-
|
595
|
+
|
645
596
|
BREAKING: Lifecycle improvements
|
646
597
|
|
647
598
|
The lifecycle DSL has been tidied up. Various changes to the semantics.
|
648
|
-
|
599
|
+
|
649
600
|
Lifecycle validations are now supported (e.g. validates_presence_of :foo, :on => :my_transition)
|
650
|
-
|
601
|
+
|
651
602
|
Also small improvements to the controller layer lifecycles support
|
652
|
-
|
603
|
+
|
653
604
|
See: http://cookbook.hobocentral.net/manual/lifecycles
|
654
|
-
|
605
|
+
|
655
606
|
New ViewHints mechanism
|
656
607
|
|
657
608
|
Classes in app/viewhints are a place to declare things about your models that are view layer concerns.
|
658
609
|
For example, you can give the presenation name for a field if this should be different from the back-end
|
659
610
|
name. You can give "field help" for each field. You can specify which collections are the "children" of a
|
660
|
-
model from a UI point of view.
|
611
|
+
model from a UI point of view.
|
661
612
|
|
662
613
|
Rapid <select-many> -- removed use of <a-or-an> as it gets some words wrong (e.g. "an user")
|
663
614
|
|
@@ -690,7 +641,7 @@ Rapid <input-many> -- added support for disable attribute
|
|
690
641
|
Fix to <hobo-rapid-javascripts> when forgery protection is disabled
|
691
642
|
|
692
643
|
User model - validates_presence_of password confirmation, in addition to validates_confirmation_of
|
693
|
-
|
644
|
+
|
694
645
|
Fixes #310 - thanks to Jaub Suder
|
695
646
|
|
696
647
|
BREAKING: Rapid page generators -- Renamed 'primary-content' parameter in <show-page> to 'description'
|
@@ -700,7 +651,7 @@ User controller -- made account action follow the auto_actions declaration
|
|
700
651
|
Changed hobo->hobofields->hobosupport gem dependency rules to require the exact version
|
701
652
|
|
702
653
|
User model generator -- Hobo apps now have people log in with their email address by default, and the user
|
703
|
-
has a 'name' field rather than 'username'.
|
654
|
+
has a 'name' field rather than 'username'.
|
704
655
|
|
705
656
|
Note this will not effect existing apps
|
706
657
|
|
@@ -752,7 +703,7 @@ Rapid JavaScripts -- adding custom events to <select-many>
|
|
752
703
|
Rapid JavaScript -- added option to specify { message: false } on ajaxRequest to disable the spinner
|
753
704
|
|
754
705
|
Model Controller -- fix to re_render_form when in a subsite
|
755
|
-
|
706
|
+
|
756
707
|
hobo_model_controller generator -- adding support for generating subsite controllers
|
757
708
|
|
758
709
|
HoboSupport -- adding remove and remove_all (plus mutating versions with a !) to string - better name for
|
@@ -766,9 +717,9 @@ Model controller -- fix to index actions on non-paginated formats (was passing w
|
|
766
717
|
regular find)
|
767
718
|
|
768
719
|
Migration generator -- adding option: --force-drop-yes-i-really-mean-it-i-know-what-i-am-doing-dammit
|
769
|
-
|
720
|
+
|
770
721
|
Not really, it's actually just --force-drop
|
771
|
-
|
722
|
+
|
772
723
|
With this option it won't ask you "drop or rename?" it will just drop
|
773
724
|
|
774
725
|
HoboFields -- fix to EnumString when values are not valid contant names
|
@@ -781,7 +732,7 @@ attributes)
|
|
781
732
|
Rapid -- adding support for 'disabled' attribute to <select-one>
|
782
733
|
|
783
734
|
Rapid -- added a 'no-edit' attribute to <input> and <field-list>. Gives control over how
|
784
|
-
non-editable fields are handled.
|
735
|
+
non-editable fields are handled.
|
785
736
|
|
786
737
|
- view: render the current value using the `<view>` tag
|
787
738
|
- disable: render the input as normal, but add HTML's `disabled` attribute
|
@@ -810,7 +761,7 @@ Rapid -- tweak to behaviour of <name>. Is now more sensible when called on a non
|
|
810
761
|
|
811
762
|
Re-organisation and documentation for Rapid Document Tags
|
812
763
|
|
813
|
-
BREAKING: Deleted <panel> tag.
|
764
|
+
BREAKING: Deleted <panel> tag.
|
814
765
|
|
815
766
|
Models - fix to overriding of not_found and permission_denied in applicatin controller. Also fix to bug in
|
816
767
|
permission denied
|
@@ -822,15 +773,15 @@ DRYML -- allow - instead of _ in repeat/if/unless, when not code attribute
|
|
822
773
|
HoboSupport - re-org of the file layout
|
823
774
|
|
824
775
|
HoboFields -- new rich type :serialized (HoboFields::SerializedObject)
|
825
|
-
|
776
|
+
|
826
777
|
example usage: foo :serialized, :class => Array
|
827
|
-
|
778
|
+
|
828
779
|
Also some fixes to wrapping of rich types that were needed
|
829
780
|
|
830
781
|
HoboFields -- adding 'declared' callback to rich types. Called whenever a field of that type is declared
|
831
782
|
|
832
783
|
See HoboFields::HtmlString for an example
|
833
|
-
|
784
|
+
|
834
785
|
HoboFields -- new types RawHtmlString and RawMarkdownString that are not sanitized. Plus fix to sanitizing
|
835
786
|
|
836
787
|
DRYML -- new DrymlDoc facility. Starting point for a roll-your-own documentation generator
|
@@ -875,9 +826,9 @@ Rapid - adding polymorphic <collection-input> tag as a place to define the kind
|
|
875
826
|
collections of a given model
|
876
827
|
|
877
828
|
Rapid javascripts -- making non-ajax HTML Editor pluggable
|
878
|
-
|
829
|
+
|
879
830
|
Plugins assign a function to Hobo.makeHtmlEditor. See hoboyui plugin for an example (github.com/tablatom)
|
880
|
-
|
831
|
+
|
881
832
|
Adding XSS protection to HoboFields rich types (Sanitizing)
|
882
833
|
|
883
834
|
Rapid -- new tag <check-many>. Add remove items to a has_many :through by checking the ones you want. Obviously
|
@@ -903,7 +854,7 @@ this)
|
|
903
854
|
User pages:
|
904
855
|
|
905
856
|
Added editing of email address to user's account page
|
906
|
-
|
857
|
+
|
907
858
|
Got rid of <change-password-form>
|
908
859
|
|
909
860
|
Rapid plus -- added <preview-with-more> and <gravatar> tags
|
@@ -1007,7 +958,7 @@ Rapid - fix to <remote-method-button> -- the confirm attribute was incorrectly c
|
|
1007
958
|
|
1008
959
|
Rapid -- <select-menu> now supports an array of label/value pairs, like the options_for_select helper
|
1009
960
|
|
1010
|
-
Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with
|
961
|
+
Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with
|
1011
962
|
<after-submit stay-here/> (occured after a validation error)
|
1012
963
|
|
1013
964
|
New tag <input-all> for situations where you want input for every item in an existing collection (without the +/- buttons that
|
@@ -1108,7 +1059,7 @@ Hobo users now have an #account_active? method. Used in two places:
|
|
1108
1059
|
|
1109
1060
|
- This method rather than the return value of the block passed to hobo_login, is now used to figure out if an
|
1110
1061
|
account is active when logging in.
|
1111
|
-
|
1062
|
+
|
1112
1063
|
- After signing up, also log the user in iff account_active? is true. This is useful if there is a second step to
|
1113
1064
|
signing up, such as email activation
|
1114
1065
|
|
@@ -1133,13 +1084,13 @@ Fix to bug where validations were not happening during lifecycle creates/transit
|
|
1133
1084
|
Migration generator -- fixed bug with validation of filename input by user
|
1134
1085
|
|
1135
1086
|
New lifecycle semantics.
|
1136
|
-
|
1087
|
+
|
1137
1088
|
Lifecycle create and transition actions (blocks) now run *after* the create or transition, and not at all
|
1138
1089
|
if there are validation errors.
|
1139
|
-
|
1090
|
+
|
1140
1091
|
To create a key, you can no longer call lifecycle.generate_key in the action, as the key timestamp will not
|
1141
1092
|
be saved (record has already been saved)
|
1142
|
-
|
1093
|
+
|
1143
1094
|
Instead pass :new_key => true as an option to the create or transition, and access it in the block using
|
1144
1095
|
lifecycle.key
|
1145
1096
|
|
@@ -1156,7 +1107,7 @@ Fix to bug where validations were not happening during lifecycle creates/transit
|
|
1156
1107
|
|
1157
1108
|
New user model method account_active? Default implementation is state == 'active' but this method is intended
|
1158
1109
|
as a hook that can be overridden as required.
|
1159
|
-
|
1110
|
+
|
1160
1111
|
On signup, the user is only logged in if user has #account_active?
|
1161
1112
|
|
1162
1113
|
Rapid generators -- fixes for form cancel links
|
@@ -1173,9 +1124,9 @@ Fix to bug where validations were not happening during lifecycle creates/transit
|
|
1173
1124
|
|
1174
1125
|
Rapid generators -- fix for show-page generator, when the 'owner' association that goes with the page's
|
1175
1126
|
collection cannot be found
|
1176
|
-
|
1177
|
-
|
1178
|
-
|
1127
|
+
|
1128
|
+
|
1129
|
+
|
1179
1130
|
=== Hobo 0.8 ===
|
1180
1131
|
|
1181
1132
|
(There's a million changes in this release -- most of the fixes are *not* mentioned)
|
@@ -1187,12 +1138,12 @@ Hobo can now be used entirely from the gem, and need not be installed in vendor/
|
|
1187
1138
|
hobo command
|
1188
1139
|
|
1189
1140
|
Now shows you what it's doing
|
1190
|
-
|
1141
|
+
|
1191
1142
|
Renamed --create-dbs to --db-create to match the name of the rake task
|
1192
|
-
|
1143
|
+
|
1193
1144
|
|
1194
1145
|
DRYML
|
1195
|
-
|
1146
|
+
|
1196
1147
|
DRYML generators
|
1197
1148
|
|
1198
1149
|
Hobo now provides a facility to generate DRYML tags on the fly using normal erb based templates. (the generators run
|
@@ -1204,18 +1155,18 @@ DRYML
|
|
1204
1155
|
|
1205
1156
|
<def tag="page" extend-with="app">
|
1206
1157
|
<page-without-app>
|
1207
|
-
|
1158
|
+
|
1208
1159
|
we now have
|
1209
|
-
|
1160
|
+
|
1210
1161
|
<extend tag="page">
|
1211
1162
|
<old-page>
|
1212
|
-
|
1163
|
+
|
1213
1164
|
Also works with polymorphic tags, e.g. <extend tag="card" for="Product">
|
1214
|
-
|
1165
|
+
|
1215
1166
|
Polymorphic tags: new mechanism for defining polymorphic tags.
|
1216
|
-
|
1167
|
+
|
1217
1168
|
<def tag="foo" polymorphic> ... "base" definition here ... </def>
|
1218
|
-
|
1169
|
+
|
1219
1170
|
<def tag="foo" for="Product">
|
1220
1171
|
... in here you can call <foo> and it's not a recursive call
|
1221
1172
|
but a call to the base definition ...
|
@@ -1223,30 +1174,30 @@ DRYML
|
|
1223
1174
|
|
1224
1175
|
"without" attributes: <page without-live-search> is a shorthand for <page><live-search: replace/>. Doesn't sound like
|
1225
1176
|
much but it's great. You'll like it.
|
1226
|
-
|
1177
|
+
|
1227
1178
|
<set> now respects the 'if' attribute
|
1228
1179
|
|
1229
1180
|
Using 'with' and 'field' on a parameter works more sensibly now -- DRYML will never merge with attributes and field
|
1230
1181
|
attributes
|
1231
|
-
|
1182
|
+
|
1232
1183
|
New semantics for scoped variables.
|
1233
1184
|
|
1234
1185
|
Scoped variables must be declared at the start of the scope. Assignments and reads always go back to the scope where
|
1235
1186
|
that variable was declared.
|
1236
|
-
|
1187
|
+
|
1237
1188
|
Fix to <foo:> </foo:> (i.e. one or more whitespace chars) being ignored
|
1238
1189
|
|
1239
1190
|
Removed feature from add_classes helper that was converting all _ to -. Closes #11
|
1240
|
-
|
1191
|
+
|
1241
1192
|
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
|
1242
1193
|
name, or is 'default'
|
1243
|
-
|
1194
|
+
|
1244
1195
|
Fixes to errors when reporting syntax error : )
|
1245
|
-
|
1196
|
+
|
1246
1197
|
Now raises an error rather than outputting nonsensical name attributes on form inputs
|
1247
|
-
|
1198
|
+
|
1248
1199
|
Removed incorrect leading '/' on template paths (e.g. in logs, stack traces)
|
1249
|
-
|
1200
|
+
|
1250
1201
|
Fix -- was accepting close tags that are a prefix of the start tags, e.g. <foo>...</fo>
|
1251
1202
|
|
1252
1203
|
|
@@ -1261,108 +1212,108 @@ Rapid tag Library
|
|
1261
1212
|
The standard <page> tag now has just a <content:> parameter. Specific pages might add <content-header:> or
|
1262
1213
|
<content-body:> themselves.
|
1263
1214
|
|
1264
|
-
As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
|
1215
|
+
As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
|
1265
1216
|
|
1266
1217
|
<section with-flash-messages> will include the flash messages at the top of the section *unless* they are rendered by a
|
1267
1218
|
sub-section or have been rendered already
|
1268
1219
|
|
1269
1220
|
Update forms with not render if the user doesn't have permission
|
1270
|
-
|
1221
|
+
|
1271
1222
|
Removed <nav> tag
|
1272
|
-
|
1223
|
+
|
1273
1224
|
Changed <a-or-an> to give you 'a hotel' not 'an hotel'
|
1274
1225
|
|
1275
1226
|
<card> now always renders a link if there is a show action. Closes #54
|
1276
|
-
|
1227
|
+
|
1277
1228
|
<collection> is no longer a polymorphic tag. Drag and drop support moved into separate tag: <sortable-collection>.
|
1278
|
-
|
1229
|
+
|
1279
1230
|
Got rid of <collection-preview>
|
1280
1231
|
|
1281
1232
|
<stylesheet> tag now calls Rails helper stylesheet_link_tag name to construct the link tag. This change was made so that the
|
1282
1233
|
css files are automatically cached using the timestamp mechanism, e.g. application.css?1218209632. The media attribute is now
|
1283
1234
|
'screen' instead of 'all' by default
|
1284
|
-
|
1235
|
+
|
1285
1236
|
Wrapped the output of <count> in a <span class='count'>
|
1286
1237
|
|
1287
1238
|
Renamed <name-for-collection> to <collection-name> and added a dasherize parameter
|
1288
|
-
|
1239
|
+
|
1289
1240
|
<ul> is gone from Rapid and is just a static tag again. Just do <ul><li repeat>
|
1290
|
-
|
1241
|
+
|
1291
1242
|
New version of IE7.js (http://ie7-js.googlecode.com/svn/trunk/lib/IE7.js rev 29)
|
1292
|
-
|
1243
|
+
|
1293
1244
|
<with-fields> (and hence <field-list>) now display fields in the order declared in the model
|
1294
|
-
|
1245
|
+
|
1295
1246
|
<card> and <show-page> no longer include the created_at timestamp
|
1296
1247
|
|
1297
1248
|
Added labels and titleize attributes to <editor for='HoboFields::EnumString'>
|
1298
|
-
|
1249
|
+
|
1299
1250
|
Added force (no edit check) attribute to <input>
|
1300
|
-
|
1251
|
+
|
1301
1252
|
<hidden-form-field> (formerly <hidden-field>) is gone
|
1302
|
-
|
1253
|
+
|
1303
1254
|
Fix to default label on non-ajax <remote-method-button>
|
1304
|
-
|
1255
|
+
|
1305
1256
|
Now outputs <span> not <div> to wrap field-with-errors (<div> is invalid)
|
1306
1257
|
|
1307
1258
|
Added <transition-buttons> and <transition-button> (lifecycles)
|
1308
1259
|
|
1309
1260
|
Added <dev-user-changer> when in development mode if there is a user model
|
1310
|
-
|
1261
|
+
|
1311
1262
|
<with-fields> now skips deleted_at by default
|
1312
|
-
|
1263
|
+
|
1313
1264
|
<name> now properly respects :name => true (in the model)
|
1314
|
-
|
1265
|
+
|
1315
1266
|
Optimised <count> so that it doesn't hit the DB for already loaded collections
|
1316
|
-
|
1267
|
+
|
1317
1268
|
Removed <heading> and <sub-heading> and <article>
|
1318
|
-
|
1269
|
+
|
1319
1270
|
Allowing <def tag=input for=MyModel> to customise inputs for any belongs_to :my_model
|
1320
|
-
|
1271
|
+
|
1321
1272
|
Changed 'There are no whatsits' message to 'No whatsits to display'
|
1322
|
-
|
1273
|
+
|
1323
1274
|
Moved to nicedit (nicedit.com) for HTML inputs and editors. Dropped all TinyMCE stuff. It turns out that this change too will
|
1324
1275
|
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
|
1325
1276
|
with a plugin, rather than make it part of core Hobo.
|
1326
|
-
|
1277
|
+
|
1327
1278
|
Added default empty message to <table-plus>
|
1328
|
-
|
1279
|
+
|
1329
1280
|
Rename <belongs-to-menu-editor> to <select-one-editor> and improvements. Removed "View" link.
|
1330
|
-
|
1281
|
+
|
1331
1282
|
Made <view> fall back on to_s rather than giving up
|
1332
1283
|
|
1333
1284
|
select-many: disabled options in the select drop down instead of trying to hide them. Fixed a problem in safari where 'choose
|
1334
1285
|
xxx...' would get added by mistake to the list
|
1335
|
-
|
1286
|
+
|
1336
1287
|
New 'options' attribute for <integer-select-editor>
|
1337
|
-
|
1288
|
+
|
1338
1289
|
If no <input> tag found, fall back on an input for the COLUMN_TYPE if defined
|
1339
|
-
|
1290
|
+
|
1340
1291
|
|
1341
1292
|
Model Controller
|
1342
1293
|
|
1343
1294
|
The collection actions, e.g. PostController#comments, PostController#new_comment and PostController#create_comment have
|
1344
1295
|
now been moved to the controller that looks after that particular model, e.g. CommentsController#index_for_post,
|
1345
1296
|
CommentsController#new_for_post and CommentsController#create_for_post. The old way was just plain wrong.
|
1346
|
-
|
1297
|
+
|
1347
1298
|
Named instance var (e.g. @post) is set in body of web methods
|
1348
|
-
|
1299
|
+
|
1349
1300
|
Factored out redirect code into #redirect_after_submit
|
1350
|
-
|
1301
|
+
|
1351
1302
|
Ensure default ordering is respected when paginating
|
1352
|
-
|
1303
|
+
|
1353
1304
|
Fix to checking in superclass for permission_denied and not_found methods
|
1354
1305
|
|
1355
1306
|
|
1356
1307
|
Migration generator
|
1357
1308
|
|
1358
1309
|
Fixed bug with :null setting
|
1359
|
-
|
1310
|
+
|
1360
1311
|
Ignore sessions table when using the ActiveRecord session store. Closes #187.
|
1361
|
-
|
1312
|
+
|
1362
1313
|
Fix to loading models that was causing stack overflows (double alias_method_chain)
|
1363
|
-
|
1314
|
+
|
1364
1315
|
Ignore schema_migrations table
|
1365
|
-
|
1316
|
+
|
1366
1317
|
Fix to loading of namespaced models
|
1367
1318
|
|
1368
1319
|
Fix to 'm' option on Windows
|
@@ -1381,7 +1332,7 @@ Clean theme
|
|
1381
1332
|
hobo-rapid.js
|
1382
1333
|
|
1383
1334
|
Hobo.applyEvents is gone - now uses lowpro for all JS events
|
1384
|
-
|
1335
|
+
|
1385
1336
|
Only do resetForm on success. Add new onSuccess callback to Hobo.ajaxRequest
|
1386
1337
|
|
1387
1338
|
|
@@ -1391,11 +1342,11 @@ Routing
|
|
1391
1342
|
(See hobo generator, below)
|
1392
1343
|
|
1393
1344
|
Fixes to lifecycle routes, so that object_url(obj, :signup, :method => 'post') works
|
1394
|
-
|
1345
|
+
|
1395
1346
|
Clean-up so that :format => false doesn't sneak into route options
|
1396
|
-
|
1347
|
+
|
1397
1348
|
Better error reporting if DB problems occur during routing
|
1398
|
-
|
1349
|
+
|
1399
1350
|
Doesn't try to load routes when running script/destroy
|
1400
1351
|
|
1401
1352
|
|
@@ -1430,43 +1381,43 @@ Lifecycles
|
|
1430
1381
|
Moving default user lifecycle (signup) from Hobo::User into the generated model file (hobo_user_model generator). Closes #148
|
1431
1382
|
|
1432
1383
|
Fixed problem with lifecycle keys when timezone was not configured. Now raises an error in that case. Closes #146
|
1433
|
-
|
1384
|
+
|
1434
1385
|
Changing lifecycle action names from signup_page (the form page) and signup (the post action), to signup (the form page) and
|
1435
1386
|
do_signup (th epost action)
|
1436
1387
|
|
1437
|
-
|
1388
|
+
|
1438
1389
|
Hobo models
|
1439
1390
|
|
1440
1391
|
Removed :manged => true option for has_many :through. ActiveRecord now does behaves like this by default.
|
1441
1392
|
|
1442
1393
|
Adding member_class meta-data when calling find_by_sql. Closes #231.
|
1443
|
-
|
1394
|
+
|
1444
1395
|
Moved Hobo.models to Hobo::Model.all_models, (also added Hobo::ModelController.all_controllers)
|
1445
|
-
|
1446
|
-
Added #foo_is? for every belongs_to :foo
|
1447
|
-
|
1396
|
+
|
1397
|
+
Added #foo_is? for every belongs_to :foo
|
1398
|
+
|
1448
1399
|
record.foo_is?(x) is like record.foo == x but does not force foo to load
|
1449
|
-
|
1400
|
+
|
1450
1401
|
Have an SEO friendly URL (#to_param) by default on any model with a name attribute
|
1451
|
-
|
1402
|
+
|
1452
1403
|
Added #acting_user, virtual attribute set to the user that does a user_update, user_save etc.
|
1453
|
-
|
1404
|
+
|
1454
1405
|
Include virtual attributes (e.g. a #name method) when guessing name, description etc.
|
1455
1406
|
|
1456
1407
|
|
1457
1408
|
HoboFields
|
1458
1409
|
|
1459
1410
|
Removed RedCloth monkey-patch. Not needed (and broken) in RedCloth 4
|
1460
|
-
|
1411
|
+
|
1461
1412
|
Support :null => true/false on belongs_to
|
1462
|
-
|
1413
|
+
|
1463
1414
|
Making HoboFields::HtmlString a subclass of HoboFields::Text
|
1464
|
-
|
1415
|
+
|
1465
1416
|
Adding :decimal as another name for BigDecimal
|
1466
1417
|
|
1467
1418
|
|
1468
1419
|
Removing symlink_plugins script now that it turns out there's no need for symlinks
|
1469
|
-
|
1420
|
+
|
1470
1421
|
Just clone the whole hobo repo to vendor/plugins/hobo
|
1471
1422
|
|
1472
1423
|
|
@@ -1474,27 +1425,27 @@ Removing symlink_plugins script now that it turns out there's no need for symlin
|
|
1474
1425
|
hobo_user_model generator
|
1475
1426
|
|
1476
1427
|
Removed permission methods that are never used
|
1477
|
-
|
1428
|
+
|
1478
1429
|
Replaced set_admin_on_forst_user with the actual code (a one liner) for greater clarity
|
1479
|
-
|
1430
|
+
|
1480
1431
|
Added forgotton password mailer
|
1481
|
-
|
1432
|
+
|
1482
1433
|
Adding email address to standard model (for forgotten password email)
|
1483
|
-
|
1434
|
+
|
1484
1435
|
|
1485
1436
|
|
1486
1437
|
Scopes
|
1487
1438
|
|
1488
1439
|
Goodbye def_scope (Rails now has named_scope). Made automatic scopes work with named_scope
|
1489
|
-
|
1440
|
+
|
1490
1441
|
apply_scopes now works on other scopes, e.g. User.admin?.apply_scopes(...)
|
1491
|
-
|
1442
|
+
|
1492
1443
|
Added by_most_recent automatic scope
|
1493
|
-
|
1444
|
+
|
1494
1445
|
Added is and is_not automatic scopes
|
1495
|
-
|
1446
|
+
|
1496
1447
|
Made search scope AND terms rather than OR
|
1497
|
-
|
1448
|
+
|
1498
1449
|
|
1499
1450
|
Removed dump_fixtures rake task. See lighthouse #51
|
1500
1451
|
|
@@ -1503,7 +1454,7 @@ Hobo controller -- adding #call_tag (#render_tag without the render)
|
|
1503
1454
|
|
1504
1455
|
|
1505
1456
|
Symlinked generators now even work when they call each other (hobo_model_resource => hobo_model)
|
1506
|
-
|
1457
|
+
|
1507
1458
|
|
1508
1459
|
Hobo support - renamed Enumerable#search to Enumerable#map_and_find. Was clashing with the #search automatic scope
|
1509
1460
|
|
@@ -1546,11 +1497,11 @@ Bundles
|
|
1546
1497
|
Pass the callers options to the Bundle#defaults
|
1547
1498
|
|
1548
1499
|
|
1549
|
-
Hobo Modles --
|
1500
|
+
Hobo Modles --
|
1550
1501
|
|
1551
1502
|
Migration generator -- exit with a warning if there are pending migrations
|
1552
1503
|
|
1553
|
-
|
1504
|
+
|
1554
1505
|
Removed tabla theme
|
1555
1506
|
|
1556
1507
|
|
@@ -1578,7 +1529,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1578
1529
|
New rake task generate_tag_reference. Creates simple HTML reference
|
1579
1530
|
docs, including any inline documentation comments (found
|
1580
1531
|
immediately above the <def>)
|
1581
|
-
|
1532
|
+
|
1582
1533
|
ModelController
|
1583
1534
|
|
1584
1535
|
Made it possible to have a custom #permission_denined and
|
@@ -1587,7 +1538,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1587
1538
|
Improved logic for figuring out redirect after destroy
|
1588
1539
|
|
1589
1540
|
Fix to bug where we would turn pagination off when we shouldn't
|
1590
|
-
|
1541
|
+
|
1591
1542
|
We now have a list of mime-types that we *don't* paginate for
|
1592
1543
|
(can be extended)
|
1593
1544
|
|
@@ -1618,7 +1569,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1618
1569
|
|
1619
1570
|
Allowing belongs_to and has_one associations to be set by name
|
1620
1571
|
during mass-assignment
|
1621
|
-
|
1572
|
+
|
1622
1573
|
e.g. person.attributes = { :department => 'Sales' }
|
1623
1574
|
|
1624
1575
|
Automatic scopes -- give up silently if there's a problem with the DB
|
@@ -1629,7 +1580,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1629
1580
|
Auto-completers are now working again. The tag to use is
|
1630
1581
|
<name-one>. Should be a how-to for this availabe soon.
|
1631
1582
|
|
1632
|
-
In-place-edits are working again
|
1583
|
+
In-place-edits are working again
|
1633
1584
|
|
1634
1585
|
New controller method call_dryml_tag (added by DRYML template
|
1635
1586
|
handler). Calls a tag and returns the result as a string.
|
@@ -1643,7 +1594,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
|
|
1643
1594
|
Refactored the DRYML parser to make it easier to parse DRYML in other contexts
|
1644
1595
|
|
1645
1596
|
Rapid:
|
1646
|
-
|
1597
|
+
|
1647
1598
|
Improvements to wording on index-page
|
1648
1599
|
|
1649
1600
|
Display the users name, not login in the account-nav
|
@@ -1690,7 +1641,7 @@ contain edited highlights of the commit log.
|
|
1690
1641
|
|
1691
1642
|
Moving the part-contexts javascripts from the very end of the
|
1692
1643
|
output, to the end of <body>
|
1693
|
-
|
1644
|
+
|
1694
1645
|
The script tag must now be output by the <page>, instead of
|
1695
1646
|
being appended automatically by DRYML. This is done in
|
1696
1647
|
<simple-layout/>
|
@@ -1746,81 +1697,81 @@ contain edited highlights of the commit log.
|
|
1746
1697
|
Fix to <view for='text'/>
|
1747
1698
|
|
1748
1699
|
Improvements to <table-plus>
|
1749
|
-
|
1700
|
+
|
1750
1701
|
Ability to sort by name of 'this' when 'this' is one of the
|
1751
1702
|
fields
|
1752
|
-
|
1703
|
+
|
1753
1704
|
Keep table headings in when the table is empty
|
1754
|
-
|
1705
|
+
|
1755
1706
|
Don't include page nav if the collection doesn't support it
|
1756
1707
|
|
1757
1708
|
Improvements to rapid pages
|
1758
|
-
|
1709
|
+
|
1759
1710
|
Allowing has_many associations in forms
|
1760
|
-
|
1711
|
+
|
1761
1712
|
Allowing the primary collection on a show page to be provided by
|
1762
1713
|
an instance variable (so that filtering/searching/pagination are
|
1763
1714
|
supported)
|
1764
|
-
|
1715
|
+
|
1765
1716
|
Tidy of <show-page>
|
1766
|
-
|
1717
|
+
|
1767
1718
|
<index-page> -- improved wording
|
1768
1719
|
|
1769
1720
|
Fixes to <index-page>
|
1770
1721
|
|
1771
1722
|
<account-nav> make 'logged in as bob' a link to current_user
|
1772
|
-
|
1723
|
+
|
1773
1724
|
Factored out default <collection> into <base-collection>, and
|
1774
1725
|
fixes to <collection-preview>
|
1775
|
-
|
1726
|
+
|
1776
1727
|
<base-card> -- add 'edit' link
|
1777
1728
|
|
1778
1729
|
<base-card> change 'title' param to 'heading' and make it easier
|
1779
1730
|
to provide your own
|
1780
|
-
|
1731
|
+
|
1781
1732
|
<creation-details> use a div rather than a span
|
1782
|
-
|
1733
|
+
|
1783
1734
|
Fix to <select-many>
|
1784
1735
|
|
1785
1736
|
Fix to <select-menu>
|
1786
|
-
|
1737
|
+
|
1787
1738
|
Fix to <input for='datetime'>
|
1788
|
-
|
1739
|
+
|
1789
1740
|
Rapid forms: switching to <select-one> and <select-many> naming
|
1790
|
-
|
1741
|
+
|
1791
1742
|
<form> -- don't include auth token on GET forms
|
1792
|
-
|
1743
|
+
|
1793
1744
|
Rapid: <belongs-to-menu-editor> -- don't show 'View' link if the
|
1794
1745
|
thing is not linkable
|
1795
|
-
|
1746
|
+
|
1796
1747
|
Rapid: adding sort attribute to <belongs-to-menu-editor>
|
1797
1748
|
|
1798
1749
|
Rapid: default 'no-filter' option for filter-menu
|
1799
|
-
|
1750
|
+
|
1800
1751
|
Rapid: Fix to extraneous whitespace in <you>
|
1801
|
-
|
1752
|
+
|
1802
1753
|
Rapid: better guess of label on <count>
|
1803
|
-
|
1754
|
+
|
1804
1755
|
Rapid: Use association name rather than class name in css classes
|
1805
1756
|
on <a> tags (when available)
|
1806
1757
|
|
1807
1758
|
Rapid: Fix to use of <else> with <a>
|
1808
|
-
|
1759
|
+
|
1809
1760
|
Removed 'all' method from ScopedProxy - delegates to the model
|
1810
1761
|
class instead
|
1811
|
-
|
1762
|
+
|
1812
1763
|
Fix to origin_attribute on scoped associations
|
1813
1764
|
|
1814
1765
|
Fix to with_abc automatic scopes
|
1815
1766
|
|
1816
1767
|
New automatic scopes 'include' and 'search', and improvements to
|
1817
1768
|
order_by scope
|
1818
|
-
|
1769
|
+
|
1819
1770
|
Scopes: fix to parameterised scopes on associations
|
1820
1771
|
|
1821
1772
|
Scopes: new apply_scopes method for models and has_many
|
1822
1773
|
associations
|
1823
|
-
|
1774
|
+
|
1824
1775
|
Pass a hash of scope-name => scope-arguments (single valur or
|
1825
1776
|
array), the result will be scoped accordingly, but only if the
|
1826
1777
|
first argument to the scope is not blank. It's designed to be
|
@@ -1831,90 +1782,90 @@ contain edited highlights of the commit log.
|
|
1831
1782
|
ajax actions
|
1832
1783
|
|
1833
1784
|
Hobo::ModelController -- Fix to flash message after update
|
1834
|
-
|
1785
|
+
|
1835
1786
|
Hobo::ModelController -- fix to redirection after submitting a
|
1836
1787
|
form
|
1837
1788
|
|
1838
1789
|
Hobo::ModelController -- cleaning up sorting and filtering
|
1839
|
-
|
1790
|
+
|
1840
1791
|
Hobo::ModelController -- make reorder one of the automatic
|
1841
1792
|
:write_only actions if the model has the position_column method
|
1842
1793
|
|
1843
1794
|
<with-fields> better error reporting
|
1844
1795
|
|
1845
1796
|
Hobo::ModelController -- adding automatic reorder action
|
1846
|
-
|
1797
|
+
|
1847
1798
|
Works with acts_as_list and scriptaculous drag and drop
|
1848
1799
|
re-ordering
|
1849
|
-
|
1800
|
+
|
1850
1801
|
Hobo::Model adding :managed => true option to has_many
|
1851
|
-
|
1802
|
+
|
1852
1803
|
Only valid with the :through option. Records of the joining
|
1853
1804
|
model will be created and destroyed as required when this record
|
1854
1805
|
is saved, in order to honour the contents of the association at
|
1855
1806
|
save time.
|
1856
|
-
|
1807
|
+
|
1857
1808
|
Hobo::Model -- adding .user_update
|
1858
1809
|
|
1859
1810
|
Hobo::Model -- fix to user_find
|
1860
|
-
|
1811
|
+
|
1861
1812
|
Hobo::HoboHelper -- #map_this (used by repeat) will set this_key
|
1862
1813
|
when iterating over a hash
|
1863
|
-
|
1814
|
+
|
1864
1815
|
DRYML: made this_field_reflection do a better job of figuring out
|
1865
1816
|
the current reflection
|
1866
|
-
|
1817
|
+
|
1867
1818
|
DRYML: adding this_key -- gives you the current key when
|
1868
1819
|
<repeat>ing on a hash
|
1869
|
-
|
1820
|
+
|
1870
1821
|
DRYML: Error message for invalid attributes on parameter tags,
|
1871
1822
|
e.g. <foo: if-'...'>
|
1872
|
-
|
1823
|
+
|
1873
1824
|
Hobo module - fix to permission checks on unexpected objects
|
1874
1825
|
|
1875
1826
|
Hobo module -- always return false for can_create? on has_many
|
1876
1827
|
associations that are not 'simple'
|
1877
|
-
|
1828
|
+
|
1878
1829
|
(i.e. they have conditions)
|
1879
|
-
|
1830
|
+
|
1880
1831
|
DRYML: Fix for replacing an overridden tag parameter
|
1881
|
-
|
1832
|
+
|
1882
1833
|
Rapid pages: new submit label on show page (add to collection)
|
1883
|
-
|
1834
|
+
|
1884
1835
|
Rapid pages: Add param to <show-page>
|
1885
|
-
|
1836
|
+
|
1886
1837
|
Rapid pages: by default, append app-name to every title, override
|
1887
1838
|
with full-title attribute (<base-page>)
|
1888
|
-
|
1839
|
+
|
1889
1840
|
Rapid pages: <show-page> -- update primary collection count when
|
1890
1841
|
an item is deleted
|
1891
|
-
|
1842
|
+
|
1892
1843
|
Rapid pages: fix on <show-page>
|
1893
|
-
|
1844
|
+
|
1894
1845
|
Rapid pages: make edit link on show-page check if the edit action
|
1895
1846
|
is linkable
|
1896
|
-
|
1847
|
+
|
1897
1848
|
Rapid forms: adding inputs (just textareas) for textile and
|
1898
1849
|
markdown
|
1899
|
-
|
1850
|
+
|
1900
1851
|
front_controller generator -- use <collection-preview> in
|
1901
1852
|
index.dryml
|
1902
|
-
|
1853
|
+
|
1903
1854
|
Rapid generics: adding support for <collection with='&MyModel'/>
|
1904
1855
|
|
1905
1856
|
Rapid tags: switching to <main-nav> tag, called from simple-layout
|
1906
|
-
|
1857
|
+
|
1907
1858
|
hobo_model_resource generator -- removing creating of (rails
|
1908
1859
|
style) resource route
|
1909
1860
|
|
1910
1861
|
Improvements to rapid pages
|
1911
|
-
|
1862
|
+
|
1912
1863
|
Allowing has_many associations in forms
|
1913
|
-
|
1864
|
+
|
1914
1865
|
Allowing the primary collection on a show page to be provided by
|
1915
1866
|
an instance variable (so that filtering/searching/pagination are
|
1916
1867
|
supported)
|
1917
|
-
|
1868
|
+
|
1918
1869
|
Rapid: Fix to use of <else> with <a>
|
1919
1870
|
|
1920
1871
|
Removed 'all' method from ScopedProxy - delegates to the model
|
@@ -1956,10 +1907,10 @@ contain edited highlights of the commit log.
|
|
1956
1907
|
|
1957
1908
|
Adding support for 'this' psuedo-field to <with-fields> and
|
1958
1909
|
<with-fields-names>
|
1959
|
-
|
1910
|
+
|
1960
1911
|
In particular, this makes it possible to include the object
|
1961
1912
|
itself in a table plus column
|
1962
|
-
|
1913
|
+
|
1963
1914
|
Adding a general <view> for ActiveRecord objects (just <a/>)
|
1964
1915
|
|
1965
1916
|
Allowing lookup of polymorphic tags to include ActiveRecord::Base
|
@@ -1993,7 +1944,7 @@ Core extentions
|
|
1993
1944
|
|
1994
1945
|
|
1995
1946
|
hobo generator
|
1996
|
-
|
1947
|
+
|
1997
1948
|
application.dryml now has a generated <app-name> tag
|
1998
1949
|
|
1999
1950
|
|
@@ -2091,7 +2042,7 @@ Hobo helpers
|
|
2091
2042
|
|
2092
2043
|
can_view? now utilises some simple cacheing
|
2093
2044
|
|
2094
|
-
signup_url now defaults to the
|
2045
|
+
signup_url now defaults to the
|
2095
2046
|
|
2096
2047
|
linkable? no longer accepts an array as parameter
|
2097
2048
|
|
@@ -2139,7 +2090,7 @@ DRYML
|
|
2139
2090
|
the begining and end of the default content.
|
2140
2091
|
|
2141
2092
|
Note these are all just syntactic sugar for things you can do
|
2142
|
-
already with <param-content/> and <title: replace> /
|
2093
|
+
already with <param-content/> and <title: replace> /
|
2143
2094
|
<title: restore/>
|
2144
2095
|
|
2145
2096
|
When changing the context with the ':' shorthand, now use dashes,
|
@@ -2150,7 +2101,7 @@ DRYML
|
|
2150
2101
|
|
2151
2102
|
Control attributes <my-tag if> is equivalent to <my-tag if="&this"/>
|
2152
2103
|
(remember these test for blank? / not blank?, not Ruby trueness)
|
2153
|
-
|
2104
|
+
|
2154
2105
|
this_type now never returns AssociationReflections,
|
2155
2106
|
this_field_reflection does
|
2156
2107
|
|
@@ -2166,7 +2117,7 @@ DRYML
|
|
2166
2117
|
|
2167
2118
|
Fix: using alias-of with a reserved word was broken
|
2168
2119
|
|
2169
|
-
|
2120
|
+
|
2170
2121
|
Hobo models
|
2171
2122
|
|
2172
2123
|
New method Model.named to find things by name,
|
@@ -2249,7 +2200,7 @@ Scopes
|
|
2249
2200
|
|
2250
2201
|
published
|
2251
2202
|
not_published
|
2252
|
-
|
2203
|
+
|
2253
2204
|
For the various date/time columns (these must end _at, e.g. pulished_at)
|
2254
2205
|
|
2255
2206
|
published_before(x)
|
@@ -2261,7 +2212,7 @@ Scopes
|
|
2261
2212
|
order_by(field_name) -- add an ORDER BY clause
|
2262
2213
|
limit(n) -- add a LIMIT clause
|
2263
2214
|
recent(n) -- orders by created_at and limits to n records
|
2264
|
-
|
2215
|
+
|
2265
2216
|
|
2266
2217
|
|
2267
2218
|
Hobo model controller
|
@@ -2295,7 +2246,7 @@ Hobo model controller
|
|
2295
2246
|
|
2296
2247
|
Support for scopes on declarative index actions:
|
2297
2248
|
|
2298
|
-
index_action :scope => :my_scope
|
2249
|
+
index_action :scope => :my_scope
|
2299
2250
|
|
2300
2251
|
New method filter_by for easily adding filtering to index actions, e.g.
|
2301
2252
|
|
@@ -2339,7 +2290,7 @@ Bundles
|
|
2339
2290
|
selective about which models and controllers they include.
|
2340
2291
|
|
2341
2292
|
Adding support for: belongs_to :foo, :polymorphic => :optional
|
2342
|
-
|
2293
|
+
|
2343
2294
|
Magic option names are now available inside the model and controller *instances*
|
2344
2295
|
|
2345
2296
|
Bundle options with defaults now work with nested option hashes
|
@@ -2373,7 +2324,7 @@ Rapid tags: general
|
|
2373
2324
|
collection was obtained
|
2374
2325
|
|
2375
2326
|
So, unless something has changed:
|
2376
|
-
|
2327
|
+
|
2377
2328
|
collection.origin.send(collection.origin_attribute) == collection
|
2378
2329
|
|
2379
2330
|
This API is made available on all association proxies, regular
|
@@ -2428,12 +2379,12 @@ Rapid tags: forms
|
|
2428
2379
|
<after-submit> -- can now do
|
2429
2380
|
|
2430
2381
|
<after-submit go-back> (requires session[:previous_uri])
|
2431
|
-
|
2382
|
+
|
2432
2383
|
and
|
2433
2384
|
|
2434
2385
|
<after-submit stay-here>
|
2435
2386
|
|
2436
|
-
|
2387
|
+
|
2437
2388
|
Rapid tags: navigation
|
2438
2389
|
|
2439
2390
|
Now assumes will_paginate style pagination instead of classic_pagination
|
@@ -2519,7 +2470,7 @@ DRYML
|
|
2519
2470
|
Rapid
|
2520
2471
|
|
2521
2472
|
New generic tag <collection>. Used to create type-specific
|
2522
|
-
renderings of collections. E.g. you can
|
2473
|
+
renderings of collections. E.g. you can
|
2523
2474
|
|
2524
2475
|
<def tag="collection" for="Comment">
|
2525
2476
|
|
@@ -2543,7 +2494,7 @@ Rapid pages
|
|
2543
2494
|
|
2544
2495
|
Plugins
|
2545
2496
|
|
2546
|
-
Changing from hobo_* naming convention to rapid_*
|
2497
|
+
Changing from hobo_* naming convention to rapid_*
|
2547
2498
|
|
2548
2499
|
|
2549
2500
|
|
@@ -2593,7 +2544,7 @@ Hobo models
|
|
2593
2544
|
(within the "fields do" block)
|
2594
2545
|
|
2595
2546
|
Can also write
|
2596
|
-
username :string, :login => true, :validate => false
|
2547
|
+
username :string, :login => true, :validate => false
|
2597
2548
|
to disable the automatic login validations (see hobo/lib/hobo/user.rb)
|
2598
2549
|
|
2599
2550
|
Plus two new ones for fields: :name => true and :description => true.
|
@@ -2668,7 +2619,7 @@ Hobo user controller
|
|
2668
2619
|
"Account not available" is now a separate page
|
2669
2620
|
(<account-disabled-page>) instead of just a flash message.
|
2670
2621
|
|
2671
|
-
Fixed occasional missing template bug
|
2622
|
+
Fixed occasional missing template bug
|
2672
2623
|
|
2673
2624
|
|
2674
2625
|
|
@@ -2709,7 +2660,7 @@ Hobo helpers
|
|
2709
2660
|
association, defaults to #this.
|
2710
2661
|
|
2711
2662
|
New helper #font_models. Returns a list of models that are
|
2712
|
-
candidates to appear on the default front page and main nav.
|
2663
|
+
candidates to appear on the default front page and main nav.
|
2713
2664
|
|
2714
2665
|
Changes to linkable? Subsite is now a named option (:subsite =>
|
2715
2666
|
"admin"), the target of the links defaults to #this and the action
|
@@ -2721,7 +2672,7 @@ Hobo routing
|
|
2721
2672
|
Now automatically updates routes without restarting the server in
|
2722
2673
|
dev mode (yay!)
|
2723
2674
|
|
2724
|
-
|
2675
|
+
|
2725
2676
|
Site search -- don't search for records that are not linkable
|
2726
2677
|
|
2727
2678
|
|
@@ -2826,7 +2777,7 @@ DRYML
|
|
2826
2777
|
New helper 'element'. Use in place of Rails' tag and content_tag
|
2827
2778
|
helper. It dasherizes attributes given as symbols.
|
2828
2779
|
|
2829
|
-
|
2780
|
+
|
2830
2781
|
Migration generator
|
2831
2782
|
|
2832
2783
|
Better support for STI. It no longer wants to generate tables for
|
@@ -2852,7 +2803,7 @@ Hobo Rapid
|
|
2852
2803
|
|
2853
2804
|
Upgraded to latest low_pro.js
|
2854
2805
|
|
2855
|
-
|
2806
|
+
|
2856
2807
|
New theme 'Clean'
|
2857
2808
|
|
2858
2809
|
New helper 'linkable?' can be given a record or class, and tells you
|
@@ -2883,7 +2834,7 @@ Hobo Rapid
|
|
2883
2834
|
<theme-stylesheet> now takes a 'name' attribute
|
2884
2835
|
|
2885
2836
|
<delete-button> takes a 'subsite' attribute
|
2886
|
-
|
2837
|
+
|
2887
2838
|
|
2888
2839
|
Rake tasks
|
2889
2840
|
|
@@ -2960,7 +2911,7 @@ Change to hobo command:
|
|
2960
2911
|
|
2961
2912
|
Migration generator
|
2962
2913
|
|
2963
|
-
Automatically ignores non-Hobo models (and associated tables)
|
2914
|
+
Automatically ignores non-Hobo models (and associated tables)
|
2964
2915
|
|
2965
2916
|
Hobo::Migrations.ignore_models is now deprecated.
|
2966
2917
|
|
@@ -3048,7 +2999,7 @@ DRYML
|
|
3048
2999
|
e.g. part_locals="@user". Note that inside the part this creates a
|
3049
3000
|
local variable "user". Don't user @user inside the part. It's just a
|
3050
3001
|
convenience to avoid the need to do <set user="&@user"/>
|
3051
|
-
|
3002
|
+
|
3052
3003
|
Fix: failure to accumulate CSS class names when merging attributes.
|
3053
3004
|
|
3054
3005
|
DRYML now gives the type returned by #field_type (when available)
|
@@ -3097,7 +3048,7 @@ Rich data types
|
|
3097
3048
|
|
3098
3049
|
Hobo models
|
3099
3050
|
|
3100
|
-
In fields declaration:
|
3051
|
+
In fields declaration:
|
3101
3052
|
|
3102
3053
|
Got rid of weird thing where providing :length meant the type
|
3103
3054
|
defaulted to :string
|
@@ -3108,7 +3059,7 @@ Hobo models
|
|
3108
3059
|
were in the model controller. e.g. Dates can be represented as
|
3109
3060
|
Hashes of month, day etc. Chronic will be used to parse dates if
|
3110
3061
|
available. Object references (e.g. belongs_to relationships) can be
|
3111
|
-
set with "@<typed-id>" as before.
|
3062
|
+
set with "@<typed-id>" as before.
|
3112
3063
|
|
3113
3064
|
"fields do" can optionally be used with a parameter if you don't
|
3114
3065
|
like the instance_eval hackery:
|
@@ -3158,7 +3109,7 @@ Helpers
|
|
3158
3109
|
|
3159
3110
|
#dom_id now returns "" when a dom_id cannot be generated (used to
|
3160
3111
|
raise an error)
|
3161
|
-
|
3112
|
+
|
3162
3113
|
#map_this now works with ranges (used by DRYML's repeat)
|
3163
3114
|
|
3164
3115
|
#current_page_url returns request.request_uri without the query string
|
@@ -3202,7 +3153,7 @@ Model controller
|
|
3202
3153
|
to have them paginated.
|
3203
3154
|
|
3204
3155
|
New declaration 'auto_actions' allows you to select which actions
|
3205
|
-
Hobo provides for you automatically.
|
3156
|
+
Hobo provides for you automatically.
|
3206
3157
|
|
3207
3158
|
# White list
|
3208
3159
|
auto_actions :show, :index
|
@@ -3245,7 +3196,7 @@ Model controller
|
|
3245
3196
|
response.
|
3246
3197
|
|
3247
3198
|
<NotFoundPage> used as the default 404 response.
|
3248
|
-
|
3199
|
+
|
3249
3200
|
|
3250
3201
|
User controller
|
3251
3202
|
|
@@ -3319,7 +3270,7 @@ Tag library: Rapid forms
|
|
3319
3270
|
|
3320
3271
|
New <input> for enum-strings - a select menu.
|
3321
3272
|
|
3322
|
-
New <input> for big decimals
|
3273
|
+
New <input> for big decimals
|
3323
3274
|
|
3324
3275
|
<remote_method_button> now supports non ajax remote method calls
|
3325
3276
|
(when no update="..." is given)
|
@@ -3377,7 +3328,7 @@ namespaced). This will dump the current database into test
|
|
3377
3328
|
fixtures. The nice part is that it won't overwrite symbolic names
|
3378
3329
|
you've given to rows in your fixtures, so you can round-trip with it:
|
3379
3330
|
rake db:fixtures:load, run up the app and create some new data, rake
|
3380
|
-
dump_fixtures.
|
3331
|
+
dump_fixtures.
|
3381
3332
|
|
3382
3333
|
|
3383
3334
|
Migration generator
|
@@ -3401,7 +3352,7 @@ Hobo users
|
|
3401
3352
|
|
3402
3353
|
If the model name is "User", the routes generated are simply:
|
3403
3354
|
|
3404
|
-
/login
|
3355
|
+
/login
|
3405
3356
|
/logout
|
3406
3357
|
/signup
|
3407
3358
|
|
@@ -3474,14 +3425,14 @@ Core extensions
|
|
3474
3425
|
|
3475
3426
|
string_or_nil._?.length
|
3476
3427
|
|
3477
|
-
is equivalent to
|
3428
|
+
is equivalent to
|
3478
3429
|
|
3479
3430
|
string_or_nil && string_or_nil.length
|
3480
3431
|
|
3481
3432
|
Hobo extensions to HashWithIndifferentAccess fixed to always return
|
3482
3433
|
indifferent hashes.
|
3483
3434
|
|
3484
|
-
|
3435
|
+
|
3485
3436
|
Hobo controller
|
3486
3437
|
|
3487
3438
|
Fix to #render_tags (problem with part contexts javascript)
|
@@ -3619,8 +3570,8 @@ Hobo Rapid
|
|
3619
3570
|
Fix to new link in <ShowCollectionPage>
|
3620
3571
|
|
3621
3572
|
<image> tag removed from default ajax progress.
|
3622
|
-
|
3623
|
-
|
3573
|
+
|
3574
|
+
|
3624
3575
|
|
3625
3576
|
Dryml
|
3626
3577
|
|
@@ -3661,7 +3612,7 @@ Hobo helpers
|
|
3661
3612
|
Multiple user models
|
3662
3613
|
|
3663
3614
|
Hobo now supports multiple user models, with independent sign-up /
|
3664
|
-
log-in/out for each.
|
3615
|
+
log-in/out for each.
|
3665
3616
|
|
3666
3617
|
The controller needs to declare hobo_user_controller instead of
|
3667
3618
|
hobo_model_controller (it still has all the hobo_model_controller
|
@@ -3749,7 +3700,7 @@ Migration generator
|
|
3749
3700
|
|
3750
3701
|
Hobo::Migrations.ignore_tables
|
3751
3702
|
|
3752
|
-
To ignore just models, assign an array of the class names to
|
3703
|
+
To ignore just models, assign an array of the class names to
|
3753
3704
|
|
3754
3705
|
Hobo::Migrations.ignore_models
|
3755
3706
|
|
@@ -3813,7 +3764,7 @@ DRYML
|
|
3813
3764
|
|
3814
3765
|
<def tag="card" for="User"/>...</def>
|
3815
3766
|
<def tag="card" for="BlogPost">...</def>
|
3816
|
-
|
3767
|
+
|
3817
3768
|
call with <card for_type/>
|
3818
3769
|
|
3819
3770
|
The actual tag called will be selected according to the type of
|
@@ -4110,7 +4061,7 @@ DRYML
|
|
4110
4061
|
|
4111
4062
|
<def tag="a">
|
4112
4063
|
<def tag="panel">...</def>
|
4113
|
-
|
4064
|
+
|
4114
4065
|
... Any call to panel in here, or in the tagbody of the call to
|
4115
4066
|
<a> will get the local definition. Note that local tags are full
|
4116
4067
|
closures and have access to state from the containing tag...
|
@@ -4131,7 +4082,7 @@ DRYML
|
|
4131
4082
|
Think of these as the dryml equivalent of the suffix 'if' and 'unless' in Ruby.
|
4132
4083
|
|
4133
4084
|
If you give the attributes a string, it is treated test for a
|
4134
|
-
non-blank field, e.g. if="address" is like
|
4085
|
+
non-blank field, e.g. if="address" is like
|
4135
4086
|
<if q="&!this.address.blank?">
|
4136
4087
|
|
4137
4088
|
You can use <else> after tags with these attributes on them.
|
@@ -4203,7 +4154,7 @@ repository.
|
|
4203
4154
|
|
4204
4155
|
DRYML Core Tags
|
4205
4156
|
|
4206
|
-
<dynamic_tag/> renamed to <call_tag/>
|
4157
|
+
<dynamic_tag/> renamed to <call_tag/>
|
4207
4158
|
|
4208
4159
|
<display_name/> displays "(not available)" if the context is nil
|
4209
4160
|
|
@@ -4221,10 +4172,10 @@ DRYML Core Tags
|
|
4221
4172
|
DRYML Helpers
|
4222
4173
|
|
4223
4174
|
#param_name_for will strip a trailing '?' if there is one.
|
4224
|
-
|
4175
|
+
|
4225
4176
|
|
4226
4177
|
Hobo Rapid Tags
|
4227
|
-
|
4178
|
+
|
4228
4179
|
<boolean_field> now also generates a hidden tag with the same name
|
4229
4180
|
and value '0' like the rails helper. This fixes HTMLs broken idea of
|
4230
4181
|
how to handle checkboxes (you get a 0 value if the checkbox is not
|
@@ -4371,7 +4322,7 @@ Hobo Rapid
|
|
4371
4322
|
inner-tag 'rapid_javascripts'. e.g. you can do
|
4372
4323
|
|
4373
4324
|
<page rapid_javascripts.tiny_mce="#true">
|
4374
|
-
|
4325
|
+
|
4375
4326
|
to enable TinyMCE support.
|
4376
4327
|
|
4377
4328
|
Removed helper current_user_in?
|
@@ -4391,7 +4342,7 @@ Hobo Rapid
|
|
4391
4342
|
object form now has a css class added: either the model class name, or
|
4392
4343
|
"new_<class>"
|
4393
4344
|
|
4394
|
-
New tag <remote_method_form> for calling remote methods with parameters, either with a traditional
|
4345
|
+
New tag <remote_method_form> for calling remote methods with parameters, either with a traditional
|
4395
4346
|
|
4396
4347
|
|
4397
4348
|
Model Extensions
|
@@ -4455,7 +4406,7 @@ Model controllers
|
|
4455
4406
|
Removed customisation hooks, create_response,
|
4456
4407
|
invalid_create_response, update_response etc.
|
4457
4408
|
|
4458
|
-
New mechanism for customising actions.
|
4409
|
+
New mechanism for customising actions.
|
4459
4410
|
|
4460
4411
|
def create
|
4461
4412
|
hobo_create ...customisation args...
|
@@ -4492,7 +4443,7 @@ Permission system
|
|
4492
4443
|
can_edit? now works better with boolean fields
|
4493
4444
|
|
4494
4445
|
can_call_<method>? renamed to <method>_callable_by?
|
4495
|
-
|
4446
|
+
|
4496
4447
|
|
4497
4448
|
DRYML
|
4498
4449
|
|
@@ -4658,7 +4609,7 @@ Hobo::Controller
|
|
4658
4609
|
|
4659
4610
|
hobo_ajax_reponse will use @this if no page context is passed
|
4660
4611
|
|
4661
|
-
|
4612
|
+
|
4662
4613
|
Module defined tags
|
4663
4614
|
|
4664
4615
|
Can provide a predicate as a block, e.g. to have a different nav bar onced logged in.
|
@@ -4673,7 +4624,7 @@ Module defined tags
|
|
4673
4624
|
|
4674
4625
|
DRYML
|
4675
4626
|
|
4676
|
-
Changes to taglib cache system.
|
4627
|
+
Changes to taglib cache system.
|
4677
4628
|
|
4678
4629
|
A list of known HTML tags is defined in lib/hobo/static_tags. These
|
4679
4630
|
are available as an array by calling Hobo.static_tags. Any tags
|
@@ -4777,7 +4728,7 @@ Hobo Rapid
|
|
4777
4728
|
|
4778
4729
|
has_many_editor
|
4779
4730
|
belongs_to_editor
|
4780
|
-
|
4731
|
+
|
4781
4732
|
string_editor
|
4782
4733
|
textarea_editor
|
4783
4734
|
password_editor
|
@@ -4810,7 +4761,7 @@ New feature - Composite models
|
|
4810
4761
|
|
4811
4762
|
Experimental new feature - mapping tags
|
4812
4763
|
|
4813
|
-
New feature - Predicate dispatch modules
|
4764
|
+
New feature - Predicate dispatch modules
|
4814
4765
|
|
4815
4766
|
|
4816
4767
|
=== Release 0.4.3 ===
|
@@ -5195,7 +5146,7 @@ Model Extensions (hobo_model)
|
|
5195
5146
|
|
5196
5147
|
class User < ActiveRecord::Base
|
5197
5148
|
set_default_order "name"
|
5198
|
-
end
|
5149
|
+
end
|
5199
5150
|
|
5200
5151
|
To use: User.find(:all, :order => :default). Default order is used
|
5201
5152
|
by the hobo_model_controller
|