hobo 1.3.0.RC4 → 1.3.0.pre10

Sign up to get free protection for your applications and to get access to all the features.
Files changed (155) hide show
  1. data/CHANGES.txt +234 -282
  2. data/Rakefile +3 -3
  3. data/VERSION +1 -1
  4. data/app/controllers/dev_controller.rb +2 -2
  5. data/bin/hobo +3 -3
  6. data/config/routes.rb +1 -1
  7. data/doctests/hobo/lifecycles.rdoctest +1 -0
  8. data/doctests/hobo/model.rdoctest +5 -0
  9. data/doctests/hobo/multi_model_forms.rdoctest +5 -4
  10. data/doctests/hobo/scopes.rdoctest +8 -11
  11. data/doctests/prepare_testapp.rb +1 -2
  12. data/hobo.gemspec +2 -2
  13. data/lib/generators/hobo/admin_subsite/admin_subsite_generator.rb +11 -5
  14. data/lib/generators/hobo/admin_subsite/templates/admin.css +2 -20
  15. data/lib/generators/hobo/admin_subsite/templates/admin_tag_injection.erb +1 -3
  16. data/lib/generators/hobo/admin_subsite/templates/controller.rb.erb +5 -5
  17. data/lib/generators/hobo/admin_subsite/templates/users_index.dryml +1 -3
  18. data/lib/generators/hobo/basic/basic_generator.rb +17 -0
  19. data/lib/generators/hobo/{assets → basic}/templates/application.css +0 -0
  20. data/lib/generators/hobo/{assets → basic}/templates/application.dryml.erb +1 -1
  21. data/lib/generators/hobo/{assets → basic}/templates/dryml-support.js +2 -2
  22. data/lib/generators/hobo/{assets → basic}/templates/en_injection.yml +0 -0
  23. data/lib/generators/hobo/{assets → basic}/templates/guest.rb +0 -0
  24. data/lib/generators/hobo/controller.rb +1 -6
  25. data/lib/generators/hobo/front_controller/front_controller_generator.rb +3 -2
  26. data/{app/views/dev → lib/generators/hobo/front_controller/templates}/summary.dryml +10 -7
  27. data/lib/generators/hobo/hints/hints_generator.rb +12 -0
  28. data/lib/generators/hobo/hints/templates/hints.rb.erb +5 -0
  29. data/lib/generators/hobo/hints/templates/model_injection.rb.erb +36 -0
  30. data/lib/generators/hobo/i18n/i18n_generator.rb +9 -1
  31. data/lib/generators/hobo/i18n/templates/app.en.yml +1 -1
  32. data/lib/generators/hobo/i18n/templates/app.es-DO.yml +24 -0
  33. data/lib/generators/hobo/i18n/templates/app.it.yml +1 -5
  34. data/lib/generators/hobo/i18n/templates/app.pt-PT.yml +0 -1
  35. data/lib/generators/hobo/i18n/templates/default_count_injection.rb +10 -0
  36. data/lib/generators/hobo/i18n/templates/hobo.en.yml +10 -26
  37. data/lib/generators/hobo/i18n/templates/{hobo.es.yml → hobo.es-DO.yml} +10 -27
  38. data/lib/generators/hobo/i18n/templates/hobo.it.yml +4 -20
  39. data/lib/generators/hobo/i18n/templates/hobo.pt-PT.yml +9 -25
  40. data/lib/generators/hobo/model.rb +13 -0
  41. data/lib/generators/hobo/model/USAGE +3 -2
  42. data/lib/generators/hobo/model/model_generator.rb +1 -2
  43. data/lib/generators/hobo/rapid/rapid_generator.rb +0 -2
  44. data/lib/generators/hobo/rapid/templates/hobo-rapid.js +93 -78
  45. data/lib/generators/hobo/rapid/templates/ie7-recalc.js +21 -21
  46. data/lib/generators/hobo/rapid/templates/lowpro.js +31 -31
  47. data/lib/generators/hobo/rapid/templates/reset.css +1 -1
  48. data/lib/generators/hobo/rapid/templates/themes/clean/public/stylesheets/clean.css +16 -17
  49. data/lib/generators/hobo/rapid/templates/themes/clean/public/stylesheets/rapid-ui.css +3 -3
  50. data/lib/generators/hobo/rapid/templates/themes/clean/views/clean.dryml +1 -1
  51. data/lib/generators/hobo/resource/resource_generator.rb +1 -1
  52. data/lib/generators/hobo/routes/router.rb +4 -4
  53. data/lib/generators/hobo/routes/routes_generator.rb +1 -12
  54. data/lib/generators/hobo/routes/templates/hobo_routes.rb.erb +1 -1
  55. data/lib/generators/hobo/setup_wizard/setup_wizard_generator.rb +43 -88
  56. data/lib/generators/hobo/subsite.rb +5 -18
  57. data/lib/generators/hobo/subsite/subsite_generator.rb +1 -1
  58. data/lib/generators/hobo/subsite/templates/controller.rb.erb +1 -1
  59. data/lib/generators/hobo/subsite_taglib/templates/taglib.dryml.erb +2 -2
  60. data/lib/generators/hobo/test_framework/test_framework_generator.rb +7 -7
  61. data/lib/generators/hobo/user_controller/templates/controller.rb.erb +3 -8
  62. data/lib/generators/hobo/user_mailer/templates/activation.erb +2 -2
  63. data/lib/generators/hobo/user_mailer/templates/forgot_password.erb +2 -2
  64. data/lib/generators/hobo/user_mailer/templates/invite.erb +2 -2
  65. data/lib/generators/hobo/user_mailer/templates/mailer.rb.erb +17 -10
  66. data/lib/generators/hobo/user_mailer/user_mailer_generator.rb +1 -1
  67. data/lib/generators/hobo/user_model/USAGE +9 -2
  68. data/lib/generators/hobo/user_model/user_model_generator.rb +1 -2
  69. data/lib/hobo.rb +7 -13
  70. data/lib/hobo/controller.rb +14 -21
  71. data/lib/hobo/controller/authentication_support.rb +23 -1
  72. data/lib/hobo/controller/model.rb +53 -48
  73. data/lib/hobo/controller/{user_base.rb → user.rb} +36 -47
  74. data/lib/hobo/engine.rb +11 -25
  75. data/lib/hobo/extensions/action_controller/hobo_methods.rb +1 -25
  76. data/lib/hobo/extensions/active_model/translation.rb +1 -1
  77. data/lib/hobo/extensions/active_record/{associations/collection.rb → association_collection.rb} +3 -12
  78. data/lib/hobo/extensions/active_record/{associations/proxy.rb → association_proxy.rb} +7 -6
  79. data/lib/hobo/extensions/active_record/association_reflection.rb +19 -0
  80. data/lib/hobo/extensions/active_record/hobo_methods.rb +1 -1
  81. data/lib/hobo/extensions/active_record/scopes.rb +31 -0
  82. data/lib/hobo/extensions/array.rb +1 -13
  83. data/lib/hobo/helper.rb +6 -27
  84. data/lib/hobo/helper/translations.rb +90 -39
  85. data/lib/hobo/model.rb +20 -72
  86. data/lib/hobo/model/lifecycles.rb +11 -12
  87. data/lib/hobo/model/lifecycles/lifecycle.rb +4 -12
  88. data/lib/hobo/model/lifecycles/transition.rb +0 -1
  89. data/lib/hobo/model/permissions.rb +3 -2
  90. data/lib/hobo/model/scopes/apply_scopes.rb +1 -1
  91. data/lib/hobo/model/scopes/automatic_scopes.rb +80 -78
  92. data/lib/hobo/model/{user_base.rb → user.rb} +7 -9
  93. data/lib/hobo/rapid/generators/rapid/cards.dryml.erb +2 -2
  94. data/lib/hobo/rapid/generators/rapid/forms.dryml.erb +4 -5
  95. data/lib/hobo/rapid/generators/rapid/pages.dryml.erb +27 -26
  96. data/lib/hobo/rapid/helper.rb +5 -10
  97. data/lib/hobo/rapid/taglibs/rapid.dryml +1 -1
  98. data/lib/hobo/rapid/taglibs/rapid_core.dryml +42 -72
  99. data/lib/hobo/rapid/taglibs/rapid_document_tags.dryml +2 -2
  100. data/lib/hobo/rapid/taglibs/rapid_editing.dryml +16 -36
  101. data/lib/hobo/rapid/taglibs/rapid_forms.dryml +49 -87
  102. data/lib/hobo/rapid/taglibs/rapid_generics.dryml +2 -2
  103. data/lib/hobo/rapid/taglibs/rapid_i18n.dryml +75 -50
  104. data/lib/hobo/rapid/taglibs/rapid_lifecycles.dryml +5 -7
  105. data/lib/hobo/rapid/taglibs/rapid_navigation.dryml +2 -2
  106. data/lib/hobo/rapid/taglibs/rapid_pages.dryml +7 -8
  107. data/lib/hobo/rapid/taglibs/rapid_plus.dryml +43 -66
  108. data/lib/hobo/rapid/taglibs/rapid_summary.dryml +45 -16
  109. data/lib/hobo/rapid/taglibs/rapid_translations.dryml +36 -0
  110. data/lib/hobo/rapid/taglibs/rapid_user_pages.dryml +8 -8
  111. data/lib/hobo/routes.rb +23 -22
  112. data/lib/hobo/view_hints.rb +101 -0
  113. data/test/irt/generators/admin_subsite.irt +1 -1
  114. data/test/irt/generators/{assets.irt → basic.irt} +2 -2
  115. data/test/irt/generators/front_controller.irt +4 -2
  116. data/test/irt/generators/partials/_subsite_taglib_variables.rb +1 -1
  117. data/test/irt/generators/subsite.irt +1 -1
  118. data/test/permissions/test_permissions.rb +103 -103
  119. metadata +108 -69
  120. data/lib/generators/hobo/admin_subsite/USAGE +0 -25
  121. data/lib/generators/hobo/admin_subsite/templates/application.dryml +0 -1
  122. data/lib/generators/hobo/assets/USAGE +0 -5
  123. data/lib/generators/hobo/assets/assets_generator.rb +0 -18
  124. data/lib/generators/hobo/assets/templates/dryml_taglibs_initializer.rb +0 -1
  125. data/lib/generators/hobo/controller/USAGE +0 -3
  126. data/lib/generators/hobo/i18n/USAGE +0 -3
  127. data/lib/generators/hobo/i18n/templates/app.de.yml +0 -30
  128. data/lib/generators/hobo/i18n/templates/app.es.yml +0 -31
  129. data/lib/generators/hobo/i18n/templates/app.fr.yml +0 -26
  130. data/lib/generators/hobo/i18n/templates/app.nb.yml +0 -25
  131. data/lib/generators/hobo/i18n/templates/app.ru.yml +0 -24
  132. data/lib/generators/hobo/i18n/templates/hobo.de.yml +0 -204
  133. data/lib/generators/hobo/i18n/templates/hobo.fr.yml +0 -195
  134. data/lib/generators/hobo/i18n/templates/hobo.nb.yml +0 -198
  135. data/lib/generators/hobo/i18n/templates/hobo.ru.yml +0 -200
  136. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-ACD3E6-DBE1E5-H.png +0 -0
  137. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/100-DBE1E5-FCFEF5-H.png +0 -0
  138. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/300-3B5F87-ACD3E6-H.png +0 -0
  139. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/images/spinner.gif +0 -0
  140. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/public/stylesheets/clean-sidemenu.css +0 -81
  141. data/lib/generators/hobo/rapid/templates/themes/clean-sidemenu/views/clean-sidemenu.dryml +0 -30
  142. data/lib/generators/hobo/resource/USAGE +0 -39
  143. data/lib/generators/hobo/subsite/USAGE +0 -24
  144. data/lib/generators/hobo/subsite_taglib/USAGE +0 -4
  145. data/lib/generators/hobo/test_framework/USAGE +0 -2
  146. data/lib/generators/hobo/user_controller/USAGE +0 -3
  147. data/lib/generators/hobo/user_mailer/USAGE +0 -2
  148. data/lib/generators/hobo/user_resource/USAGE +0 -10
  149. data/lib/hobo/extensions/action_view/translation_helper.rb +0 -25
  150. data/lib/hobo/extensions/active_record/associations/reflection.rb +0 -23
  151. data/lib/hobo/extensions/active_record/associations/scope.rb +0 -35
  152. data/lib/hobo/extensions/active_record/relation_with_origin.rb +0 -32
  153. data/lib/hobo/extensions/i18n.rb +0 -17
  154. data/lib/hobo/helper/translations/normalizer.rb +0 -39
  155. data/lib/hobo/model/view_hints.rb +0 -123
