hobo 0.6.2 → 0.6.3
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/bin/hobo +21 -22
- data/hobo_files/plugin/CHANGES.txt +429 -4
- data/hobo_files/plugin/Rakefile +2 -2
- data/hobo_files/plugin/generators/hobo_front_controller/templates/index.dryml +6 -5
- data/hobo_files/plugin/generators/hobo_front_controller/templates/search.dryml +2 -2
- data/hobo_files/plugin/generators/hobo_migration/hobo_migration_generator.rb +20 -15
- data/hobo_files/plugin/generators/hobo_model/templates/model.rb +1 -0
- data/hobo_files/plugin/generators/hobo_model_controller/templates/controller.rb +2 -0
- data/hobo_files/plugin/generators/hobo_rapid/templates/hobo_base.css +1 -2
- data/hobo_files/plugin/generators/hobo_rapid/templates/hobo_rapid.css +4 -3
- data/hobo_files/plugin/generators/hobo_rapid/templates/hobo_rapid.js +94 -12
- data/hobo_files/plugin/generators/hobo_rapid/templates/lowpro.js +5 -183
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/public/stylesheets/application.css +1 -1
- data/hobo_files/plugin/generators/hobo_rapid/templates/themes/default/views/application.dryml +23 -1
- data/hobo_files/plugin/generators/hobo_user_controller/templates/controller.rb +2 -0
- data/hobo_files/plugin/generators/hobo_user_model/templates/model.rb +3 -1
- data/hobo_files/plugin/init.rb +18 -7
- data/hobo_files/plugin/lib/active_record/has_many_association.rb +2 -2
- data/hobo_files/plugin/lib/extensions.rb +56 -12
- data/hobo_files/plugin/lib/hobo.rb +25 -88
- data/hobo_files/plugin/lib/hobo/composite_model.rb +2 -0
- data/hobo_files/plugin/lib/hobo/controller.rb +40 -20
- data/hobo_files/plugin/lib/hobo/dryml.rb +122 -106
- data/hobo_files/plugin/lib/hobo/dryml/dryml_builder.rb +2 -1
- data/hobo_files/plugin/lib/hobo/dryml/part_context.rb +3 -2
- data/hobo_files/plugin/lib/hobo/dryml/taglib.rb +19 -3
- data/hobo_files/plugin/lib/hobo/dryml/template.rb +40 -25
- data/hobo_files/plugin/lib/hobo/dryml/template_environment.rb +41 -20
- data/hobo_files/plugin/lib/hobo/email_address.rb +4 -1
- data/hobo_files/plugin/lib/hobo/enum_string.rb +50 -0
- data/hobo_files/plugin/lib/hobo/field_declaration_dsl.rb +36 -0
- data/hobo_files/plugin/lib/hobo/field_spec.rb +4 -7
- data/hobo_files/plugin/lib/hobo/hobo_helper.rb +47 -44
- data/hobo_files/plugin/lib/hobo/html_string.rb +2 -0
- data/hobo_files/plugin/lib/hobo/markdown_string.rb +2 -0
- data/hobo_files/plugin/lib/hobo/model.rb +158 -89
- data/hobo_files/plugin/lib/hobo/model_controller.rb +422 -376
- data/hobo_files/plugin/lib/hobo/model_queries.rb +1 -1
- data/hobo_files/plugin/lib/hobo/model_router.rb +174 -0
- data/hobo_files/plugin/lib/hobo/password_string.rb +2 -0
- data/hobo_files/plugin/lib/hobo/percentage.rb +14 -0
- data/hobo_files/plugin/lib/hobo/plugins.rb +4 -4
- data/hobo_files/plugin/lib/hobo/rapid_helper.rb +10 -2
- data/hobo_files/plugin/lib/hobo/text.rb +3 -3
- data/hobo_files/plugin/lib/hobo/textile_string.rb +2 -0
- data/hobo_files/plugin/lib/hobo/undefined.rb +3 -2
- data/hobo_files/plugin/lib/hobo/{authenticated_user.rb → user.rb} +10 -3
- data/hobo_files/plugin/lib/hobo/user_controller.rb +27 -23
- data/hobo_files/plugin/tags/core.dryml +8 -2
- data/hobo_files/plugin/tags/rapid.dryml +52 -40
- data/hobo_files/plugin/tags/rapid_document_tags.dryml +15 -11
- data/hobo_files/plugin/tags/rapid_editing.dryml +41 -9
- data/hobo_files/plugin/tags/rapid_forms.dryml +136 -36
- data/hobo_files/plugin/tags/rapid_navigation.dryml +2 -2
- data/hobo_files/plugin/tags/rapid_pages.dryml +204 -221
- data/hobo_files/plugin/tags/rapid_plus.dryml +8 -6
- data/hobo_files/plugin/tags/rapid_support.dryml +2 -3
- metadata +44 -42
- data/hobo_files/plugin/lib/hobo/define_tags.rb +0 -56
- data/hobo_files/plugin/lib/hobo/http_parameters.rb +0 -225
data/bin/hobo
CHANGED
@@ -3,9 +3,9 @@
|
|
3
3
|
require 'fileutils'
|
4
4
|
Signal.trap("INT") { puts; exit }
|
5
5
|
|
6
|
-
|
6
|
+
hobo_src = File.join(File.dirname(__FILE__), "../hobo_files/plugin")
|
7
7
|
|
8
|
-
USAGE = "USAGE: hobo
|
8
|
+
USAGE = "USAGE: hobo [ --user-model <model-name-or-false> ] [ --svn ] [--db] [--hobo-src <path to hobo src>] <app-path>"
|
9
9
|
|
10
10
|
HOBO_REPO = "svn://hobocentral.net/hobo/trunk/hobo"
|
11
11
|
|
@@ -22,8 +22,8 @@ end
|
|
22
22
|
### end nasty stuff ###
|
23
23
|
|
24
24
|
|
25
|
-
def command(s)
|
26
|
-
ok = system(s)
|
25
|
+
def command(*s)
|
26
|
+
ok = system(s.join(' '))
|
27
27
|
exit(1) unless ok
|
28
28
|
end
|
29
29
|
|
@@ -32,10 +32,10 @@ if ARGV.length == 0 || ARGV.include?("--help")
|
|
32
32
|
exit 1
|
33
33
|
end
|
34
34
|
|
35
|
-
app_path = ARGV.
|
35
|
+
app_path = ARGV.pop
|
36
36
|
|
37
37
|
user_model = "user"
|
38
|
-
hobo_svn = false
|
38
|
+
hobo_svn = create_db = false
|
39
39
|
|
40
40
|
until ARGV.empty?
|
41
41
|
case ARGV.shift
|
@@ -44,42 +44,36 @@ until ARGV.empty?
|
|
44
44
|
user_model = arg == "false" ? nil : arg
|
45
45
|
when "--svn"
|
46
46
|
hobo_svn = true
|
47
|
+
when "--db"
|
48
|
+
create_db = true
|
49
|
+
when "--hobo-src"
|
50
|
+
hobo_src = "../" + ARGV.shift
|
47
51
|
else
|
48
52
|
puts USAGE
|
49
53
|
exit 1
|
50
54
|
end
|
51
55
|
end
|
52
56
|
|
53
|
-
|
54
|
-
(
|
57
|
+
puts "\nGenerating Rails app...\n"
|
58
|
+
system("rails #{app_path}")
|
55
59
|
|
56
60
|
Dir.chdir(app_path) do
|
57
61
|
gen = "ruby #{File.join('script', 'generate')}"
|
58
62
|
plugin = "ruby #{File.join('script', 'plugin')}"
|
59
63
|
|
60
|
-
puts "\nChecking out Edge Rails...\n"
|
61
|
-
system("svn co http://dev.rubyonrails.org/svn/rails/trunk vendor/rails") or
|
62
|
-
begin
|
63
|
-
puts "Could not check out Edge Rails - maybe svn is not installed?"
|
64
|
-
exit 1
|
65
|
-
end
|
66
|
-
|
67
|
-
puts "\nGenerating Edge Rails application...\n"
|
68
|
-
command("ruby #{File.join('vendor', 'rails', 'railties', 'bin', 'rails')} .")
|
69
|
-
|
70
64
|
puts "\nInstalling classic_pagination\n"
|
71
|
-
command(
|
65
|
+
command(plugin, "install svn://errtheblog.com/svn/plugins/classic_pagination")
|
72
66
|
|
73
67
|
if hobo_svn
|
74
68
|
puts "\nInstalling Hobo plugin via svn checkout...\n"
|
75
69
|
command("svn co #{HOBO_REPO} vendor/plugins/hobo")
|
76
70
|
else
|
77
|
-
puts "\nInstalling Hobo plugin
|
78
|
-
FileUtils.cp_r
|
71
|
+
puts "\nInstalling Hobo plugin...\n"
|
72
|
+
FileUtils.cp_r hobo_src, "vendor/plugins/hobo"
|
79
73
|
end
|
80
74
|
|
81
75
|
puts "\nInitialising Hobo...\n"
|
82
|
-
command(
|
76
|
+
command(gen, "hobo --add-routes")
|
83
77
|
|
84
78
|
puts "\nInstalling Hobo Rapid and default theme...\n"
|
85
79
|
command("#{gen} hobo_rapid --import-tags")
|
@@ -92,4 +86,9 @@ Dir.chdir(app_path) do
|
|
92
86
|
|
93
87
|
puts "\nCreating standard pages...\n"
|
94
88
|
command("#{gen} hobo_front_controller front --delete-index --add-routes")
|
89
|
+
|
90
|
+
if create_db
|
91
|
+
puts "\nCreating databases"
|
92
|
+
command("rake db:create:all")
|
93
|
+
end
|
95
94
|
end
|
@@ -1,3 +1,430 @@
|
|
1
|
+
=== Release 0.6.3 ===
|
2
|
+
|
3
|
+
New feature: subsites, i.e. namespaced routes, plus support in the
|
4
|
+
controller and view layers. Subsites are created automatically for any
|
5
|
+
directories found in app/controllers. Links default to the current
|
6
|
+
subsite unless you give a subite="..." attribute. The taglib
|
7
|
+
app/views/<subsite>/<subsite-name>.dryml is automatically included in
|
8
|
+
every page in the subsite.
|
9
|
+
|
10
|
+
The out-of-box app is not in great shape in this release, mostly due
|
11
|
+
to problems with the theme. We haven't fixed it because the theme
|
12
|
+
system going to change radically in Hobo 0.7
|
13
|
+
|
14
|
+
New version of lowpro, compatible with Prototype 1.6 (rev 267)
|
15
|
+
|
16
|
+
Change to hobo command:
|
17
|
+
|
18
|
+
hobo [...options...] app-name
|
19
|
+
|
20
|
+
instead of
|
21
|
+
|
22
|
+
hobo app-name [...options...]
|
23
|
+
|
24
|
+
|
25
|
+
Migration generator
|
26
|
+
|
27
|
+
Automatically ignores non-Hobo models (and associated tables)
|
28
|
+
|
29
|
+
Hobo::Migrations.ignore_models is now deprecated.
|
30
|
+
|
31
|
+
Use Hobo::Migrations.ignore to list models that should be
|
32
|
+
ignored. The associated tables are ignored too (rarely needed, as
|
33
|
+
these are probably not Hobo models anyway)
|
34
|
+
|
35
|
+
Hobo::Migrations.ignore_tables is still supported
|
36
|
+
|
37
|
+
Fix: problems with going back to a nil default from a non-nil
|
38
|
+
default.
|
39
|
+
|
40
|
+
|
41
|
+
Hobo model generator
|
42
|
+
|
43
|
+
In line with Rails 2.0, the timestamps declaration is now included
|
44
|
+
by default (it's generally something every model should have).
|
45
|
+
|
46
|
+
|
47
|
+
hobo_base.css
|
48
|
+
|
49
|
+
Removed over-zealous styling of too many elements.
|
50
|
+
|
51
|
+
|
52
|
+
hobo_rapid.css
|
53
|
+
|
54
|
+
Change of class names for validation errors.
|
55
|
+
|
56
|
+
|
57
|
+
hobo_rapid.js
|
58
|
+
|
59
|
+
Now silently ignores update to non-existent part. This is convenient
|
60
|
+
when parts are being added dynamically, but may prove to be a
|
61
|
+
mistake :-)
|
62
|
+
|
63
|
+
Global variable controllerNames is gone. Now use calls to
|
64
|
+
Hobo.pluralise. (Gee I guess we should really standardise on
|
65
|
+
American spellings)
|
66
|
+
|
67
|
+
The 'fade' parameter to removeButton is now an option. Confirmation
|
68
|
+
is now optional too.
|
69
|
+
|
70
|
+
Hobo.partFor returns the part containing a given element. Used in
|
71
|
+
the new update="self" feature.
|
72
|
+
|
73
|
+
LowPro behaviour HasManyThroughInput. This is badly named and will
|
74
|
+
change.
|
75
|
+
|
76
|
+
|
77
|
+
Core extensions
|
78
|
+
|
79
|
+
alias_tag_chain is like alias_method_chain but for DRYML tags
|
80
|
+
|
81
|
+
SafeNil
|
82
|
+
|
83
|
+
Now more efficient (thanks to "steve d" --
|
84
|
+
http://coderrr.wordpress.com)
|
85
|
+
|
86
|
+
Fix when used with DelegateClass
|
87
|
+
|
88
|
+
New method #implies on booleans. Borrowed from Eiffel. Useful in
|
89
|
+
permission methods.
|
90
|
+
|
91
|
+
true.implies false #=> false
|
92
|
+
true.implies true #=> true
|
93
|
+
false.implies x #=> true
|
94
|
+
|
95
|
+
Hash#map_hash. The block is passed only the value if the arity is 1.
|
96
|
+
|
97
|
+
|
98
|
+
DRYML
|
99
|
+
|
100
|
+
The ability to define tags in Ruby is now removed
|
101
|
+
|
102
|
+
Tag extension: <def tag="Page" extend_with="navigation">
|
103
|
+
|
104
|
+
This encapsulates the alias_method_chain pattern. The tag can make
|
105
|
+
a call to <PageWithoutNavigation> to get the old behaviour.
|
106
|
+
|
107
|
+
alias_current_as is gone -- replaced by extend_with
|
108
|
+
|
109
|
+
Fix: some DRYML attributes were leaking through to the output HTML
|
110
|
+
|
111
|
+
part_locals can now be passed instance variable names,
|
112
|
+
e.g. part_locals="@user". Note that inside the part this creates a
|
113
|
+
local variable "user". Don't user @user inside the part. It's just a
|
114
|
+
convenience to avoid the need to do <set user="&@user"/>
|
115
|
+
|
116
|
+
Fix: failure to accumulate CSS class names when merging attributes.
|
117
|
+
|
118
|
+
DRYML now gives the type returned by #field_type (when available)
|
119
|
+
over this.class
|
120
|
+
|
121
|
+
Fix: when overriding a parameter, the <default_tagbody/> of the new
|
122
|
+
parameter would incorrectly provide the old tagbody which should
|
123
|
+
have been overridden.
|
124
|
+
|
125
|
+
hoboParts variable is now set by <hobo_rapid_javascripts> rather
|
126
|
+
than being hard wired in the output from the DRYML compiler.
|
127
|
+
|
128
|
+
Fix: caching problems with tags imported by the include_tablib
|
129
|
+
directive.
|
130
|
+
|
131
|
+
|
132
|
+
AJAX Parts
|
133
|
+
|
134
|
+
Calls to parts, along with the part-state variables are now logged.
|
135
|
+
|
136
|
+
Can now say part="self" when a tag wants to update the part it is
|
137
|
+
contained in (useful for re-usable tags).
|
138
|
+
|
139
|
+
|
140
|
+
Rich data types
|
141
|
+
|
142
|
+
All rich data types now register themselves with Hobo, e.g.
|
143
|
+
|
144
|
+
class Hobo::EmailAddress < String
|
145
|
+
COLUMN_TYPE = :string
|
146
|
+
...
|
147
|
+
end
|
148
|
+
|
149
|
+
Hobo.field_types[:email_address] = Hobo::EmailAddress
|
150
|
+
|
151
|
+
New type builder - enum_string. e.g.
|
152
|
+
|
153
|
+
fields do
|
154
|
+
gender enum_string(:male, :female)
|
155
|
+
end
|
156
|
+
|
157
|
+
You can then do, e.g. if current_user.gender.male?
|
158
|
+
|
159
|
+
(You also automatically get select menu's in your views)
|
160
|
+
|
161
|
+
|
162
|
+
Hobo models
|
163
|
+
|
164
|
+
In fields declaration:
|
165
|
+
|
166
|
+
Got rid of weird thing where providing :length meant the type
|
167
|
+
defaulted to :string
|
168
|
+
|
169
|
+
Can now give classes as well as symbolic names for column types.
|
170
|
+
|
171
|
+
Mass attribute assignment extended to support some features that
|
172
|
+
were in the model controller. e.g. Dates can be represented as
|
173
|
+
Hashes of month, day etc. Chronic will be used to parse dates if
|
174
|
+
available. Object references (e.g. belongs_to relationships) can be
|
175
|
+
set with "@<typed-id>" as before.
|
176
|
+
|
177
|
+
"fields do" can optionally be used with a parameter if you don't
|
178
|
+
like the instance_eval hackery:
|
179
|
+
|
180
|
+
fields do |f|
|
181
|
+
f.name :string
|
182
|
+
end
|
183
|
+
|
184
|
+
belongs_to can be given :null => false, which is passed through to
|
185
|
+
the migration generator.
|
186
|
+
|
187
|
+
New method #column returns the meta-data for the named column.
|
188
|
+
|
189
|
+
#find now returns arrays with a #member_class method
|
190
|
+
|
191
|
+
def_scope
|
192
|
+
|
193
|
+
Chained scopes on a class didn't work at all -- now fixed,
|
194
|
+
e.g. Posts.recent.by_author.find(:all)
|
195
|
+
|
196
|
+
Fix: def_scope with sql parameter interpolation was broken.
|
197
|
+
|
198
|
+
|
199
|
+
#changed_fields, which was next to useless, replaced with
|
200
|
+
#only_changed_fields, which is used to assert that only the given
|
201
|
+
fields have changed.
|
202
|
+
|
203
|
+
|
204
|
+
Hobo user model
|
205
|
+
|
206
|
+
The module is renamed from Hobo::AuthenticatedUser to just
|
207
|
+
Hobo::User
|
208
|
+
|
209
|
+
It is no longer possible to set the login attribute by passing a
|
210
|
+
symbol to hobo_user_model. Go back to using set_login_attr. Didn't
|
211
|
+
work out. It happens sometimes.
|
212
|
+
|
213
|
+
|
214
|
+
Helpers
|
215
|
+
|
216
|
+
#subsite returns the name of the current subsite.
|
217
|
+
|
218
|
+
#object_url can now be passed the siubsite, e.g. :subsite => "admin"
|
219
|
+
|
220
|
+
#object_url can only be passed a single hash of options now (could
|
221
|
+
be passed any ammount before)
|
222
|
+
|
223
|
+
#dom_id now returns "" when a dom_id cannot be generated (used to
|
224
|
+
raise an error)
|
225
|
+
|
226
|
+
#map_this now works with ranges (used by DRYML's repeat)
|
227
|
+
|
228
|
+
#current_page_url returns request.request_uri without the query string
|
229
|
+
|
230
|
+
#query_params now returns a HashWithIndifferentAccess
|
231
|
+
|
232
|
+
Hobo.dom_id now works better with non-hobo models
|
233
|
+
|
234
|
+
|
235
|
+
Permission System
|
236
|
+
|
237
|
+
Fix: view permission was causing errors with non-hobo models. Now
|
238
|
+
defaults to viewable.
|
239
|
+
|
240
|
+
|
241
|
+
Hobo Controller
|
242
|
+
|
243
|
+
include_tablib accepts symbols as well as strings
|
244
|
+
|
245
|
+
#redirect_to now forwards all params to object_url when not given a
|
246
|
+
String, Symbol or Hash
|
247
|
+
|
248
|
+
#hobo_ajax_response no longer need be passed a dryml this
|
249
|
+
|
250
|
+
|
251
|
+
Model controller
|
252
|
+
|
253
|
+
Multiple model creates / updates are gone from the controller
|
254
|
+
layer. Hobo now uses good ol' Rails mass attribute
|
255
|
+
assignment. Coping with multiple object updates should be handled in
|
256
|
+
the model layer. Some features from the model controller have been
|
257
|
+
moved to the model layer, and more will be added in the future.
|
258
|
+
|
259
|
+
Attempts to automatically re-render the correct page after a
|
260
|
+
validation error on create / update using a form parameter
|
261
|
+
"page_path", which the <form> tag provides in a hidden
|
262
|
+
field. Previously assumed the form came from the new / edit action.
|
263
|
+
|
264
|
+
Automatic pagination is now only applied to appropriate
|
265
|
+
mime-types. Add mime-types to Hobo::ModelController.PAGINATE_FORMATS
|
266
|
+
to have them paginated.
|
267
|
+
|
268
|
+
New declaration 'auto_actions' allows you to select which actions
|
269
|
+
Hobo provides for you automatically.
|
270
|
+
|
271
|
+
# White list
|
272
|
+
auto_actions :show, :index
|
273
|
+
|
274
|
+
or
|
275
|
+
|
276
|
+
# Black list
|
277
|
+
auto_action :all, :except => [ :new_comment ]
|
278
|
+
|
279
|
+
You can use :collections to add/remove all collection actions in
|
280
|
+
either the black or white list.
|
281
|
+
|
282
|
+
New declaration 'index_action' declares a new index-like action
|
283
|
+
(similar to show_action)
|
284
|
+
|
285
|
+
index_action, show_action and web_method can now all be given
|
286
|
+
blocks, rather than defining a method of the same name:
|
287
|
+
|
288
|
+
show_action :summary do
|
289
|
+
hobo_show Post.find(params[:id], :include => :comments)
|
290
|
+
end
|
291
|
+
|
292
|
+
Web methods now automatically respond with hobo_ajax_response if the
|
293
|
+
method does not respond.
|
294
|
+
|
295
|
+
#search
|
296
|
+
|
297
|
+
Now less magic (i.e. doesn't operate by side-effecting). It now
|
298
|
+
returns a condition string suitable to be passed to :conditions.
|
299
|
+
|
300
|
+
Can be given a model as the first argument to search on a
|
301
|
+
different model (e.g. for show-collection actions).
|
302
|
+
|
303
|
+
Fix: :paginate => false was broken
|
304
|
+
|
305
|
+
#create, #update and #destroy now set flash messages by default
|
306
|
+
(only on "wants.html" requests)
|
307
|
+
|
308
|
+
<PermissionDeniedPage> used as the default permission denied
|
309
|
+
response.
|
310
|
+
|
311
|
+
<NotFoundPage> used as the default 404 response.
|
312
|
+
|
313
|
+
|
314
|
+
User controller
|
315
|
+
|
316
|
+
Added various customisation options to login and signup
|
317
|
+
|
318
|
+
On login, redirect to #home_page -- you can override this on your
|
319
|
+
controllers.
|
320
|
+
|
321
|
+
The actual name of the login attribute (e.g. "email", "username") is
|
322
|
+
now used in flash messages.
|
323
|
+
|
324
|
+
hobo_logout can now be given a block to customise the response.
|
325
|
+
|
326
|
+
Fixes for validation errors on signup.
|
327
|
+
|
328
|
+
|
329
|
+
Routing
|
330
|
+
|
331
|
+
Routes for non-existent actions are not generated.
|
332
|
+
|
333
|
+
|
334
|
+
Tag library: Core tags
|
335
|
+
|
336
|
+
<wrap> will wrap its content in ther tag specified by tag="..." if
|
337
|
+
when="..." is true.
|
338
|
+
|
339
|
+
Fix: <unless> -- was behaving like <if>
|
340
|
+
|
341
|
+
|
342
|
+
Tag library: Rapid
|
343
|
+
|
344
|
+
<FieldList> now has params <label> and <view> that wrap every label
|
345
|
+
and view. Also <foo_tag> where "foo" is a field-name, is the actual
|
346
|
+
tag that renders the field (e.g. <view> or <edit>)
|
347
|
+
|
348
|
+
<nil_view> can be overridden to customise the way Hobo renders nil
|
349
|
+
values.
|
350
|
+
|
351
|
+
<Table> new attribute 'empty' -- when given the table is rendered
|
352
|
+
even when there are items in the collection.
|
353
|
+
|
354
|
+
<name> now respects view permission properly
|
355
|
+
|
356
|
+
<view> now does a #strip to the output
|
357
|
+
|
358
|
+
<count> -- new attribute if_any - set to true to output nothing if
|
359
|
+
the count is zero.
|
360
|
+
|
361
|
+
|
362
|
+
Tag library: Rapid documents
|
363
|
+
|
364
|
+
The 'document' tags like <section>, <aside> output nothing when the
|
365
|
+
content is blank. Now they can ge given the 'empty' attribute
|
366
|
+
causing the tag to be output even if the content is blank.
|
367
|
+
|
368
|
+
New tag <sub_heading>
|
369
|
+
|
370
|
+
|
371
|
+
Tag library: Rapid forms
|
372
|
+
|
373
|
+
<hidden_fields> will now not output hidden fields for attributes
|
374
|
+
on new records that are in their default state.
|
375
|
+
|
376
|
+
<form> now has a default ajax message for creating new objects.
|
377
|
+
|
378
|
+
<form> now supports forgery protection
|
379
|
+
|
380
|
+
<input> -- better handling of the 'field with errors' wrapper
|
381
|
+
|
382
|
+
<input> for passwords now accepts extra html attributes
|
383
|
+
|
384
|
+
New <input> for enum-strings - a select menu.
|
385
|
+
|
386
|
+
New <input> for big decimals
|
387
|
+
|
388
|
+
<remote_method_button> now supports non ajax remote method calls
|
389
|
+
(when no update="..." is given)
|
390
|
+
|
391
|
+
css classes on buttons renamed from "button_input" to "button"
|
392
|
+
|
393
|
+
<update_button> now supports confirm="&false"
|
394
|
+
|
395
|
+
<belongs_to_menu_input>
|
396
|
+
|
397
|
+
none_message attribute renamed to blank_message
|
398
|
+
|
399
|
+
Conditions on belongs_to are now observed (only eligible records
|
400
|
+
are in the menu)
|
401
|
+
|
402
|
+
New <ErrorMessages> template tag - like the error_messages_for
|
403
|
+
helper with added Hobo goodness.
|
404
|
+
|
405
|
+
|
406
|
+
Tag library: Rapid navigation
|
407
|
+
|
408
|
+
<page_nav> now hides without errors if there is no @pages object
|
409
|
+
|
410
|
+
<nav_item> now ignores nested tags when selecting the current nav
|
411
|
+
item.
|
412
|
+
|
413
|
+
|
414
|
+
Tag library: Rapid pages
|
415
|
+
|
416
|
+
Significant re-factoring of all page tags -- see source :-)
|
417
|
+
|
418
|
+
<javascript name="a, b, c"> tag - like helper javascript_include_tag
|
419
|
+
|
420
|
+
New pages <NotFoundPage> and <PermissionDeinedPage>
|
421
|
+
|
422
|
+
|
423
|
+
Tag library: Rapid support
|
424
|
+
|
425
|
+
<TablePlus> various new params
|
426
|
+
|
427
|
+
|
1
428
|
=== Release 0.6.2 ===
|
2
429
|
|
3
430
|
Specs
|
@@ -24,7 +451,7 @@ Migration generator
|
|
24
451
|
Now prompts for the name of the generated migration after the
|
25
452
|
generated code is displayed.
|
26
453
|
|
27
|
-
Better error message for
|
454
|
+
Better error message for invalid field types declared in models.
|
28
455
|
|
29
456
|
|
30
457
|
Tabla theme
|
@@ -257,9 +684,7 @@ Hobo Rapid
|
|
257
684
|
|
258
685
|
<image> tag removed from default ajax progress.
|
259
686
|
|
260
|
-
|
261
|
-
|
262
|
-
|
687
|
+
|
263
688
|
|
264
689
|
Dryml
|
265
690
|
|