hobo 0.8.3 → 0.8.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/CHANGES.txt +330 -0
- data/Manifest +12 -4
- data/Rakefile +4 -6
- data/dryml_generators/rapid/cards.dryml.erb +5 -1
- data/dryml_generators/rapid/forms.dryml.erb +8 -10
- data/dryml_generators/rapid/pages.dryml.erb +65 -36
- data/hobo.gemspec +28 -15
- data/lib/active_record/association_collection.rb +3 -22
- data/lib/hobo.rb +25 -258
- data/lib/hobo/accessible_associations.rb +131 -0
- data/lib/hobo/authentication_support.rb +15 -9
- data/lib/hobo/composite_model.rb +1 -1
- data/lib/hobo/controller.rb +7 -8
- data/lib/hobo/dryml.rb +9 -10
- data/lib/hobo/dryml/dryml_builder.rb +7 -1
- data/lib/hobo/dryml/dryml_doc.rb +161 -0
- data/lib/hobo/dryml/dryml_generator.rb +18 -9
- data/lib/hobo/dryml/part_context.rb +76 -42
- data/lib/hobo/dryml/tag_parameters.rb +1 -0
- data/lib/hobo/dryml/taglib.rb +2 -1
- data/lib/hobo/dryml/template.rb +39 -29
- data/lib/hobo/dryml/template_environment.rb +79 -37
- data/lib/hobo/dryml/template_handler.rb +66 -21
- data/lib/hobo/guest.rb +2 -10
- data/lib/hobo/hobo_helper.rb +125 -53
- data/lib/hobo/include_in_save.rb +0 -1
- data/lib/hobo/lifecycles.rb +54 -24
- data/lib/hobo/lifecycles/actions.rb +95 -31
- data/lib/hobo/lifecycles/creator.rb +18 -23
- data/lib/hobo/lifecycles/lifecycle.rb +86 -62
- data/lib/hobo/lifecycles/state.rb +1 -2
- data/lib/hobo/lifecycles/transition.rb +22 -28
- data/lib/hobo/model.rb +64 -176
- data/lib/hobo/model_controller.rb +67 -54
- data/lib/hobo/model_router.rb +5 -2
- data/lib/hobo/permissions.rb +397 -0
- data/lib/hobo/permissions/associations.rb +167 -0
- data/lib/hobo/scopes.rb +15 -38
- data/lib/hobo/scopes/association_proxy_extensions.rb +15 -5
- data/lib/hobo/scopes/automatic_scopes.rb +43 -18
- data/lib/hobo/scopes/named_scope_extensions.rb +2 -2
- data/lib/hobo/user.rb +10 -4
- data/lib/hobo/user_controller.rb +6 -5
- data/lib/hobo/view_hints.rb +58 -0
- data/rails_generators/hobo/hobo_generator.rb +7 -3
- data/rails_generators/hobo/templates/guest.rb +1 -13
- data/rails_generators/hobo_front_controller/hobo_front_controller_generator.rb +1 -1
- data/rails_generators/hobo_model/hobo_model_generator.rb +4 -2
- data/rails_generators/hobo_model/templates/hints.rb +4 -0
- data/rails_generators/hobo_model/templates/model.rb +8 -8
- data/rails_generators/hobo_model_controller/hobo_model_controller_generator.rb +10 -0
- data/rails_generators/hobo_model_controller/templates/controller.rb +1 -1
- data/rails_generators/hobo_rapid/templates/hobo-rapid.js +91 -56
- data/rails_generators/hobo_rapid/templates/lowpro.js +15 -15
- data/rails_generators/hobo_rapid/templates/reset.css +36 -3
- data/rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/clean.css +13 -17
- data/rails_generators/hobo_user_controller/templates/controller.rb +1 -1
- data/rails_generators/hobo_user_model/templates/model.rb +18 -16
- data/taglibs/core.dryml +60 -18
- data/taglibs/rapid.dryml +8 -401
- data/taglibs/rapid_core.dryml +586 -0
- data/taglibs/rapid_document_tags.dryml +28 -10
- data/taglibs/rapid_editing.dryml +92 -55
- data/taglibs/rapid_forms.dryml +406 -87
- data/taglibs/rapid_generics.dryml +1 -1
- data/taglibs/rapid_navigation.dryml +2 -1
- data/taglibs/rapid_pages.dryml +7 -16
- data/taglibs/rapid_plus.dryml +39 -14
- data/taglibs/rapid_support.dryml +1 -1
- data/taglibs/rapid_user_pages.dryml +14 -4
- data/tasks/{generate_tag_reference.rb → generate_tag_reference.rake} +49 -18
- data/tasks/hobo_tasks.rake +16 -0
- data/test/permissions/models/models.rb +134 -0
- data/test/permissions/models/schema.rb +55 -0
- data/test/permissions/models/test.sqlite3 +0 -0
- data/test/permissions/test_permissions.rb +436 -0
- metadata +27 -14
- data/lib/hobo/mass_assignment.rb +0 -64
- data/rails_generators/hobo/templates/patch_routing.rb +0 -30
- data/uninstall.rb +0 -1
data/CHANGES.txt
CHANGED
@@ -1,3 +1,333 @@
|
|
1
|
+
=== Hobo 0.8.4 ===
|
2
|
+
|
3
|
+
Rails 2.2 compatible. Rails 2.1 support dropped.
|
4
|
+
|
5
|
+
Removing the Rails routing patch (from the hobo generator) that is no longer needed.
|
6
|
+
Existing apps can delete this from config/initializers/patch_routing.rb
|
7
|
+
|
8
|
+
BREAKING: New permission system
|
9
|
+
|
10
|
+
This is the major feature of this release. The big change is that we now use the dirty tracking features
|
11
|
+
of Active Record for update permission, rather than passing that weird 'new' object. We also use the
|
12
|
+
acting_user method throughout, rather than passing the user as an argument.
|
13
|
+
|
14
|
+
See the docs online: http://cookbook.hobocentral.net/manual/permissions
|
15
|
+
|
16
|
+
|
17
|
+
Removing special Hobo semantics for association.new which was breaking the Rails API, and added
|
18
|
+
#new_candidate
|
19
|
+
|
20
|
+
association.new_candidate instantiates the record but does not add it to the collection.
|
21
|
+
|
22
|
+
Fix to linkable? helpers when context responds to origin but is not a collection
|
23
|
+
|
24
|
+
POSSIBLY BREAKING: Improved multi-model form support
|
25
|
+
|
26
|
+
has_many and belongs_to now support the :accessible => true option, which allows mass-asssignment of
|
27
|
+
attributes to work with sub-hashes that correspond to associations. Docs to follow!
|
28
|
+
|
29
|
+
BREAKING: Lifecycle improvements
|
30
|
+
|
31
|
+
The lifecycle DSL has been tidied up. Various changes to the semantics.
|
32
|
+
|
33
|
+
Lifecycle validations are now supported (e.g. validates_presence_of :foo, :on => :my_transition)
|
34
|
+
|
35
|
+
Also small improvements to the controller layer lifecycles support
|
36
|
+
|
37
|
+
See: http://cookbook.hobocentral.net/manual/lifecycles
|
38
|
+
|
39
|
+
New ViewHints mechanism
|
40
|
+
|
41
|
+
Classes in app/viewhints are a place to declare things about your models that are view layer concerns.
|
42
|
+
For example, you can give the presenation name for a field if this should be different from the back-end
|
43
|
+
name. You can give "field help" for each field. You can specify which collections are the "children" of a
|
44
|
+
model from a UI point of view.
|
45
|
+
|
46
|
+
Rapid <select-many> -- removed use of <a-or-an> as it gets some words wrong (e.g. "an user")
|
47
|
+
|
48
|
+
Rapid -- moved <or-cancel> to rapid_forms.dryml
|
49
|
+
|
50
|
+
Model controller fix -- owner instance variable should be named after the association, not the class (e.g.
|
51
|
+
@author, not @user)
|
52
|
+
|
53
|
+
View hints fix -- inconsistent results due to class reloading problem in dev mode (was causing inconsistent
|
54
|
+
Rapid pages to be generated)
|
55
|
+
|
56
|
+
Hobo Models -- added support for 1-to-1 relationships to Hobo::Model.reverse_reflection
|
57
|
+
|
58
|
+
This puts us a step closer to better support for 1-to-1 relationships in various places, e.g. for owner
|
59
|
+
actions
|
60
|
+
|
61
|
+
Improved error message when declaring auto_actions_for on an association that doesn't have the
|
62
|
+
corresponding reverse-reflection
|
63
|
+
|
64
|
+
Fixed query_params helper -- should URI decode the parameters
|
65
|
+
|
66
|
+
Rapid -- simplified <filter-menu> (no need for a hidden tag)
|
67
|
+
|
68
|
+
Rapid pages -- added <heading:> parameter to account page
|
69
|
+
|
70
|
+
DRYML -- fix to merge-attrs="a, b, c"
|
71
|
+
|
72
|
+
Rapid <input-many> -- added support for disable attribute
|
73
|
+
|
74
|
+
Fix to <hobo-rapid-javascripts> when forgery protection is disabled
|
75
|
+
|
76
|
+
User model - validates_presence_of password confirmation, in addition to validates_confirmation_of
|
77
|
+
|
78
|
+
Fixes #310 - thanks to Jaub Suder
|
79
|
+
|
80
|
+
BREAKING: Rapid page generators -- Renamed 'primary-content' parameter in <show-page> to 'description'
|
81
|
+
|
82
|
+
User controller -- made account action follow the auto_actions declaration
|
83
|
+
|
84
|
+
Changed hobo->hobofields->hobosupport gem dependency rules to require the exact version
|
85
|
+
|
86
|
+
User model generator -- Hobo apps now have people log in with their email address by default, and the user
|
87
|
+
has a 'name' field rather than 'username'.
|
88
|
+
|
89
|
+
Note this will not effect existing apps
|
90
|
+
|
91
|
+
Clean theme - fix to styling of login page in IE6
|
92
|
+
|
93
|
+
Rapid javascripts -- fix to in-place-editor errors not showing up properly (#324). Thanks to Jakub Suder
|
94
|
+
|
95
|
+
DRYML -- fixed duplicate ID bug with ajax parts (#326)
|
96
|
+
|
97
|
+
POSSIBLY BREAKING: Models -- removed support for chronic parsing of times / dates.
|
98
|
+
|
99
|
+
Was wrong to hardwire this support in for every date/time field. Will be added back in as a rich type
|
100
|
+
at some point
|
101
|
+
|
102
|
+
Scopes - Fixed association.conditions with scopes for has_many :through
|
103
|
+
|
104
|
+
Rapid <hidden-fields> -- now honours the 'skip' attribute under all circumstances
|
105
|
+
|
106
|
+
Rapid <page> -- app-stylesheet param, to make it easier to add in custom stylesheets, but have them
|
107
|
+
*before* application.css
|
108
|
+
|
109
|
+
Rapid <stylesheet> -- call stylesheet_link_tag once only so that asset combining is supported
|
110
|
+
|
111
|
+
DRYML -- allow <include plugin="foo"/> as a shorthand for <include src="foo" plugin="foo"/>
|
112
|
+
|
113
|
+
Removed super_user? and adminstrator? from Hobo::Guest, and added administrator? to Guest generator
|
114
|
+
|
115
|
+
administrator? should not be present at all in core Hobo, it's just a default starting point
|
116
|
+
|
117
|
+
Rapid <input for='boolean'> -- don't add the hidden field if the checkbox is disabled - thanks to Tola.
|
118
|
+
|
119
|
+
Rapid <nav-item> -- Fix to 'current' CSS class when a body is not given
|
120
|
+
|
121
|
+
Rapid pages -- fix to selecting current nav item
|
122
|
+
|
123
|
+
Added hobo:run_standard_generators task (*NIX only)
|
124
|
+
|
125
|
+
Guest - changed default #to_s and #login to use lower case
|
126
|
+
|
127
|
+
Rapid <remote-method-button> -- allow method name to use dashes, and raise an error if there's no such web
|
128
|
+
method
|
129
|
+
|
130
|
+
DRYML -- never run DRYML generators in production mode. Instead run
|
131
|
+
|
132
|
+
rake hobo:generate_taglibs
|
133
|
+
|
134
|
+
Rapid JavaScripts -- adding custom events to <select-many>
|
135
|
+
|
136
|
+
Rapid JavaScript -- added option to specify { message: false } on ajaxRequest to disable the spinner
|
137
|
+
|
138
|
+
Model Controller -- fix to re_render_form when in a subsite
|
139
|
+
|
140
|
+
hobo_model_controller generator -- adding support for generating subsite controllers
|
141
|
+
|
142
|
+
HoboSupport -- adding remove and remove_all (plus mutating versions with a !) to string - better name for
|
143
|
+
sub(x, '')
|
144
|
+
|
145
|
+
DRYML -- added support for scope.even_odd to the attribute version of repeat (was only on the tag version)
|
146
|
+
|
147
|
+
DRYML -- improved error message for mixed param / non-param tags
|
148
|
+
|
149
|
+
Model controller -- fix to index actions on non-paginated formats (was passing will-paginate options to a
|
150
|
+
regular find)
|
151
|
+
|
152
|
+
Migration generator -- adding option: --force-drop-yes-i-really-mean-it-i-know-what-i-am-doing-dammit
|
153
|
+
|
154
|
+
Not really, it's actually just --force-drop
|
155
|
+
|
156
|
+
With this option it won't ask you "drop or rename?" it will just drop
|
157
|
+
|
158
|
+
HoboFields -- fix to EnumString when values are not valid contant names
|
159
|
+
|
160
|
+
Rapid -- added support for 'disabled' to <select-many>
|
161
|
+
|
162
|
+
Enhanced ajax mechanism so that it can refresh form inputs (was previously not able to figure out the name
|
163
|
+
attributes)
|
164
|
+
|
165
|
+
Rapid -- adding support for 'disabled' attribute to <select-one>
|
166
|
+
|
167
|
+
Rapid -- added a 'no-edit' attribute to <input> and <field-list>. Gives control over how
|
168
|
+
non-editable fields are handled.
|
169
|
+
|
170
|
+
- view: render the current value using the `<view>` tag
|
171
|
+
- disable: render the input as normal, but add HTML's `disabled` attribute
|
172
|
+
- skip: render nothing at all
|
173
|
+
- ignore: render the input normally. That is, don't even perform the edit check.
|
174
|
+
|
175
|
+
|
176
|
+
Added <dev-user-changer> to the user 'simple pages' (login, signup...)
|
177
|
+
|
178
|
+
User conrtroller -- redirect to home_page if a logged-in user visits the login page
|
179
|
+
|
180
|
+
Model controller -- fix to lifecycle form inputs not showing up after a validation error
|
181
|
+
|
182
|
+
Rapid -- changed rules for <delete-button> chosing whether to be in-place or not
|
183
|
+
|
184
|
+
BREAKING (minor): removed 'type' attribute from <type-name>
|
185
|
+
|
186
|
+
BREAKING (minor): Rapid -- renamed 'separator' attribute of <comma-list> to 'join'
|
187
|
+
|
188
|
+
Rapid -- moved live-search and filter-menu tags into rapid_plus
|
189
|
+
|
190
|
+
Rapid -- removed unused <belongs-to-view>. Renamed <has-many-view> to <collection-view>, made it
|
191
|
+
polymorphic, and extracted the default definition as <links-for-collection>
|
192
|
+
|
193
|
+
Rapid -- tweak to behaviour of <name>. Is now more sensible when called on a non-AR class
|
194
|
+
|
195
|
+
Re-organisation and documentation for Rapid Document Tags
|
196
|
+
|
197
|
+
BREAKING: Deleted <panel> tag.
|
198
|
+
|
199
|
+
Models - fix to overriding of not_found and permission_denied in applicatin controller. Also fix to bug in
|
200
|
+
permission denied
|
201
|
+
|
202
|
+
Models -- fix to preceding dashes in to_param (sometimes showed up in the URL)
|
203
|
+
|
204
|
+
DRYML -- allow - instead of _ in repeat/if/unless, when not code attribute
|
205
|
+
|
206
|
+
HoboSupport - re-org of the file layout
|
207
|
+
|
208
|
+
HoboFields -- new rich type :serialized (HoboFields::SerializedObject)
|
209
|
+
|
210
|
+
example usage: foo :serialized, :class => Array
|
211
|
+
|
212
|
+
Also some fixes to wrapping of rich types that were needed
|
213
|
+
|
214
|
+
HoboFields -- adding 'declared' callback to rich types. Called whenever a field of that type is declared
|
215
|
+
|
216
|
+
See HoboFields::HtmlString for an example
|
217
|
+
|
218
|
+
HoboFields -- new types RawHtmlString and RawMarkdownString that are not sanitized. Plus fix to sanitizing
|
219
|
+
|
220
|
+
DRYML -- new DrymlDoc facility. Starting point for a roll-your-own documentation generator
|
221
|
+
|
222
|
+
Used to generate the cookbook taglib API reference.
|
223
|
+
|
224
|
+
hobo_front_controller generator -- use map.root for adding the root route
|
225
|
+
|
226
|
+
Model controller -- can call #re_render_form without an arg (for when you know params[:page_path] is set)
|
227
|
+
|
228
|
+
Support for non-numeric model IDs
|
229
|
+
|
230
|
+
Rails has no problems with these but Hobo was assuming integer IDs in a few places.
|
231
|
+
|
232
|
+
Fix to default ApplicationController#home_page -- was broken when the app lives in a sub-directory
|
233
|
+
|
234
|
+
Rapid -- allow '-' instead of '_' in <with-fields> (and therefore, <field-list> and <table field='...'>)
|
235
|
+
|
236
|
+
Rapid -- made <select-many> submit IDs instead of names, so that it also works with models that don't have a
|
237
|
+
unique name
|
238
|
+
|
239
|
+
Cleanup of dom_id / typed_id.
|
240
|
+
|
241
|
+
We now use the term "typed id" throughout to refer to a string that includes a model name and an ID.
|
242
|
+
|
243
|
+
These now use ':' instead of '_' as the model-name/id separator, which has the benefit of allowing
|
244
|
+
non-integer keys
|
245
|
+
|
246
|
+
HoboSupport -- adding String#safe_constantize. Returns nil (instead of raising a NameError) the constant
|
247
|
+
does not exist and cannot be loaded by ActiveSupport
|
248
|
+
|
249
|
+
BREAKING. Rapid pages -- separated out application.js from other JS includes and added a <custom-scripts:>
|
250
|
+
parameter
|
251
|
+
|
252
|
+
Adding extra scripts using this new parameter will ensure application.js comes last and can thus override
|
253
|
+
behaviour of custom scripts.
|
254
|
+
|
255
|
+
This is a breaking change because apps that have customised the list of JS includes might not now have
|
256
|
+
the set of scripts they expect
|
257
|
+
|
258
|
+
Rapid - adding polymorphic <collection-input> tag as a place to define the kind of input you want used for
|
259
|
+
collections of a given model
|
260
|
+
|
261
|
+
Rapid javascripts -- making non-ajax HTML Editor pluggable
|
262
|
+
|
263
|
+
Plugins assign a function to Hobo.makeHtmlEditor. See hoboyui plugin for an example (github.com/tablatom)
|
264
|
+
|
265
|
+
Adding XSS protection to HoboFields rich types (Sanitizing)
|
266
|
+
|
267
|
+
Rapid -- new tag <check-many>. Add remove items to a has_many :through by checking the ones you want. Obviously
|
268
|
+
this is only suitable when the number of items in the target model is small. (e.g. blog post categories)
|
269
|
+
|
270
|
+
Page generators -- better titles for collection previews in aside on a user's page
|
271
|
+
|
272
|
+
Page generators -- improved collection heading on show-page for a user
|
273
|
+
|
274
|
+
Fixes to "remember me"
|
275
|
+
|
276
|
+
Card generator -- observe view-hints when putting a count on the card
|
277
|
+
|
278
|
+
Rapid -- change to css classes on new-object forms (was 'new-post' now 'new post')
|
279
|
+
|
280
|
+
Rapid -- workaround for the fact that Maruku defines a to_html method on String
|
281
|
+
|
282
|
+
Page generators -- changed heading used on <edit-page>
|
283
|
+
|
284
|
+
HoboSupport -- added Object#present? that is on it's way from edge Rails (will remove when Rails provides
|
285
|
+
this)
|
286
|
+
|
287
|
+
User pages:
|
288
|
+
|
289
|
+
Added editing of email address to user's account page
|
290
|
+
|
291
|
+
Got rid of <change-password-form>
|
292
|
+
|
293
|
+
Rapid plus -- added <preview-with-more> and <gravatar> tags
|
294
|
+
|
295
|
+
Rapid -- removed unimplemented if-content attribute from base <card>
|
296
|
+
|
297
|
+
Rapid -- fixed class name dash problem in <name-one>
|
298
|
+
|
299
|
+
User model generator -- allow users to change their email address by default
|
300
|
+
|
301
|
+
Automatic scopes
|
302
|
+
|
303
|
+
extended with_things and without_things automatic scopes so that they work without arguments.
|
304
|
+
|
305
|
+
e.g. Question.with_answers and Question.without_answers
|
306
|
+
|
307
|
+
Automatic scopes -- have 'recent' scope just do a 'limit x' if there is no created_at column (used to
|
308
|
+
blow up)
|
309
|
+
|
310
|
+
Model Controller, allow :scope => :some_scope_name on index_action
|
311
|
+
|
312
|
+
Made object_url handle a scoped class (gives the index url, e.g. /posts)
|
313
|
+
|
314
|
+
Rapid generators -- fixed bug where some cards had title when they should not have
|
315
|
+
|
316
|
+
Rapid generators -- smarter index-for-owner page when the owner is a user
|
317
|
+
|
318
|
+
Rapid generators -- fixed wrongly named param in for new-for-ower pages
|
319
|
+
|
320
|
+
User controller generator -- remove :new action by default
|
321
|
+
|
322
|
+
DRYML - fixed problem where parameters where conflicting rather than merging
|
323
|
+
|
324
|
+
Improvements to reset stylesheet - strong, em and code now render as expetced
|
325
|
+
|
326
|
+
Moved all the tags defined in rapid.dryml into a new included file rapid_core.dryml to make it easier to
|
327
|
+
include only parts of the tag library if required
|
328
|
+
|
329
|
+
|
330
|
+
|
1
331
|
=== Hobo 0.8.3 ===
|
2
332
|
|
3
333
|
Hobo models -- improvements to logic for validating passwords. Closes #281
|
data/Manifest
CHANGED
@@ -9,12 +9,14 @@ lib/active_record/association_collection.rb
|
|
9
9
|
lib/active_record/association_proxy.rb
|
10
10
|
lib/active_record/association_reflection.rb
|
11
11
|
lib/extensions/test_case.rb
|
12
|
+
lib/hobo/accessible_associations.rb
|
12
13
|
lib/hobo/authentication_support.rb
|
13
14
|
lib/hobo/bundle.rb
|
14
15
|
lib/hobo/composite_model.rb
|
15
16
|
lib/hobo/controller.rb
|
16
17
|
lib/hobo/dev_controller.rb
|
17
18
|
lib/hobo/dryml/dryml_builder.rb
|
19
|
+
lib/hobo/dryml/dryml_doc.rb
|
18
20
|
lib/hobo/dryml/dryml_generator.rb
|
19
21
|
lib/hobo/dryml/dryml_support_controller.rb
|
20
22
|
lib/hobo/dryml/parser/attribute.rb
|
@@ -45,11 +47,12 @@ lib/hobo/lifecycles/lifecycle.rb
|
|
45
47
|
lib/hobo/lifecycles/state.rb
|
46
48
|
lib/hobo/lifecycles/transition.rb
|
47
49
|
lib/hobo/lifecycles.rb
|
48
|
-
lib/hobo/mass_assignment.rb
|
49
50
|
lib/hobo/model.rb
|
50
51
|
lib/hobo/model_controller.rb
|
51
52
|
lib/hobo/model_router.rb
|
52
53
|
lib/hobo/model_support.rb
|
54
|
+
lib/hobo/permissions/associations.rb
|
55
|
+
lib/hobo/permissions.rb
|
53
56
|
lib/hobo/rapid_helper.rb
|
54
57
|
lib/hobo/scopes/apply_scopes.rb
|
55
58
|
lib/hobo/scopes/association_proxy_extensions.rb
|
@@ -61,6 +64,7 @@ lib/hobo/undefined.rb
|
|
61
64
|
lib/hobo/undefined_access_error.rb
|
62
65
|
lib/hobo/user.rb
|
63
66
|
lib/hobo/user_controller.rb
|
67
|
+
lib/hobo/view_hints.rb
|
64
68
|
lib/hobo.rb
|
65
69
|
LICENSE.txt
|
66
70
|
Manifest
|
@@ -70,7 +74,6 @@ rails_generators/hobo/templates/application.dryml
|
|
70
74
|
rails_generators/hobo/templates/dryml-support.js
|
71
75
|
rails_generators/hobo/templates/guest.rb
|
72
76
|
rails_generators/hobo/templates/initializer.rb
|
73
|
-
rails_generators/hobo/templates/patch_routing.rb
|
74
77
|
rails_generators/hobo_front_controller/hobo_front_controller_generator.rb
|
75
78
|
rails_generators/hobo_front_controller/templates/controller.rb
|
76
79
|
rails_generators/hobo_front_controller/templates/functional_test.rb
|
@@ -79,6 +82,7 @@ rails_generators/hobo_front_controller/templates/index.dryml
|
|
79
82
|
rails_generators/hobo_front_controller/USAGE
|
80
83
|
rails_generators/hobo_model/hobo_model_generator.rb
|
81
84
|
rails_generators/hobo_model/templates/fixtures.yml
|
85
|
+
rails_generators/hobo_model/templates/hints.rb
|
82
86
|
rails_generators/hobo_model/templates/model.rb
|
83
87
|
rails_generators/hobo_model/templates/unit_test.rb
|
84
88
|
rails_generators/hobo_model/USAGE
|
@@ -127,6 +131,7 @@ script/destroy
|
|
127
131
|
script/generate
|
128
132
|
taglibs/core.dryml
|
129
133
|
taglibs/rapid.dryml
|
134
|
+
taglibs/rapid_core.dryml
|
130
135
|
taglibs/rapid_document_tags.dryml
|
131
136
|
taglibs/rapid_editing.dryml
|
132
137
|
taglibs/rapid_forms.dryml
|
@@ -139,9 +144,12 @@ taglibs/rapid_support.dryml
|
|
139
144
|
taglibs/rapid_user_pages.dryml
|
140
145
|
tasks/environments.rake
|
141
146
|
tasks/fix_dryml.rake
|
142
|
-
tasks/generate_tag_reference.
|
147
|
+
tasks/generate_tag_reference.rake
|
143
148
|
tasks/hobo_tasks.rake
|
144
149
|
test/generators/test_generator_helper.rb
|
145
150
|
test/generators/test_helper.rb
|
146
151
|
test/generators/test_hobo_model_controller_generator.rb
|
147
|
-
|
152
|
+
test/permissions/models/models.rb
|
153
|
+
test/permissions/models/schema.rb
|
154
|
+
test/permissions/models/test.sqlite3
|
155
|
+
test/permissions/test_permissions.rb
|
data/Rakefile
CHANGED
@@ -2,8 +2,6 @@ require 'rake'
|
|
2
2
|
require 'rake/rdoctask'
|
3
3
|
require 'rake/testtask'
|
4
4
|
|
5
|
-
load "tasks/generate_tag_reference.rb"
|
6
|
-
|
7
5
|
desc "Default Task"
|
8
6
|
task :default => [ :test ]
|
9
7
|
|
@@ -42,12 +40,12 @@ Echoe.new('hobo') do |p|
|
|
42
40
|
p.project = "hobo"
|
43
41
|
|
44
42
|
p.changelog = "CHANGES.txt"
|
45
|
-
p.version = "0.8.
|
43
|
+
p.version = "0.8.4"
|
46
44
|
|
47
45
|
p.dependencies = [
|
48
|
-
'hobosupport
|
49
|
-
'hobofields
|
50
|
-
'rails >=2.
|
46
|
+
'hobosupport =0.8.4',
|
47
|
+
'hobofields =0.8.4',
|
48
|
+
'rails >=2.2.2',
|
51
49
|
'mislav-will_paginate >=2.2.1']
|
52
50
|
|
53
51
|
p.development_dependencies = []
|
@@ -3,7 +3,7 @@
|
|
3
3
|
name_attribute = model.name_attribute
|
4
4
|
content_attribute = model.primary_content_attribute
|
5
5
|
creator_attribute = model.creator_attribute
|
6
|
-
primary_collection =
|
6
|
+
primary_collection = model.view_hints.primary_children
|
7
7
|
|
8
8
|
if creator_attribute
|
9
9
|
creator_refl = model.reflections[creator_attribute]
|
@@ -16,12 +16,16 @@ delete_button = !show_link && !edit_link && linkable?(:destroy, :method => :dele
|
|
16
16
|
|
17
17
|
has_actions = edit_link || delete_button
|
18
18
|
has_body = (!show_link && content_attribute) || creator_link || creator_attribute || primary_collection
|
19
|
+
|
20
|
+
show_title = !show_link && (name_attribute || !has_body)
|
19
21
|
-%>
|
20
22
|
<def tag="card" for="<%= model.name %>">
|
21
23
|
<card class="<%= model_name :dashed %>" param="default" merge>
|
22
24
|
<% if name_attribute || show_link || has_actions || !has_body -%>
|
23
25
|
<header: param>
|
26
|
+
<% if show_link || show_title -%>
|
24
27
|
<h4 param="heading"><% if show_link %><a><name/></a><% else %><name/><% end %></h4>
|
28
|
+
<% end -%>
|
25
29
|
<% if has_actions -%>
|
26
30
|
<div param="actions">
|
27
31
|
<% if edit_link -%>
|