@@ -14,57 +14,9 @@ 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.0.3 ===
18
-
19
- This is a security release. All applications that use the reset
20
- password functionality should upgrade.
21
-
22
- To patch the vulnerability, two changes have been made.
23
-
24
- First of all, the lifecycle key hash mechanism has been changed.
25
- Existing lifecycle keys will become invalid after you upgrade.
26
- Lifecycle keys are typically short lived, so this is unlikely to be a
27
- problem for most applications.
28
-
29
- Secondly, lifecycle keys are now cleared on every transition to avoid
30
- replay vulnerabilities. This new behaviour may be avoided by added
31
- the `:dont_clear_key => true` option to a transition.
32
-
33
- More information about the vulnerability can be viewed on the [bug
34
- report](https://hobo.lighthouseapp.com/projects/8324/tickets/666-user-model-secure-links-have-low-security).
35
-
36
- All code changes may viewed on the [github
37
- log](https://github.com/tablatom/hobo/compare/v1.0.2...v1.0.3)
38
-
39
- === Hobo 1.0.2 ===
40
-
41
- This release is almost identical to 1.0.1 except that it updates the
42
- version requirements to exclude Rails3. Hobo does not currently work
43
- with Rails3, although we are working on it.
44
-
45
- This release silences some warnings produced when running with Rails
46
- 2.3.10.
47
-
48
- This release contains preliminary support for Ruby 1.9.2, although you
49
- may encounter problems if you use Single Type Inheritance (STI)
50
- models.
51
-
52
- A few very minor bug fixes have also been included. See the [github
53
- log](https://github.com/tablatom/hobo/compare/v1.0.1...v1.0.2) for
54
- more details.
55
-
56
- === Hobo 1.0.1 ===
57
-
58
- This version contains two speedups: one fix that reduces the number of
59
- database accesses by Matt Jones and one that speeds up compilation of
60
- DRYML by Petteri Räty.
61
-
62
- This version also contains several bug fixes. See the [github
63
- log](http://github.com/tablatom/hobo/tree/v1.0.1) for more details.
64
-
65
17
  === Hobo 1.0.0 ===
66
18
 
67
- Drumm-roll! Trumpets! Fanfare!
19
+ Drumm-roll! Trumpets! Fanfare!
68
20
 
69
21
  We did it : )
70
22
 
@@ -97,7 +49,7 @@ callbacks.
97
49
 
98
50
  `x._?.to_s` now returns nil rather than a blank string
99
51
 
100
- [#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592):
52
+ [#592](https://hobo.lighthouseapp.com/projects/8324/tickets/592):
101
53
 
102
54
  If you previously had a snippet such as this:
103
55
 
@@ -316,7 +268,7 @@ Major enhancements:
316
268
 
317
269
  - [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)
318
270
  The transition-buttons tag now generates buttons that link to the
319
- transition page for transitions that require parameters.
271
+ transition page for transitions that require parameters.
320
272
 
321
273
  - [Bug 532](https://hobo.lighthouseapp.com/projects/8324/tickets/532)
322
274
  In previous versions, you had to add the new HTML5 tags to
@@ -326,7 +278,7 @@ Major enhancements:
326
278
 
327
279
  Major bug fixes:
328
280
 
329
- - [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530)
281
+ - [Bug 530](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/530)
330
282
  is a critical bug for invite-only projects. To incorporate the
331
283
  fix, you must rerun your generators or follow the instructions in
332
284
  the [commit](http://github.com/tablatom/hobo/commit/17247eac8a78f8b36dcc3b9684a3e4ec8da32a23)
@@ -389,7 +341,7 @@ Minor Enhancements:
389
341
  - non-required fields that are marked :unique will now allow nil
390
342
  values.
391
343
 
392
- Minor Bug Fixes
344
+ Minor Bug Fixes
393
345
 
394
346
  - [Bug 540](https://hobo.lighthouseapp.com/projects/8324-hobo/tickets/540)
395
347
  Hobo::Permissions::Associations::HasManyThroughAssociations#create!
@@ -484,15 +436,15 @@ Minor enhancements:
484
436
  validations
485
437
 
486
438
  - [Bug 415](https://hobo.lighthouseapp.com/projects/8324/tickets/415): Visiting sign-up page when logged in gives permission
487
- denied
439
+ denied
488
440
 
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)
441
+ - 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)
490
442
 
491
443
  - Rapid forms -- added url attribute to `<remote-method-button>`
492
444
 
493
- - HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs
494
-
445
+ - HoboSupport - `Enumerable.build_hash` can now be used without a block to build a hash directly from a list of pairs
495
446
 
447
+
496
448
  === Hobo 0.8.7 ===
497
449
 
498
450
  I forgot to refresh the Manifest, so this is a brown paper bag release.
@@ -543,9 +495,9 @@ shows the remaining tickets scheduled for 1.0
543
495
  New permission system
544
496
 
545
497
  Various fixes
546
-
498
+
547
499
  Now runs permission checks *before* callbacks, not after
548
-
500
+
549
501
  In the switch to the new permissions system, we changed to running them after all callbacks. This turned
550
502
  out to be wrong. Permissions should only be about what the user tried to change, not other changes
551
503
  triggered by application logic
@@ -558,7 +510,7 @@ Updated hobo command and hobo generator to use the new config.gem style for apps
558
510
  does this automatically
559
511
 
560
512
  Lifecycles fix -- state_name would throw a nil error if there was no state (not returns nil)
561
-
513
+
562
514
  This was causing the :new_key option to fail on a create step
563
515
 
564
516
  Fixes to problems with live-search introduced with the Rails 2.2 upgrade
@@ -577,38 +529,38 @@ BREAKING: New permission system
577
529
  This is the major feature of this release. The big change is that we now use the dirty tracking features
578
530
  of Active Record for update permission, rather than passing that weird 'new' object. We also use the
579
531
  acting_user method throughout, rather than passing the user as an argument.
580
-
532
+
581
533
  See the docs online: http://cookbook.hobocentral.net/manual/permissions
582
534
 
583
535
 
584
536
  Removing special Hobo semantics for association.new which was breaking the Rails API, and added
585
537
  #new_candidate
586
-
538
+
587
539
  association.new_candidate instantiates the record but does not add it to the collection.
588
-
540
+
589
541
  Fix to linkable? helpers when context responds to origin but is not a collection
590
-
542
+
591
543
  POSSIBLY BREAKING: Improved multi-model form support
592
544
 
593
545
  has_many and belongs_to now support the :accessible => true option, which allows mass-asssignment of
594
546
  attributes to work with sub-hashes that correspond to associations. Docs to follow!
595
-
547
+
596
548
  BREAKING: Lifecycle improvements
597
549
 
598
550
  The lifecycle DSL has been tidied up. Various changes to the semantics.
599
-
551
+
600
552
  Lifecycle validations are now supported (e.g. validates_presence_of :foo, :on => :my_transition)
601
-
553
+
602
554
  Also small improvements to the controller layer lifecycles support
603
-
555
+
604
556
  See: http://cookbook.hobocentral.net/manual/lifecycles
605
-
557
+
606
558
  New ViewHints mechanism
607
559
 
608
560
  Classes in app/viewhints are a place to declare things about your models that are view layer concerns.
609
561
  For example, you can give the presenation name for a field if this should be different from the back-end
610
562
  name. You can give "field help" for each field. You can specify which collections are the "children" of a
611
- model from a UI point of view.
563
+ model from a UI point of view.
612
564
 
613
565
  Rapid <select-many> -- removed use of <a-or-an> as it gets some words wrong (e.g. "an user")
614
566
 
@@ -641,7 +593,7 @@ Rapid <input-many> -- added support for disable attribute
641
593
  Fix to <hobo-rapid-javascripts> when forgery protection is disabled
642
594
 
643
595
  User model - validates_presence_of password confirmation, in addition to validates_confirmation_of
644
-
596
+
645
597
  Fixes #310 - thanks to Jaub Suder
646
598
 
647
599
  BREAKING: Rapid page generators -- Renamed 'primary-content' parameter in <show-page> to 'description'
@@ -651,7 +603,7 @@ User controller -- made account action follow the auto_actions declaration
651
603
  Changed hobo->hobofields->hobosupport gem dependency rules to require the exact version
652
604
 
653
605
  User model generator -- Hobo apps now have people log in with their email address by default, and the user
654
- has a 'name' field rather than 'username'.
606
+ has a 'name' field rather than 'username'.
655
607
 
656
608
  Note this will not effect existing apps
657
609
 
@@ -703,7 +655,7 @@ Rapid JavaScripts -- adding custom events to <select-many>
703
655
  Rapid JavaScript -- added option to specify { message: false } on ajaxRequest to disable the spinner
704
656
 
705
657
  Model Controller -- fix to re_render_form when in a subsite
706
-
658
+
707
659
  hobo_model_controller generator -- adding support for generating subsite controllers
708
660
 
709
661
  HoboSupport -- adding remove and remove_all (plus mutating versions with a !) to string - better name for
@@ -717,9 +669,9 @@ Model controller -- fix to index actions on non-paginated formats (was passing w
717
669
  regular find)
718
670
 
719
671
  Migration generator -- adding option: --force-drop-yes-i-really-mean-it-i-know-what-i-am-doing-dammit
720
-
672
+
721
673
  Not really, it's actually just --force-drop
722
-
674
+
723
675
  With this option it won't ask you "drop or rename?" it will just drop
724
676
 
725
677
  HoboFields -- fix to EnumString when values are not valid contant names
@@ -732,7 +684,7 @@ attributes)
732
684
  Rapid -- adding support for 'disabled' attribute to <select-one>
733
685
 
734
686
  Rapid -- added a 'no-edit' attribute to <input> and <field-list>. Gives control over how
735
- non-editable fields are handled.
687
+ non-editable fields are handled.
736
688
 
737
689
  - view: render the current value using the `<view>` tag
738
690
  - disable: render the input as normal, but add HTML's `disabled` attribute
@@ -761,7 +713,7 @@ Rapid -- tweak to behaviour of <name>. Is now more sensible when called on a non
761
713
 
762
714
  Re-organisation and documentation for Rapid Document Tags
763
715
 
764
- BREAKING: Deleted <panel> tag.
716
+ BREAKING: Deleted <panel> tag.
765
717
 
766
718
  Models - fix to overriding of not_found and permission_denied in applicatin controller. Also fix to bug in
767
719
  permission denied
@@ -773,15 +725,15 @@ DRYML -- allow - instead of _ in repeat/if/unless, when not code attribute
773
725
  HoboSupport - re-org of the file layout
774
726
 
775
727
  HoboFields -- new rich type :serialized (HoboFields::SerializedObject)
776
-
728
+
777
729
  example usage: foo :serialized, :class => Array
778
-
730
+
779
731
  Also some fixes to wrapping of rich types that were needed
780
732
 
781
733
  HoboFields -- adding 'declared' callback to rich types. Called whenever a field of that type is declared
782
734
 
783
735
  See HoboFields::HtmlString for an example
784
-
736
+
785
737
  HoboFields -- new types RawHtmlString and RawMarkdownString that are not sanitized. Plus fix to sanitizing
786
738
 
787
739
  DRYML -- new DrymlDoc facility. Starting point for a roll-your-own documentation generator
@@ -826,9 +778,9 @@ Rapid - adding polymorphic <collection-input> tag as a place to define the kind
826
778
  collections of a given model
827
779
 
828
780
  Rapid javascripts -- making non-ajax HTML Editor pluggable
829
-
781
+
830
782
  Plugins assign a function to Hobo.makeHtmlEditor. See hoboyui plugin for an example (github.com/tablatom)
831
-
783
+
832
784
  Adding XSS protection to HoboFields rich types (Sanitizing)
833
785
 
834
786
  Rapid -- new tag <check-many>. Add remove items to a has_many :through by checking the ones you want. Obviously
@@ -854,7 +806,7 @@ this)
854
806
  User pages:
855
807
 
856
808
  Added editing of email address to user's account page
857
-
809
+
858
810
  Got rid of <change-password-form>
859
811
 
860
812
  Rapid plus -- added <preview-with-more> and <gravatar> tags
@@ -958,7 +910,7 @@ Rapid - fix to <remote-method-button> -- the confirm attribute was incorrectly c
958
910
 
959
911
  Rapid -- <select-menu> now supports an array of label/value pairs, like the options_for_select helper
960
912
 
961
- Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with
913
+ Model Controller -- Now remembers the previous page path in the session and uses this to fix a problem with
962
914
  <after-submit stay-here/> (occured after a validation error)
963
915
 
964
916
  New tag <input-all> for situations where you want input for every item in an existing collection (without the +/- buttons that
@@ -1059,7 +1011,7 @@ Hobo users now have an #account_active? method. Used in two places:
1059
1011
 
1060
1012
  - This method rather than the return value of the block passed to hobo_login, is now used to figure out if an
1061
1013
  account is active when logging in.
1062
-
1014
+
1063
1015
  - After signing up, also log the user in iff account_active? is true. This is useful if there is a second step to
1064
1016
  signing up, such as email activation
1065
1017
 
@@ -1084,13 +1036,13 @@ Fix to bug where validations were not happening during lifecycle creates/transit
1084
1036
  Migration generator -- fixed bug with validation of filename input by user
1085
1037
 
1086
1038
  New lifecycle semantics.
1087
-
1039
+
1088
1040
  Lifecycle create and transition actions (blocks) now run *after* the create or transition, and not at all
1089
1041
  if there are validation errors.
1090
-
1042
+
1091
1043
  To create a key, you can no longer call lifecycle.generate_key in the action, as the key timestamp will not
1092
1044
  be saved (record has already been saved)
1093
-
1045
+
1094
1046
  Instead pass :new_key => true as an option to the create or transition, and access it in the block using
1095
1047
  lifecycle.key
1096
1048
 
@@ -1107,7 +1059,7 @@ Fix to bug where validations were not happening during lifecycle creates/transit
1107
1059
 
1108
1060
  New user model method account_active? Default implementation is state == 'active' but this method is intended
1109
1061
  as a hook that can be overridden as required.
1110
-
1062
+
1111
1063
  On signup, the user is only logged in if user has #account_active?
1112
1064
 
1113
1065
  Rapid generators -- fixes for form cancel links
@@ -1124,9 +1076,9 @@ Fix to bug where validations were not happening during lifecycle creates/transit
1124
1076
 
1125
1077
  Rapid generators -- fix for show-page generator, when the 'owner' association that goes with the page's
1126
1078
  collection cannot be found
1127
-
1128
-
1129
-
1079
+
1080
+
1081
+
1130
1082
  === Hobo 0.8 ===
1131
1083
 
1132
1084
  (There's a million changes in this release -- most of the fixes are *not* mentioned)
@@ -1138,12 +1090,12 @@ Hobo can now be used entirely from the gem, and need not be installed in vendor/
1138
1090
  hobo command
1139
1091
 
1140
1092
  Now shows you what it's doing
1141
-
1093
+
1142
1094
  Renamed --create-dbs to --db-create to match the name of the rake task
1143
-
1095
+
1144
1096
 
1145
1097
  DRYML
1146
-
1098
+
1147
1099
  DRYML generators
1148
1100
 
1149
1101
  Hobo now provides a facility to generate DRYML tags on the fly using normal erb based templates. (the generators run
@@ -1155,18 +1107,18 @@ DRYML
1155
1107
 
1156
1108
  <def tag="page" extend-with="app">
1157
1109
  <page-without-app>
1158
-
1110
+
1159
1111
  we now have
1160
-
1112
+
1161
1113
  <extend tag="page">
1162
1114
  <old-page>
1163
-
1115
+
1164
1116
  Also works with polymorphic tags, e.g. <extend tag="card" for="Product">
1165
-
1117
+
1166
1118
  Polymorphic tags: new mechanism for defining polymorphic tags.
1167
-
1119
+
1168
1120
  <def tag="foo" polymorphic> ... "base" definition here ... </def>
1169
-
1121
+
1170
1122
  <def tag="foo" for="Product">
1171
1123
  ... in here you can call <foo> and it's not a recursive call
1172
1124
  but a call to the base definition ...
@@ -1174,30 +1126,30 @@ DRYML
1174
1126
 
1175
1127
  "without" attributes: <page without-live-search> is a shorthand for <page><live-search: replace/>. Doesn't sound like
1176
1128
  much but it's great. You'll like it.
1177
-
1129
+
1178
1130
  <set> now respects the 'if' attribute
1179
1131
 
1180
1132
  Using 'with' and 'field' on a parameter works more sensibly now -- DRYML will never merge with attributes and field
1181
1133
  attributes
1182
-
1134
+
1183
1135
  New semantics for scoped variables.
1184
1136
 
1185
1137
  Scoped variables must be declared at the start of the scope. Assignments and reads always go back to the scope where
1186
1138
  that variable was declared.
1187
-
1139
+
1188
1140
  Fix to <foo:> </foo:> (i.e. one or more whitespace chars) being ignored
1189
1141
 
1190
1142
  Removed feature from add_classes helper that was converting all _ to -. Closes #11
1191
-
1143
+
1192
1144
  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
1193
1145
  name, or is 'default'
1194
-
1146
+
1195
1147
  Fixes to errors when reporting syntax error : )
1196
-
1148
+
1197
1149
  Now raises an error rather than outputting nonsensical name attributes on form inputs
1198
-
1150
+
1199
1151
  Removed incorrect leading '/' on template paths (e.g. in logs, stack traces)
1200
-
1152
+
1201
1153
  Fix -- was accepting close tags that are a prefix of the start tags, e.g. <foo>...</fo>
1202
1154
 
1203
1155
 
@@ -1212,108 +1164,108 @@ Rapid tag Library
1212
1164
  The standard <page> tag now has just a <content:> parameter. Specific pages might add <content-header:> or
1213
1165
  <content-body:> themselves.
1214
1166
 
1215
- As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
1167
+ As a result of the switch to generators and the simplified page-layout stuff, there's quite a lot of change in Rapid.
1216
1168
 
1217
1169
  <section with-flash-messages> will include the flash messages at the top of the section *unless* they are rendered by a
1218
1170
  sub-section or have been rendered already
1219
1171
 
1220
1172
  Update forms with not render if the user doesn't have permission
1221
-
1173
+
1222
1174
  Removed <nav> tag
1223
-
1175
+
1224
1176
  Changed <a-or-an> to give you 'a hotel' not 'an hotel'
1225
1177
 
1226
1178
  <card> now always renders a link if there is a show action. Closes #54
1227
-
1179
+
1228
1180
  <collection> is no longer a polymorphic tag. Drag and drop support moved into separate tag: <sortable-collection>.
1229
-
1181
+
1230
1182
  Got rid of <collection-preview>
1231
1183
 
1232
1184
  <stylesheet> tag now calls Rails helper stylesheet_link_tag name to construct the link tag. This change was made so that the
1233
1185
  css files are automatically cached using the timestamp mechanism, e.g. application.css?1218209632. The media attribute is now
1234
1186
  'screen' instead of 'all' by default
1235
-
1187
+
1236
1188
  Wrapped the output of <count> in a <span class='count'>
1237
1189
 
1238
1190
  Renamed <name-for-collection> to <collection-name> and added a dasherize parameter
1239
-
1191
+
1240
1192
  <ul> is gone from Rapid and is just a static tag again. Just do <ul><li repeat>
1241
-
1193
+
1242
1194
  New version of IE7.js (http://ie7-js.googlecode.com/svn/trunk/lib/IE7.js rev 29)
1243
-
1195
+
1244
1196
  <with-fields> (and hence <field-list>) now display fields in the order declared in the model
1245
-
1197
+
1246
1198
  <card> and <show-page> no longer include the created_at timestamp
1247
1199
 
1248
1200
  Added labels and titleize attributes to <editor for='HoboFields::EnumString'>
1249
-
1201
+
1250
1202
  Added force (no edit check) attribute to <input>
1251
-
1203
+
1252
1204
  <hidden-form-field> (formerly <hidden-field>) is gone
1253
-
1205
+
1254
1206
  Fix to default label on non-ajax <remote-method-button>
1255
-
1207
+
1256
1208
  Now outputs <span> not <div> to wrap field-with-errors (<div> is invalid)
1257
1209
 
1258
1210
  Added <transition-buttons> and <transition-button> (lifecycles)
1259
1211
 
1260
1212
  Added <dev-user-changer> when in development mode if there is a user model
1261
-
1213
+
1262
1214
  <with-fields> now skips deleted_at by default
1263
-
1215
+
1264
1216
  <name> now properly respects :name => true (in the model)
1265
-
1217
+
1266
1218
  Optimised <count> so that it doesn't hit the DB for already loaded collections
1267
-
1219
+
1268
1220
  Removed <heading> and <sub-heading> and <article>
1269
-
1221
+
1270
1222
  Allowing <def tag=input for=MyModel> to customise inputs for any belongs_to :my_model
1271
-
1223
+
1272
1224
  Changed 'There are no whatsits' message to 'No whatsits to display'
1273
-
1225
+
1274
1226
  Moved to nicedit (nicedit.com) for HTML inputs and editors. Dropped all TinyMCE stuff. It turns out that this change too will
1275
1227
  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
1276
1228
  with a plugin, rather than make it part of core Hobo.
1277
-
1229
+
1278
1230
  Added default empty message to <table-plus>
1279
-
1231
+
1280
1232
  Rename <belongs-to-menu-editor> to <select-one-editor> and improvements. Removed "View" link.
1281
-
1233
+
1282
1234
  Made <view> fall back on to_s rather than giving up
1283
1235
 
1284
1236
  select-many: disabled options in the select drop down instead of trying to hide them. Fixed a problem in safari where 'choose
1285
1237
  xxx...' would get added by mistake to the list
1286
-
1238
+
1287
1239
  New 'options' attribute for <integer-select-editor>
1288
-
1240
+
1289
1241
  If no <input> tag found, fall back on an input for the COLUMN_TYPE if defined
1290
-
1242
+
1291
1243
 
1292
1244
  Model Controller
1293
1245
 
1294
1246
  The collection actions, e.g. PostController#comments, PostController#new_comment and PostController#create_comment have
1295
1247
  now been moved to the controller that looks after that particular model, e.g. CommentsController#index_for_post,
1296
1248
  CommentsController#new_for_post and CommentsController#create_for_post. The old way was just plain wrong.
1297
-
1249
+
1298
1250
  Named instance var (e.g. @post) is set in body of web methods
1299
-
1251
+
1300
1252
  Factored out redirect code into #redirect_after_submit
1301
-
1253
+
1302
1254
  Ensure default ordering is respected when paginating
1303
-
1255
+
1304
1256
  Fix to checking in superclass for permission_denied and not_found methods
1305
1257
 
1306
1258
 
1307
1259
  Migration generator
1308
1260
 
1309
1261
  Fixed bug with :null setting
1310
-
1262
+
1311
1263
  Ignore sessions table when using the ActiveRecord session store. Closes #187.
1312
-
1264
+
1313
1265
  Fix to loading models that was causing stack overflows (double alias_method_chain)
1314
-
1266
+
1315
1267
  Ignore schema_migrations table
1316
-
1268
+
1317
1269
  Fix to loading of namespaced models
1318
1270
 
1319
1271
  Fix to 'm' option on Windows
@@ -1332,7 +1284,7 @@ Clean theme
1332
1284
  hobo-rapid.js
1333
1285
 
1334
1286
  Hobo.applyEvents is gone - now uses lowpro for all JS events
1335
-
1287
+
1336
1288
  Only do resetForm on success. Add new onSuccess callback to Hobo.ajaxRequest
1337
1289
 
1338
1290
 
@@ -1342,11 +1294,11 @@ Routing
1342
1294
  (See hobo generator, below)
1343
1295
 
1344
1296
  Fixes to lifecycle routes, so that object_url(obj, :signup, :method => 'post') works
1345
-
1297
+
1346
1298
  Clean-up so that :format => false doesn't sneak into route options
1347
-
1299
+
1348
1300
  Better error reporting if DB problems occur during routing
1349
-
1301
+
1350
1302
  Doesn't try to load routes when running script/destroy
1351
1303
 
1352
1304
 
@@ -1381,43 +1333,43 @@ Lifecycles
1381
1333
  Moving default user lifecycle (signup) from Hobo::User into the generated model file (hobo_user_model generator). Closes #148
1382
1334
 
1383
1335
  Fixed problem with lifecycle keys when timezone was not configured. Now raises an error in that case. Closes #146
1384
-
1336
+
1385
1337
  Changing lifecycle action names from signup_page (the form page) and signup (the post action), to signup (the form page) and
1386
1338
  do_signup (th epost action)
1387
1339
 
1388
-
1340
+
1389
1341
  Hobo models
1390
1342
 
1391
1343
  Removed :manged => true option for has_many :through. ActiveRecord now does behaves like this by default.
1392
1344
 
1393
1345
  Adding member_class meta-data when calling find_by_sql. Closes #231.
1394
-
1346
+
1395
1347
  Moved Hobo.models to Hobo::Model.all_models, (also added Hobo::ModelController.all_controllers)
1396
-
1397
- Added #foo_is? for every belongs_to :foo
1398
-
1348
+
1349
+ Added #foo_is? for every belongs_to :foo
1350
+
1399
1351
  record.foo_is?(x) is like record.foo == x but does not force foo to load
1400
-
1352
+
1401
1353
  Have an SEO friendly URL (#to_param) by default on any model with a name attribute
1402
-
1354
+
1403
1355
  Added #acting_user, virtual attribute set to the user that does a user_update, user_save etc.
1404
-
1356
+
1405
1357
  Include virtual attributes (e.g. a #name method) when guessing name, description etc.
1406
1358
 
1407
1359
 
1408
1360
  HoboFields
1409
1361
 
1410
1362
  Removed RedCloth monkey-patch. Not needed (and broken) in RedCloth 4
1411
-
1363
+
1412
1364
  Support :null => true/false on belongs_to
1413
-
1365
+
1414
1366
  Making HoboFields::HtmlString a subclass of HoboFields::Text
1415
-
1367
+
1416
1368
  Adding :decimal as another name for BigDecimal
1417
1369
 
1418
1370
 
1419
1371
  Removing symlink_plugins script now that it turns out there's no need for symlinks
1420
-
1372
+
1421
1373
  Just clone the whole hobo repo to vendor/plugins/hobo
1422
1374
 
1423
1375
 
@@ -1425,27 +1377,27 @@ Removing symlink_plugins script now that it turns out there's no need for symlin
1425
1377
  hobo_user_model generator
1426
1378
 
1427
1379
  Removed permission methods that are never used
1428
-
1380
+
1429
1381
  Replaced set_admin_on_forst_user with the actual code (a one liner) for greater clarity
1430
-
1382
+
1431
1383
  Added forgotton password mailer
1432
-
1384
+
1433
1385
  Adding email address to standard model (for forgotten password email)
1434
-
1386
+
1435
1387
 
1436
1388
 
1437
1389
  Scopes
1438
1390
 
1439
1391
  Goodbye def_scope (Rails now has named_scope). Made automatic scopes work with named_scope
1440
-
1392
+
1441
1393
  apply_scopes now works on other scopes, e.g. User.admin?.apply_scopes(...)
1442
-
1394
+
1443
1395
  Added by_most_recent automatic scope
1444
-
1396
+
1445
1397
  Added is and is_not automatic scopes
1446
-
1398
+
1447
1399
  Made search scope AND terms rather than OR
1448
-
1400
+
1449
1401
 
1450
1402
  Removed dump_fixtures rake task. See lighthouse #51
1451
1403
 
@@ -1454,7 +1406,7 @@ Hobo controller -- adding #call_tag (#render_tag without the render)
1454
1406
 
1455
1407
 
1456
1408
  Symlinked generators now even work when they call each other (hobo_model_resource => hobo_model)
1457
-
1409
+
1458
1410
 
1459
1411
  Hobo support - renamed Enumerable#search to Enumerable#map_and_find. Was clashing with the #search automatic scope
1460
1412
 
@@ -1497,11 +1449,11 @@ Bundles
1497
1449
  Pass the callers options to the Bundle#defaults
1498
1450
 
1499
1451
 
1500
- Hobo Modles --
1452
+ Hobo Modles --
1501
1453
 
1502
1454
  Migration generator -- exit with a warning if there are pending migrations
1503
1455
 
1504
-
1456
+
1505
1457
  Removed tabla theme
1506
1458
 
1507
1459
 
@@ -1529,7 +1481,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
1529
1481
  New rake task generate_tag_reference. Creates simple HTML reference
1530
1482
  docs, including any inline documentation comments (found
1531
1483
  immediately above the <def>)
1532
-
1484
+
1533
1485
  ModelController
1534
1486
 
1535
1487
  Made it possible to have a custom #permission_denined and
@@ -1538,7 +1490,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
1538
1490
  Improved logic for figuring out redirect after destroy
1539
1491
 
1540
1492
  Fix to bug where we would turn pagination off when we shouldn't
1541
-
1493
+
1542
1494
  We now have a list of mime-types that we *don't* paginate for
1543
1495
  (can be extended)
1544
1496
 
@@ -1569,7 +1521,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
1569
1521
 
1570
1522
  Allowing belongs_to and has_one associations to be set by name
1571
1523
  during mass-assignment
1572
-
1524
+
1573
1525
  e.g. person.attributes = { :department => 'Sales' }
1574
1526
 
1575
1527
  Automatic scopes -- give up silently if there's a problem with the DB
@@ -1580,7 +1532,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
1580
1532
  Auto-completers are now working again. The tag to use is
1581
1533
  <name-one>. Should be a how-to for this availabe soon.
1582
1534
 
1583
- In-place-edits are working again
1535
+ In-place-edits are working again
1584
1536
 
1585
1537
  New controller method call_dryml_tag (added by DRYML template
1586
1538
  handler). Calls a tag and returns the result as a string.
@@ -1594,7 +1546,7 @@ Hobo::HoboHelper -- new hook for customising URLs - base_url_for
1594
1546
  Refactored the DRYML parser to make it easier to parse DRYML in other contexts
1595
1547
 
1596
1548
  Rapid:
1597
-
1549
+
1598
1550
  Improvements to wording on index-page
1599
1551
 
1600
1552
  Display the users name, not login in the account-nav
@@ -1641,7 +1593,7 @@ contain edited highlights of the commit log.
1641
1593
 
1642
1594
  Moving the part-contexts javascripts from the very end of the
1643
1595
  output, to the end of <body>
1644
-
1596
+
1645
1597
  The script tag must now be output by the <page>, instead of
1646
1598
  being appended automatically by DRYML. This is done in
1647
1599
  <simple-layout/>
@@ -1697,81 +1649,81 @@ contain edited highlights of the commit log.
1697
1649
  Fix to <view for='text'/>
1698
1650
 
1699
1651
  Improvements to <table-plus>
1700
-
1652
+
1701
1653
  Ability to sort by name of 'this' when 'this' is one of the
1702
1654
  fields
1703
-
1655
+
1704
1656
  Keep table headings in when the table is empty
1705
-
1657
+
1706
1658
  Don't include page nav if the collection doesn't support it
1707
1659
 
1708
1660
  Improvements to rapid pages
1709
-
1661
+
1710
1662
  Allowing has_many associations in forms
1711
-
1663
+
1712
1664
  Allowing the primary collection on a show page to be provided by
1713
1665
  an instance variable (so that filtering/searching/pagination are
1714
1666
  supported)
1715
-
1667
+
1716
1668
  Tidy of <show-page>
1717
-
1669
+
1718
1670
  <index-page> -- improved wording
1719
1671
 
1720
1672
  Fixes to <index-page>
1721
1673
 
1722
1674
  <account-nav> make 'logged in as bob' a link to current_user
1723
-
1675
+
1724
1676
  Factored out default <collection> into <base-collection>, and
1725
1677
  fixes to <collection-preview>
1726
-
1678
+
1727
1679
  <base-card> -- add 'edit' link
1728
1680
 
1729
1681
  <base-card> change 'title' param to 'heading' and make it easier
1730
1682
  to provide your own
1731
-
1683
+
1732
1684
  <creation-details> use a div rather than a span
1733
-
1685
+
1734
1686
  Fix to <select-many>
1735
1687
 
1736
1688
  Fix to <select-menu>
1737
-
1689
+
1738
1690
  Fix to <input for='datetime'>
1739
-
1691
+
1740
1692
  Rapid forms: switching to <select-one> and <select-many> naming
1741
-
1693
+
1742
1694
  <form> -- don't include auth token on GET forms
1743
-
1695
+
1744
1696
  Rapid: <belongs-to-menu-editor> -- don't show 'View' link if the
1745
1697
  thing is not linkable
1746
-
1698
+
1747
1699
  Rapid: adding sort attribute to <belongs-to-menu-editor>
1748
1700
 
1749
1701
  Rapid: default 'no-filter' option for filter-menu
1750
-
1702
+
1751
1703
  Rapid: Fix to extraneous whitespace in <you>
1752
-
1704
+
1753
1705
  Rapid: better guess of label on <count>
1754
-
1706
+
1755
1707
  Rapid: Use association name rather than class name in css classes
1756
1708
  on <a> tags (when available)
1757
1709
 
1758
1710
  Rapid: Fix to use of <else> with <a>
1759
-
1711
+
1760
1712
  Removed 'all' method from ScopedProxy - delegates to the model
1761
1713
  class instead
1762
-
1714
+
1763
1715
  Fix to origin_attribute on scoped associations
1764
1716
 
1765
1717
  Fix to with_abc automatic scopes
1766
1718
 
1767
1719
  New automatic scopes 'include' and 'search', and improvements to
1768
1720
  order_by scope
1769
-
1721
+
1770
1722
  Scopes: fix to parameterised scopes on associations
1771
1723
 
1772
1724
  Scopes: new apply_scopes method for models and has_many
1773
1725
  associations
1774
-
1726
+
1775
1727
  Pass a hash of scope-name => scope-arguments (single valur or
1776
1728
  array), the result will be scoped accordingly, but only if the
1777
1729
  first argument to the scope is not blank. It's designed to be
@@ -1782,90 +1734,90 @@ contain edited highlights of the commit log.
1782
1734
  ajax actions
1783
1735
 
1784
1736
  Hobo::ModelController -- Fix to flash message after update
1785
-
1737
+
1786
1738
  Hobo::ModelController -- fix to redirection after submitting a
1787
1739
  form
1788
1740
 
1789
1741
  Hobo::ModelController -- cleaning up sorting and filtering
1790
-
1742
+
1791
1743
  Hobo::ModelController -- make reorder one of the automatic
1792
1744
  :write_only actions if the model has the position_column method
1793
1745
 
1794
1746
  <with-fields> better error reporting
1795
1747
 
1796
1748
  Hobo::ModelController -- adding automatic reorder action
1797
-
1749
+
1798
1750
  Works with acts_as_list and scriptaculous drag and drop
1799
1751
  re-ordering
1800
-
1752
+
1801
1753
  Hobo::Model adding :managed => true option to has_many
1802
-
1754
+
1803
1755
  Only valid with the :through option. Records of the joining
1804
1756
  model will be created and destroyed as required when this record
1805
1757
  is saved, in order to honour the contents of the association at
1806
1758
  save time.
1807
-
1759
+
1808
1760
  Hobo::Model -- adding .user_update
1809
1761
 
1810
1762
  Hobo::Model -- fix to user_find
1811
-
1763
+
1812
1764
  Hobo::HoboHelper -- #map_this (used by repeat) will set this_key
1813
1765
  when iterating over a hash
1814
-
1766
+
1815
1767
  DRYML: made this_field_reflection do a better job of figuring out
1816
1768
  the current reflection
1817
-
1769
+
1818
1770
  DRYML: adding this_key -- gives you the current key when
1819
1771
  <repeat>ing on a hash
1820
-
1772
+
1821
1773
  DRYML: Error message for invalid attributes on parameter tags,
1822
1774
  e.g. <foo: if-'...'>
1823
-
1775
+
1824
1776
  Hobo module - fix to permission checks on unexpected objects
1825
1777
 
1826
1778
  Hobo module -- always return false for can_create? on has_many
1827
1779
  associations that are not 'simple'
1828
-
1780
+
1829
1781
  (i.e. they have conditions)
1830
-
1782
+
1831
1783
  DRYML: Fix for replacing an overridden tag parameter
1832
-
1784
+
1833
1785
  Rapid pages: new submit label on show page (add to collection)
1834
-
1786
+
1835
1787
  Rapid pages: Add param to <show-page>
1836
-
1788
+
1837
1789
  Rapid pages: by default, append app-name to every title, override
1838
1790
  with full-title attribute (<base-page>)
1839
-
1791
+
1840
1792
  Rapid pages: <show-page> -- update primary collection count when
1841
1793
  an item is deleted
1842
-
1794
+
1843
1795
  Rapid pages: fix on <show-page>
1844
-
1796
+
1845
1797
  Rapid pages: make edit link on show-page check if the edit action
1846
1798
  is linkable
1847
-
1799
+
1848
1800
  Rapid forms: adding inputs (just textareas) for textile and
1849
1801
  markdown
1850
-
1802
+
1851
1803
  front_controller generator -- use <collection-preview> in
1852
1804
  index.dryml
1853
-
1805
+
1854
1806
  Rapid generics: adding support for <collection with='&MyModel'/>
1855
1807
 
1856
1808
  Rapid tags: switching to <main-nav> tag, called from simple-layout
1857
-
1809
+
1858
1810
  hobo_model_resource generator -- removing creating of (rails
1859
1811
  style) resource route
1860
1812
 
1861
1813
  Improvements to rapid pages
1862
-
1814
+
1863
1815
  Allowing has_many associations in forms
1864
-
1816
+
1865
1817
  Allowing the primary collection on a show page to be provided by
1866
1818
  an instance variable (so that filtering/searching/pagination are
1867
1819
  supported)
1868
-
1820
+
1869
1821
  Rapid: Fix to use of <else> with <a>
1870
1822
 
1871
1823
  Removed 'all' method from ScopedProxy - delegates to the model
@@ -1907,10 +1859,10 @@ contain edited highlights of the commit log.
1907
1859
 
1908
1860
  Adding support for 'this' psuedo-field to <with-fields> and
1909
1861
  <with-fields-names>
1910
-
1862
+
1911
1863
  In particular, this makes it possible to include the object
1912
1864
  itself in a table plus column
1913
-
1865
+
1914
1866
  Adding a general <view> for ActiveRecord objects (just <a/>)
1915
1867
 
1916
1868
  Allowing lookup of polymorphic tags to include ActiveRecord::Base
@@ -1944,7 +1896,7 @@ Core extentions
1944
1896
 
1945
1897
 
1946
1898
  hobo generator
1947
-
1899
+
1948
1900
  application.dryml now has a generated <app-name> tag
1949
1901
 
1950
1902
 
@@ -2042,7 +1994,7 @@ Hobo helpers
2042
1994
 
2043
1995
  can_view? now utilises some simple cacheing
2044
1996
 
2045
- signup_url now defaults to the
1997
+ signup_url now defaults to the
2046
1998
 
2047
1999
  linkable? no longer accepts an array as parameter
2048
2000
 
@@ -2090,7 +2042,7 @@ DRYML
2090
2042
  the begining and end of the default content.
2091
2043
 
2092
2044
  Note these are all just syntactic sugar for things you can do
2093
- already with <param-content/> and <title: replace> /
2045
+ already with <param-content/> and <title: replace> /
2094
2046
  <title: restore/>
2095
2047
 
2096
2048
  When changing the context with the ':' shorthand, now use dashes,
@@ -2101,7 +2053,7 @@ DRYML
2101
2053
 
2102
2054
  Control attributes <my-tag if> is equivalent to <my-tag if="&this"/>
2103
2055
  (remember these test for blank? / not blank?, not Ruby trueness)
2104
-
2056
+
2105
2057
  this_type now never returns AssociationReflections,
2106
2058
  this_field_reflection does
2107
2059
 
@@ -2117,7 +2069,7 @@ DRYML
2117
2069
 
2118
2070
  Fix: using alias-of with a reserved word was broken
2119
2071
 
2120
-
2072
+
2121
2073
  Hobo models
2122
2074
 
2123
2075
  New method Model.named to find things by name,
@@ -2200,7 +2152,7 @@ Scopes
2200
2152
 
2201
2153
  published
2202
2154
  not_published
2203
-
2155
+
2204
2156
  For the various date/time columns (these must end _at, e.g. pulished_at)
2205
2157
 
2206
2158
  published_before(x)
@@ -2212,7 +2164,7 @@ Scopes
2212
2164
  order_by(field_name) -- add an ORDER BY clause
2213
2165
  limit(n) -- add a LIMIT clause
2214
2166
  recent(n) -- orders by created_at and limits to n records
2215
-
2167
+
2216
2168
 
2217
2169
 
2218
2170
  Hobo model controller
@@ -2246,7 +2198,7 @@ Hobo model controller
2246
2198
 
2247
2199
  Support for scopes on declarative index actions:
2248
2200
 
2249
- index_action :scope => :my_scope
2201
+ index_action :scope => :my_scope
2250
2202
 
2251
2203
  New method filter_by for easily adding filtering to index actions, e.g.
2252
2204
 
@@ -2290,7 +2242,7 @@ Bundles
2290
2242
  selective about which models and controllers they include.
2291
2243
 
2292
2244
  Adding support for: belongs_to :foo, :polymorphic => :optional
2293
-
2245
+
2294
2246
  Magic option names are now available inside the model and controller *instances*
2295
2247
 
2296
2248
  Bundle options with defaults now work with nested option hashes
@@ -2324,7 +2276,7 @@ Rapid tags: general
2324
2276
  collection was obtained
2325
2277
 
2326
2278
  So, unless something has changed:
2327
-
2279
+
2328
2280
  collection.origin.send(collection.origin_attribute) == collection
2329
2281
 
2330
2282
  This API is made available on all association proxies, regular
@@ -2379,12 +2331,12 @@ Rapid tags: forms
2379
2331
  <after-submit> -- can now do
2380
2332
 
2381
2333
  <after-submit go-back> (requires session[:previous_uri])
2382
-
2334
+
2383
2335
  and
2384
2336
 
2385
2337
  <after-submit stay-here>
2386
2338
 
2387
-
2339
+
2388
2340
  Rapid tags: navigation
2389
2341
 
2390
2342
  Now assumes will_paginate style pagination instead of classic_pagination
@@ -2470,7 +2422,7 @@ DRYML
2470
2422
  Rapid
2471
2423
 
2472
2424
  New generic tag <collection>. Used to create type-specific
2473
- renderings of collections. E.g. you can
2425
+ renderings of collections. E.g. you can
2474
2426
 
2475
2427
  <def tag="collection" for="Comment">
2476
2428
 
@@ -2494,7 +2446,7 @@ Rapid pages
2494
2446
 
2495
2447
  Plugins
2496
2448
 
2497
- Changing from hobo_* naming convention to rapid_*
2449
+ Changing from hobo_* naming convention to rapid_*
2498
2450
 
2499
2451
 
2500
2452
 
@@ -2544,7 +2496,7 @@ Hobo models
2544
2496
  (within the "fields do" block)
2545
2497
 
2546
2498
  Can also write
2547
- username :string, :login => true, :validate => false
2499
+ username :string, :login => true, :validate => false
2548
2500
  to disable the automatic login validations (see hobo/lib/hobo/user.rb)
2549
2501
 
2550
2502
  Plus two new ones for fields: :name => true and :description => true.
@@ -2619,7 +2571,7 @@ Hobo user controller
2619
2571
  "Account not available" is now a separate page
2620
2572
  (<account-disabled-page>) instead of just a flash message.
2621
2573
 
2622
- Fixed occasional missing template bug
2574
+ Fixed occasional missing template bug
2623
2575
 
2624
2576
 
2625
2577
 
@@ -2660,7 +2612,7 @@ Hobo helpers
2660
2612
  association, defaults to #this.
2661
2613
 
2662
2614
  New helper #font_models. Returns a list of models that are
2663
- candidates to appear on the default front page and main nav.
2615
+ candidates to appear on the default front page and main nav.
2664
2616
 
2665
2617
  Changes to linkable? Subsite is now a named option (:subsite =>
2666
2618
  "admin"), the target of the links defaults to #this and the action
@@ -2672,7 +2624,7 @@ Hobo routing
2672
2624
  Now automatically updates routes without restarting the server in
2673
2625
  dev mode (yay!)
2674
2626
 
2675
-
2627
+
2676
2628
  Site search -- don't search for records that are not linkable
2677
2629
 
2678
2630
 
@@ -2777,7 +2729,7 @@ DRYML
2777
2729
  New helper 'element'. Use in place of Rails' tag and content_tag
2778
2730
  helper. It dasherizes attributes given as symbols.
2779
2731
 
2780
-
2732
+
2781
2733
  Migration generator
2782
2734
 
2783
2735
  Better support for STI. It no longer wants to generate tables for
@@ -2803,7 +2755,7 @@ Hobo Rapid
2803
2755
 
2804
2756
  Upgraded to latest low_pro.js
2805
2757
 
2806
-
2758
+
2807
2759
  New theme 'Clean'
2808
2760
 
2809
2761
  New helper 'linkable?' can be given a record or class, and tells you
@@ -2834,7 +2786,7 @@ Hobo Rapid
2834
2786
  <theme-stylesheet> now takes a 'name' attribute
2835
2787
 
2836
2788
  <delete-button> takes a 'subsite' attribute
2837
-
2789
+
2838
2790
 
2839
2791
  Rake tasks
2840
2792
 
@@ -2911,7 +2863,7 @@ Change to hobo command:
2911
2863
 
2912
2864
  Migration generator
2913
2865
 
2914
- Automatically ignores non-Hobo models (and associated tables)
2866
+ Automatically ignores non-Hobo models (and associated tables)
2915
2867
 
2916
2868
  Hobo::Migrations.ignore_models is now deprecated.
2917
2869
 
@@ -2999,7 +2951,7 @@ DRYML
2999
2951
  e.g. part_locals="@user". Note that inside the part this creates a
3000
2952
  local variable "user". Don't user @user inside the part. It's just a
3001
2953
  convenience to avoid the need to do <set user="&@user"/>
3002
-
2954
+
3003
2955
  Fix: failure to accumulate CSS class names when merging attributes.
3004
2956
 
3005
2957
  DRYML now gives the type returned by #field_type (when available)
@@ -3048,7 +3000,7 @@ Rich data types
3048
3000
 
3049
3001
  Hobo models
3050
3002
 
3051
- In fields declaration:
3003
+ In fields declaration:
3052
3004
 
3053
3005
  Got rid of weird thing where providing :length meant the type
3054
3006
  defaulted to :string
@@ -3059,7 +3011,7 @@ Hobo models
3059
3011
  were in the model controller. e.g. Dates can be represented as
3060
3012
  Hashes of month, day etc. Chronic will be used to parse dates if
3061
3013
  available. Object references (e.g. belongs_to relationships) can be
3062
- set with "@<typed-id>" as before.
3014
+ set with "@<typed-id>" as before.
3063
3015
 
3064
3016
  "fields do" can optionally be used with a parameter if you don't
3065
3017
  like the instance_eval hackery:
@@ -3109,7 +3061,7 @@ Helpers
3109
3061
 
3110
3062
  #dom_id now returns "" when a dom_id cannot be generated (used to
3111
3063
  raise an error)
3112
-
3064
+
3113
3065
  #map_this now works with ranges (used by DRYML's repeat)
3114
3066
 
3115
3067
  #current_page_url returns request.request_uri without the query string
@@ -3153,7 +3105,7 @@ Model controller
3153
3105
  to have them paginated.
3154
3106
 
3155
3107
  New declaration 'auto_actions' allows you to select which actions
3156
- Hobo provides for you automatically.
3108
+ Hobo provides for you automatically.
3157
3109
 
3158
3110
  # White list
3159
3111
  auto_actions :show, :index
@@ -3196,7 +3148,7 @@ Model controller
3196
3148
  response.
3197
3149
 
3198
3150
  <NotFoundPage> used as the default 404 response.
3199
-
3151
+
3200
3152
 
3201
3153
  User controller
3202
3154
 
@@ -3270,7 +3222,7 @@ Tag library: Rapid forms
3270
3222
 
3271
3223
  New <input> for enum-strings - a select menu.
3272
3224
 
3273
- New <input> for big decimals
3225
+ New <input> for big decimals
3274
3226
 
3275
3227
  <remote_method_button> now supports non ajax remote method calls
3276
3228
  (when no update="..." is given)
@@ -3328,7 +3280,7 @@ namespaced). This will dump the current database into test
3328
3280
  fixtures. The nice part is that it won't overwrite symbolic names
3329
3281
  you've given to rows in your fixtures, so you can round-trip with it:
3330
3282
  rake db:fixtures:load, run up the app and create some new data, rake
3331
- dump_fixtures.
3283
+ dump_fixtures.
3332
3284
 
3333
3285
 
3334
3286
  Migration generator
@@ -3352,7 +3304,7 @@ Hobo users
3352
3304
 
3353
3305
  If the model name is "User", the routes generated are simply:
3354
3306
 
3355
- /login
3307
+ /login
3356
3308
  /logout
3357
3309
  /signup
3358
3310
 
@@ -3425,14 +3377,14 @@ Core extensions
3425
3377
 
3426
3378
  string_or_nil._?.length
3427
3379
 
3428
- is equivalent to
3380
+ is equivalent to
3429
3381
 
3430
3382
  string_or_nil && string_or_nil.length
3431
3383
 
3432
3384
  Hobo extensions to HashWithIndifferentAccess fixed to always return
3433
3385
  indifferent hashes.
3434
3386
 
3435
-
3387
+
3436
3388
  Hobo controller
3437
3389
 
3438
3390
  Fix to #render_tags (problem with part contexts javascript)
@@ -3570,8 +3522,8 @@ Hobo Rapid
3570
3522
  Fix to new link in <ShowCollectionPage>
3571
3523
 
3572
3524
  <image> tag removed from default ajax progress.
3573
-
3574
-
3525
+
3526
+
3575
3527
 
3576
3528
  Dryml
3577
3529
 
@@ -3612,7 +3564,7 @@ Hobo helpers
3612
3564
  Multiple user models
3613
3565
 
3614
3566
  Hobo now supports multiple user models, with independent sign-up /
3615
- log-in/out for each.
3567
+ log-in/out for each.
3616
3568
 
3617
3569
  The controller needs to declare hobo_user_controller instead of
3618
3570
  hobo_model_controller (it still has all the hobo_model_controller
@@ -3700,7 +3652,7 @@ Migration generator
3700
3652
 
3701
3653
  Hobo::Migrations.ignore_tables
3702
3654
 
3703
- To ignore just models, assign an array of the class names to
3655
+ To ignore just models, assign an array of the class names to
3704
3656
 
3705
3657
  Hobo::Migrations.ignore_models
3706
3658
 
@@ -3764,7 +3716,7 @@ DRYML
3764
3716
 
3765
3717
  <def tag="card" for="User"/>...</def>
3766
3718
  <def tag="card" for="BlogPost">...</def>
3767
-
3719
+
3768
3720
  call with <card for_type/>
3769
3721
 
3770
3722
  The actual tag called will be selected according to the type of
@@ -4061,7 +4013,7 @@ DRYML
4061
4013
 
4062
4014
  <def tag="a">
4063
4015
  <def tag="panel">...</def>
4064
-
4016
+
4065
4017
  ... Any call to panel in here, or in the tagbody of the call to
4066
4018
  <a> will get the local definition. Note that local tags are full
4067
4019
  closures and have access to state from the containing tag...
@@ -4082,7 +4034,7 @@ DRYML
4082
4034
  Think of these as the dryml equivalent of the suffix 'if' and 'unless' in Ruby.
4083
4035
 
4084
4036
  If you give the attributes a string, it is treated test for a
4085
- non-blank field, e.g. if="address" is like
4037
+ non-blank field, e.g. if="address" is like
4086
4038
  <if q="&!this.address.blank?">
4087
4039
 
4088
4040
  You can use <else> after tags with these attributes on them.
@@ -4154,7 +4106,7 @@ repository.
4154
4106
 
4155
4107
  DRYML Core Tags
4156
4108
 
4157
- <dynamic_tag/> renamed to <call_tag/>
4109
+ <dynamic_tag/> renamed to <call_tag/>
4158
4110
 
4159
4111
  <display_name/> displays "(not available)" if the context is nil
4160
4112
 
@@ -4172,10 +4124,10 @@ DRYML Core Tags
4172
4124
  DRYML Helpers
4173
4125
 
4174
4126
  #param_name_for will strip a trailing '?' if there is one.
4175
-
4127
+
4176
4128
 
4177
4129
  Hobo Rapid Tags
4178
-
4130
+
4179
4131
  <boolean_field> now also generates a hidden tag with the same name
4180
4132
  and value '0' like the rails helper. This fixes HTMLs broken idea of
4181
4133
  how to handle checkboxes (you get a 0 value if the checkbox is not
@@ -4322,7 +4274,7 @@ Hobo Rapid
4322
4274
  inner-tag 'rapid_javascripts'. e.g. you can do
4323
4275
 
4324
4276
  <page rapid_javascripts.tiny_mce="#true">
4325
-
4277
+
4326
4278
  to enable TinyMCE support.
4327
4279
 
4328
4280
  Removed helper current_user_in?
@@ -4342,7 +4294,7 @@ Hobo Rapid
4342
4294
  object form now has a css class added: either the model class name, or
4343
4295
  "new_<class>"
4344
4296
 
4345
- New tag <remote_method_form> for calling remote methods with parameters, either with a traditional
4297
+ New tag <remote_method_form> for calling remote methods with parameters, either with a traditional
4346
4298
 
4347
4299
 
4348
4300
  Model Extensions
@@ -4406,7 +4358,7 @@ Model controllers
4406
4358
  Removed customisation hooks, create_response,
4407
4359
  invalid_create_response, update_response etc.
4408
4360
 
4409
- New mechanism for customising actions.
4361
+ New mechanism for customising actions.
4410
4362
 
4411
4363
  def create
4412
4364
  hobo_create ...customisation args...
@@ -4443,7 +4395,7 @@ Permission system
4443
4395
  can_edit? now works better with boolean fields
4444
4396
 
4445
4397
  can_call_<method>? renamed to <method>_callable_by?
4446
-
4398
+
4447
4399
 
4448
4400
  DRYML
4449
4401
 
@@ -4609,7 +4561,7 @@ Hobo::Controller
4609
4561
 
4610
4562
  hobo_ajax_reponse will use @this if no page context is passed
4611
4563
 
4612
-
4564
+
4613
4565
  Module defined tags
4614
4566
 
4615
4567
  Can provide a predicate as a block, e.g. to have a different nav bar onced logged in.
@@ -4624,7 +4576,7 @@ Module defined tags
4624
4576
 
4625
4577
  DRYML
4626
4578
 
4627
- Changes to taglib cache system.
4579
+ Changes to taglib cache system.
4628
4580
 
4629
4581
  A list of known HTML tags is defined in lib/hobo/static_tags. These
4630
4582
  are available as an array by calling Hobo.static_tags. Any tags
@@ -4728,7 +4680,7 @@ Hobo Rapid
4728
4680
 
4729
4681
  has_many_editor
4730
4682
  belongs_to_editor
4731
-
4683
+
4732
4684
  string_editor
4733
4685
  textarea_editor
4734
4686
  password_editor
@@ -4761,7 +4713,7 @@ New feature - Composite models
4761
4713
 
4762
4714
  Experimental new feature - mapping tags
4763
4715
 
4764
- New feature - Predicate dispatch modules
4716
+ New feature - Predicate dispatch modules
4765
4717
 
4766
4718
 
4767
4719
  === Release 0.4.3 ===
@@ -5146,7 +5098,7 @@ Model Extensions (hobo_model)
5146
5098
 
5147
5099
  class User < ActiveRecord::Base
5148
5100
  set_default_order "name"
5149
- end
5101
+ end
5150
5102
 
5151
5103
  To use: User.find(:all, :order => :default). Default order is used
5152
5104
  by the hobo_model_controller