hobo 0.8.7 → 0.8.8
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 +57 -0
- data/Manifest +135 -131
- data/Rakefile +3 -3
- data/hobo.gemspec +10 -10
- data/lib/active_record/viewhints_validations_interceptor.rb +9 -0
- data/lib/hobo.rb +1 -1
- data/lib/hobo/lifecycles.rb +2 -1
- data/lib/hobo/lifecycles/actions.rb +2 -2
- data/lib/hobo/lifecycles/lifecycle.rb +13 -2
- data/lib/hobo/model.rb +8 -1
- data/lib/hobo/model_controller.rb +22 -4
- data/lib/hobo/scopes/automatic_scopes.rb +3 -1
- data/lib/hobo/user_controller.rb +9 -1
- data/rails_generators/hobo_rapid/templates/hobo-rapid.js +1 -1
- data/rails_generators/hobo_rapid/templates/themes/clean/public/images/100-3B5F87-ACD3E6.png +0 -0
- data/rails_generators/hobo_rapid/templates/themes/clean/public/images/300-ACD3E6-fff.png +0 -0
- data/rails_generators/hobo_rapid/templates/themes/clean/public/images/50-ACD3E6-fff.png +0 -0
- data/rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/clean.css +4 -14
- data/rails_generators/hobo_user_model/templates/model.rb +1 -1
- data/taglibs/rapid_core.dryml +1 -1
- data/taglibs/rapid_editing.dryml +4 -1
- data/taglibs/rapid_forms.dryml +48 -23
- data/taglibs/rapid_lifecycles.dryml +1 -0
- data/taglibs/rapid_navigation.dryml +7 -5
- data/taglibs/rapid_plus.dryml +1 -1
- metadata +184 -179
|
@@ -102,6 +102,10 @@ module Hobo
|
|
|
102
102
|
options[:state_field]
|
|
103
103
|
end
|
|
104
104
|
|
|
105
|
+
def self.key_timeout
|
|
106
|
+
options[:key_timeout]
|
|
107
|
+
end
|
|
108
|
+
|
|
105
109
|
|
|
106
110
|
# --- Instance Features --- #
|
|
107
111
|
|
|
@@ -192,6 +196,9 @@ module Hobo
|
|
|
192
196
|
record.class::Lifecycle.options[:key_timestamp_field]
|
|
193
197
|
end
|
|
194
198
|
|
|
199
|
+
def key_timeout
|
|
200
|
+
record.class::Lifecycle.options[:key_timeout]
|
|
201
|
+
end
|
|
195
202
|
|
|
196
203
|
def generate_key
|
|
197
204
|
if Time.zone.nil?
|
|
@@ -212,10 +219,14 @@ module Hobo
|
|
|
212
219
|
end
|
|
213
220
|
end
|
|
214
221
|
|
|
215
|
-
def
|
|
216
|
-
|
|
222
|
+
def key_expired?
|
|
223
|
+
timestamp = record.read_attribute(key_timestamp_field)
|
|
224
|
+
timestamp.nil? || (timestamp.getutc + key_timeout < Time.now.utc)
|
|
217
225
|
end
|
|
218
226
|
|
|
227
|
+
def valid_key?
|
|
228
|
+
provided_key && provided_key == key && !key_expired?
|
|
229
|
+
end
|
|
219
230
|
|
|
220
231
|
def invariants_satisfied?
|
|
221
232
|
self.class.invariants.all? { |i| record.instance_eval(&i) }
|
data/lib/hobo/model.rb
CHANGED
|
@@ -134,6 +134,8 @@ module Hobo
|
|
|
134
134
|
|
|
135
135
|
|
|
136
136
|
module ClassMethods
|
|
137
|
+
require 'active_record/viewhints_validations_interceptor'
|
|
138
|
+
include Hobo::ViewHintsValidationsInterceptor
|
|
137
139
|
|
|
138
140
|
attr_accessor :creator_attribute
|
|
139
141
|
attr_writer :name_attribute, :primary_content_attribute
|
|
@@ -484,7 +486,12 @@ module Hobo
|
|
|
484
486
|
|
|
485
487
|
elsif field_type <= Time || field_type <= ActiveSupport::TimeWithZone
|
|
486
488
|
if value.is_a? Hash
|
|
487
|
-
|
|
489
|
+
parts = %w{year month day hour minute second}.map{|s| value[s].to_i}
|
|
490
|
+
if parts[0..2].include?(0)
|
|
491
|
+
nil
|
|
492
|
+
else
|
|
493
|
+
Time.local(*parts)
|
|
494
|
+
end
|
|
488
495
|
else
|
|
489
496
|
value
|
|
490
497
|
end
|
|
@@ -401,6 +401,8 @@ module Hobo
|
|
|
401
401
|
if o
|
|
402
402
|
url = if o.is_a?(Symbol)
|
|
403
403
|
object_url(this, o)
|
|
404
|
+
elsif o.is_a?(String) || o.is_a?(Hash)
|
|
405
|
+
o
|
|
404
406
|
else
|
|
405
407
|
object_url(*Array(o))
|
|
406
408
|
end
|
|
@@ -631,10 +633,18 @@ module Hobo
|
|
|
631
633
|
self.this = @creator.run!(current_user, attribute_parameters)
|
|
632
634
|
response_block(&b) or
|
|
633
635
|
if valid?
|
|
634
|
-
|
|
636
|
+
respond_to do |wants|
|
|
637
|
+
wants.html { redirect_after_submit(options) }
|
|
638
|
+
wants.js { hobo_ajax_response || render(:nothing => true) }
|
|
639
|
+
end
|
|
635
640
|
else
|
|
636
641
|
this.exempt_from_edit_checks = true
|
|
637
|
-
|
|
642
|
+
respond_to do |wants|
|
|
643
|
+
wants.html { re_render_form(name) }
|
|
644
|
+
wants.js { render(:status => 500,
|
|
645
|
+
:text => ("Couldn't do creator #{name}.\n" +
|
|
646
|
+
this.errors.full_messages.join("\n"))) }
|
|
647
|
+
end
|
|
638
648
|
end
|
|
639
649
|
end
|
|
640
650
|
|
|
@@ -663,9 +673,17 @@ module Hobo
|
|
|
663
673
|
@transition.run!(this, current_user, attribute_parameters)
|
|
664
674
|
response_block(&b) or
|
|
665
675
|
if valid?
|
|
666
|
-
|
|
676
|
+
respond_to do |wants|
|
|
677
|
+
wants.html { redirect_after_submit(options) }
|
|
678
|
+
wants.js { hobo_ajax_response || render(:nothing => true) }
|
|
679
|
+
end
|
|
667
680
|
else
|
|
668
|
-
|
|
681
|
+
respond_to do |wants|
|
|
682
|
+
wants.html { re_render_form(name) }
|
|
683
|
+
wants.js { render(:status => 500,
|
|
684
|
+
:text => ("Couldn't do transition #{name}.\n" +
|
|
685
|
+
this.errors.full_messages.join("\n"))) }
|
|
686
|
+
end
|
|
669
687
|
end
|
|
670
688
|
end
|
|
671
689
|
|
|
@@ -253,7 +253,9 @@ module Hobo
|
|
|
253
253
|
def_scope do |*args|
|
|
254
254
|
field, asc = args
|
|
255
255
|
type = klass.attr_type(field)
|
|
256
|
-
if type.
|
|
256
|
+
if type.nil? #a virtual attribute from an SQL alias, e.g., 'total' from 'COUNT(*) AS total'
|
|
257
|
+
colspec = "#{field}" # don't prepend the table name
|
|
258
|
+
elsif type.respond_to?(:table_name) && (name = type.name_attribute)
|
|
257
259
|
include = field
|
|
258
260
|
colspec = "#{type.table_name}.#{name}"
|
|
259
261
|
else
|
data/lib/hobo/user_controller.rb
CHANGED
|
@@ -29,7 +29,7 @@ module Hobo
|
|
|
29
29
|
|
|
30
30
|
def available_auto_actions_with_user_actions
|
|
31
31
|
available_auto_actions_without_user_actions +
|
|
32
|
-
[:login, :
|
|
32
|
+
[:login, :logout, :forgot_password, :reset_password, :account]
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
|
|
@@ -39,6 +39,7 @@ module Hobo
|
|
|
39
39
|
class_eval do
|
|
40
40
|
def login; hobo_login; end if include_action?(:login)
|
|
41
41
|
def logout; hobo_logout; end if include_action?(:logout)
|
|
42
|
+
def signup; hobo_signup; end if include_action?(:signup)
|
|
42
43
|
def do_signup; hobo_do_signup end if include_action?(:do_signup)
|
|
43
44
|
def forgot_password; hobo_forgot_password; end if include_action?(:forgot_password)
|
|
44
45
|
def do_reset_password; hobo_do_reset_password; end if include_action?(:do_reset_password)
|
|
@@ -84,6 +85,13 @@ module Hobo
|
|
|
84
85
|
end
|
|
85
86
|
end
|
|
86
87
|
|
|
88
|
+
def hobo_signup(&b)
|
|
89
|
+
if logged_in?
|
|
90
|
+
redirect_back_or_default(home_page)
|
|
91
|
+
else
|
|
92
|
+
creator_page_action(:signup, &b)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
87
95
|
|
|
88
96
|
def hobo_do_signup(&b)
|
|
89
97
|
do_creator_action(:signup) do
|
|
@@ -755,7 +755,7 @@ Event.addBehavior({
|
|
|
755
755
|
|
|
756
756
|
'.autocompleter' : AutocompleteBehavior(),
|
|
757
757
|
|
|
758
|
-
'.string.in-place-edit, .datetime.in-place-edit, .date.in-place-edit, .integer.in-place-edit, .float.in-place-edit,
|
|
758
|
+
'.string.in-place-edit, .datetime.in-place-edit, .date.in-place-edit, .integer.in-place-edit, .float.in-place-edit, .decimal.in-place-edit' :
|
|
759
759
|
function (ev) {
|
|
760
760
|
|
|
761
761
|
var ipe = Hobo._makeInPlaceEditor(this)
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -1,16 +1,5 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
.page-header {color: white; background: #444;}
|
|
4
|
-
.page-header .main-nav a {background: #666;}
|
|
5
|
-
.page-header .main-nav a:hover {background: #222;}
|
|
6
|
-
.content {background: white;}
|
|
7
|
-
.button {color: white; background: #666;}
|
|
8
|
-
.button:hover {background-color: #222;}
|
|
9
|
-
.add-to-collection {background: #f5f5f5;}
|
|
10
|
-
*/
|
|
11
|
-
/* Cubicle Blue */
|
|
12
|
-
html, body {color: #193440; background: #193440;}
|
|
13
|
-
.page-header {color: white; background: #3F606E;}
|
|
1
|
+
html, body {color: #193440; background: url(../images/300-ACD3E6-fff.png) repeat-x #fff; }
|
|
2
|
+
.page-header {color: white; background: url(../images/100-3B5F87-ACD3E6.png) repeat-x #3F606E;}
|
|
14
3
|
.page-header .navigation.main-nav a {background: #5B8BA0;}
|
|
15
4
|
.page-header .navigation.main-nav li.current a {background: #FCFFF4; color: #222;}
|
|
16
5
|
.page-header .navigation.main-nav a:hover {background: #193440;}
|
|
@@ -306,7 +295,8 @@ div.select-many .item .remove-item { float: right; }
|
|
|
306
295
|
|
|
307
296
|
.front-page .welcome-message {
|
|
308
297
|
padding: 10px 20px 20px; border: 1px solid #e8e8e8;
|
|
309
|
-
color: #222;
|
|
298
|
+
color: #222;
|
|
299
|
+
background: url(../images/50-ACD3E6-fff.png) repeat-x #fff;
|
|
310
300
|
}
|
|
311
301
|
.front-page .welcome-message h2 {
|
|
312
302
|
font-size: 18px; line-height: 27px;
|
data/taglibs/rapid_core.dryml
CHANGED
|
@@ -411,7 +411,7 @@ Assuming the context is a blog post...
|
|
|
411
411
|
the_view = if_blank if if_blank && the_view.blank?
|
|
412
412
|
|
|
413
413
|
truncate = 30 if truncate == true
|
|
414
|
-
the_view = self.truncate(the_view, truncate.to_i) if truncate
|
|
414
|
+
the_view = self.truncate(the_view, :length => truncate.to_i) if truncate
|
|
415
415
|
the_view = the_view.strip
|
|
416
416
|
|
|
417
417
|
if no_wrapper
|
data/taglibs/rapid_editing.dryml
CHANGED
|
@@ -52,9 +52,12 @@ This area of Hobo has had less attention that the non-ajax forms of late, so it'
|
|
|
52
52
|
<!-- Provides a simple Scriptaculous in-place-editor that uses an `<input type='text'>` -->
|
|
53
53
|
<def tag="editor" for="date"><%= in_place_editor attributes %></def>
|
|
54
54
|
|
|
55
|
-
<!-- Provides a simple Scriptaculous in-place-editor that uses an `<input type='
|
|
55
|
+
<!-- Provides a simple Scriptaculous in-place-editor that uses an `<input type='integer'>` -->
|
|
56
56
|
<def tag="editor" for="integer"><%= in_place_editor attributes %></def>
|
|
57
57
|
|
|
58
|
+
<!-- Provides a simple Scriptaculous in-place-editor that uses an `<input type='BigDecimal'>` -->
|
|
59
|
+
<def tag="editor" for="BigDecimal"><%= in_place_editor attributes %></def>
|
|
60
|
+
|
|
58
61
|
<!-- Provides a simple Scriptaculous in-place-editor that uses an `<input type='text'>` -->
|
|
59
62
|
<def tag="editor" for="float"><%= in_place_editor attributes %></def>
|
|
60
63
|
|
data/taglibs/rapid_forms.dryml
CHANGED
|
@@ -317,7 +317,11 @@ edit collections a `Category` model in your application:
|
|
|
317
317
|
|
|
318
318
|
<!-- A checkbox plus a hidden-field. The hidden field trick comes from Rails - it means that when the checkbox is not checked, the parameter name is still submitted, with a '0' value (the value is '1' when the checkbox is checked) -->
|
|
319
319
|
<def tag="input" for="boolean" attrs="name">
|
|
320
|
-
<%=
|
|
320
|
+
<%= unless attributes[:disabled]
|
|
321
|
+
cb_tag = check_box_tag(name, '1', this, attributes)
|
|
322
|
+
cb_hidden_tag = hidden_field_tag(name, '0')
|
|
323
|
+
HoboSupport::RAILS_AT_LEAST_23 ? cb_hidden_tag + cb_tag : cb_tag + cb_hidden_tag
|
|
324
|
+
end %>
|
|
321
325
|
</def>
|
|
322
326
|
|
|
323
327
|
<!-- A password input - `<input type='password'>` -->
|
|
@@ -387,6 +391,11 @@ The menus default to the current time if the current value is nil.
|
|
|
387
391
|
<%= text_field_tag(name, this, attributes) %>
|
|
388
392
|
</def>
|
|
389
393
|
|
|
394
|
+
<!-- An `<input type='text'>` input. -->
|
|
395
|
+
<def tag="input" for="BigDecimal" attrs="name">
|
|
396
|
+
<%= text_field_tag(name, this, attributes) %>
|
|
397
|
+
</def>
|
|
398
|
+
|
|
390
399
|
<!-- An `<input type='text'>` input. -->
|
|
391
400
|
<def tag="input" for="float" attrs="name">
|
|
392
401
|
<%= text_field_tag(name, this, attributes) %>
|
|
@@ -401,10 +410,11 @@ The menus default to the current time if the current value is nil.
|
|
|
401
410
|
|
|
402
411
|
### Attributes
|
|
403
412
|
|
|
404
|
-
- labels
|
|
413
|
+
- `labels` - A hash that gives custom labels for the values of the enum.
|
|
405
414
|
Any values that do not have corresponding keys in this hash will get `value.titleize` as the label.
|
|
406
|
-
|
|
407
|
-
-
|
|
415
|
+
- `titleize` - Set to false to have the value itself (rather than `value.titleize`) be the default label. Default: true
|
|
416
|
+
- `first-option` - a string to be used for an extra option in the first position. E.g. "Please choose..."
|
|
417
|
+
- `first-value` - the value to be used with the `first-option`. Typically not used, meaning the option has a blank value.
|
|
408
418
|
|
|
409
419
|
-->
|
|
410
420
|
<def tag="input" for="HoboFields::EnumString" attrs="labels, titleize, first-option, first-value"><%
|
|
@@ -436,10 +446,10 @@ Forms). If any ajax attributes are given, the button becomes an ajax button, if
|
|
|
436
446
|
- label: the label on the button
|
|
437
447
|
|
|
438
448
|
-->
|
|
439
|
-
<def tag="remote-method-button" attrs="method, update, label, confirm"><%=
|
|
449
|
+
<def tag="remote-method-button" attrs="method, update, label, confirm, url"><%=
|
|
440
450
|
ajax_attributes, html_attributes = attributes.partition_hash(Hobo::RapidHelper::AJAX_ATTRS)
|
|
441
451
|
|
|
442
|
-
url
|
|
452
|
+
url ||= object_url(this, method.to_s.gsub('-', '_'), :method => :post)
|
|
443
453
|
raise ArgumentError, "no such web method '#{method}' on #{this.typed_id}" unless url
|
|
444
454
|
|
|
445
455
|
add_classes!(html_attributes, "button remote-method-button #{method}-button")
|
|
@@ -593,21 +603,23 @@ This is the default input that Rapid uses for `belongs_to` associations. The men
|
|
|
593
603
|
|
|
594
604
|
- `include-none` - whether to include a 'none' option (i.e. set the foreign key to null). Defaults to false
|
|
595
605
|
- `blank-message` - the message for the 'none' option. Defaults to "(No `<model-name>`)", e.g. "(No Product)"
|
|
596
|
-
- `options` - an array of records to include in the menu. Defaults to the all the records in the target table that match any `:conditions` declared on the `belongs_to` (
|
|
606
|
+
- `options` - an array of records to include in the menu. Defaults to the all the records in the target table that match any `:conditions` declared on the `belongs_to` (subject to `limit`)
|
|
607
|
+
- `limit` - if `options` is not specified, this limits the number of records. Default: 100
|
|
597
608
|
|
|
598
609
|
### See Also
|
|
599
610
|
|
|
600
611
|
For situations where there are too many target records to practically include in a menu, `<name-one>` provides an autocompleter which would be more suitable.
|
|
601
612
|
|
|
602
613
|
-->
|
|
603
|
-
<def tag="select-one" attrs="include-none, blank-message, options, sort"><%
|
|
614
|
+
<def tag="select-one" attrs="include-none, blank-message, options, sort, limit"><%
|
|
604
615
|
raise HoboError.new("Not allowed to edit #{this_field}") if !attributes[:disabled] && !can_edit?
|
|
605
616
|
|
|
606
617
|
blank_message ||= "(No #{this_type.name.to_s.titleize})"
|
|
618
|
+
limit ||= 100
|
|
607
619
|
|
|
608
620
|
options ||= begin
|
|
609
621
|
conditions = ActiveRecord::Associations::BelongsToAssociation.new(this_parent, this_field_reflection).conditions
|
|
610
|
-
this_field_reflection.klass.all(:conditions => conditions, :limit =>
|
|
622
|
+
this_field_reflection.klass.all(:conditions => conditions, :limit => limit).select {|x| can_view?(x)}
|
|
611
623
|
end
|
|
612
624
|
|
|
613
625
|
select_options = options.map { |x| [x.to_s, x.id ] }
|
|
@@ -664,8 +676,8 @@ The completions are provided by the server with a GET request. The `complete-tar
|
|
|
664
676
|
|
|
665
677
|
- `options` - an array of options suitable to be passed to the Rails `options_for_select` helper.
|
|
666
678
|
- `selected` - the value (from the `options` array) that should be initially selected. Defaults to `this`
|
|
667
|
-
- first-option -
|
|
668
|
-
- first-value - the value to be used with the `first-option`.
|
|
679
|
+
- `first-option` - a string to be used for an extra option in the first position. E.g. "Please choose..."
|
|
680
|
+
- `first-value` - the value to be used with the `first-option`. Typically not used, meaning the option has a blank value.
|
|
669
681
|
|
|
670
682
|
-->
|
|
671
683
|
<def tag="select-input">
|
|
@@ -680,7 +692,7 @@ The completions are provided by the server with a GET request. The `complete-tar
|
|
|
680
692
|
<h2 param="heading">To proceed please correct the following:</h2>
|
|
681
693
|
<ul param>
|
|
682
694
|
<% this.errors.each do |attr, message|; next if message == "..." -%>
|
|
683
|
-
<li param><%= attr
|
|
695
|
+
<li param><%= this.class.human_attribute_name(attr) %> <%= message %></li>
|
|
684
696
|
<% end -%>
|
|
685
697
|
</ul>
|
|
686
698
|
</section>
|
|
@@ -761,12 +773,12 @@ Use the `uri` option to specify a redirect location:
|
|
|
761
773
|
|
|
762
774
|
<!-- A simple wrapper around the `<select>` tag and `options_for_select` helper
|
|
763
775
|
|
|
764
|
-
|
|
776
|
+
### Attributes
|
|
765
777
|
|
|
766
|
-
|
|
767
|
-
|
|
768
|
-
|
|
769
|
-
|
|
778
|
+
- `options` - an array of options suitable to be passed to the Rails `options_for_select` helper.
|
|
779
|
+
- `selected` - the value (from the `options` array) that should be initially selected. Defaults to `this`
|
|
780
|
+
- `first-option` - a string to be used for an extra option in the first position. E.g. "Please choose..."
|
|
781
|
+
- `first-value` - the value to be used with the `first-option`. Typically not used, meaning the option has a blank value.
|
|
770
782
|
|
|
771
783
|
-->
|
|
772
784
|
<def tag="select-menu" attrs="options, selected, first-option, first-value">
|
|
@@ -778,9 +790,15 @@ Use the `uri` option to specify a redirect location:
|
|
|
778
790
|
</def>
|
|
779
791
|
|
|
780
792
|
|
|
781
|
-
<!-- Renders a `<ul>` list of checkboxes, one for each of the potential targt in a `has_many` association. The
|
|
793
|
+
<!-- Renders a `<ul>` list of checkboxes, one for each of the potential targt in a `has_many` association. The user can check the items they wish to have associated. A typical use might be selecting categories for a blog post.
|
|
794
|
+
|
|
795
|
+
### Attributes
|
|
796
|
+
|
|
797
|
+
- `options` - an array of models that may be added to the collection
|
|
798
|
+
- `disabled` - if true, sets the disabled flag on all check boxes.
|
|
799
|
+
|
|
782
800
|
-->
|
|
783
|
-
<def tag="check-many" attrs="disabled"><%
|
|
801
|
+
<def tag="check-many" attrs="options, disabled"><%
|
|
784
802
|
collection = this
|
|
785
803
|
param_name = param_name_for_this
|
|
786
804
|
options ||= begin
|
|
@@ -809,7 +827,6 @@ Use the `uri` option to specify a redirect location:
|
|
|
809
827
|
This tag is very different from tags like `<select-many>` and `<check-many>` in that:
|
|
810
828
|
|
|
811
829
|
- Those tags are used to *chose existing records* to include in the assocaition, while `<input-many>` is used to actually create or edit the records in the association.
|
|
812
|
-
- Those tags work by themselves, while `<input-many>` is just a wrapper for other input fields.
|
|
813
830
|
|
|
814
831
|
### Example
|
|
815
832
|
|
|
@@ -818,15 +835,21 @@ Say you are creating a new `Category` in your online shop, and you want to creat
|
|
|
818
835
|
<input-many:products><field-list fields="name, price"/></input-many>
|
|
819
836
|
|
|
820
837
|
The body of the tag will be repeated for each of the current records in the collection, or will just appear once (with blank fields) if the colleciton is empty.
|
|
838
|
+
|
|
839
|
+
### Attributes
|
|
840
|
+
|
|
841
|
+
- fields: If you do not specify any content for the input-many, a `<field-list>` is rendered. This attribute is passed through to the `<field-list>`
|
|
821
842
|
|
|
822
843
|
-->
|
|
823
|
-
<def tag="input-many" polymorphic>
|
|
844
|
+
<def tag="input-many" attrs="fields" polymorphic>
|
|
824
845
|
<set empty="&this.empty?"/>
|
|
825
846
|
<ul class="input-many #{this_field.dasherize} #{css_data :input_many_prefix, param_name_for_this}">
|
|
826
847
|
<li repeat class="#{'record-with-errors' unless this.errors.empty?}">
|
|
827
848
|
<error-messages without-heading class="sub-record"/>
|
|
828
849
|
<hidden-id-field/>
|
|
829
|
-
<div class="input-many-item" param="default"
|
|
850
|
+
<div class="input-many-item" param="default">
|
|
851
|
+
<field-list merge-attrs="fields" />
|
|
852
|
+
</div>
|
|
830
853
|
<div class="buttons">
|
|
831
854
|
<button class="remove-item" merge-attrs="disabled">-</button>
|
|
832
855
|
<button class="add-item" if="&last_item?" merge-attrs="disabled">+</button>
|
|
@@ -834,7 +857,9 @@ The body of the tag will be repeated for each of the current records in the coll
|
|
|
834
857
|
</li>
|
|
835
858
|
<li if="&empty">
|
|
836
859
|
<fake-field-context fake-field="0" context="&this.try.new_candidate || this.member_class.new">
|
|
837
|
-
<div class="input-many-item" param="default"
|
|
860
|
+
<div class="input-many-item" param="default">
|
|
861
|
+
<field-list merge-attrs="fields"/>
|
|
862
|
+
</div>
|
|
838
863
|
</fake-field-context>
|
|
839
864
|
<div class="buttons">
|
|
840
865
|
<button class="add-item" merge-attrs="disabled">+</button>
|
|
@@ -14,6 +14,7 @@ All of the [standard ajax attributes](/api_taglibs/rapid_forms) are also support
|
|
|
14
14
|
transition = transition.name unless transition.is_a?(String)
|
|
15
15
|
ajax_attributes, html_attributes = attributes.partition_hash(Hobo::RapidHelper::AJAX_ATTRS)
|
|
16
16
|
|
|
17
|
+
html_attributes[:method] = :put
|
|
17
18
|
url = object_url(this, transition, :method => :put)
|
|
18
19
|
add_classes!(html_attributes, "transition-button #{transition}-button")
|
|
19
20
|
label ||= transition.to_s.titleize
|
|
@@ -37,12 +37,14 @@ Then in your pages you can call the tag like this
|
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<!-- Renders a single item in a `<navigation>` menu. See [`<navigation`>](/api_tag_defs/navigation). -->
|
|
40
|
-
<def tag="nav-item">
|
|
40
|
+
<def tag="nav-item" attrs="name">
|
|
41
41
|
<% body = parameters.default
|
|
42
|
-
body = h(this.to_s) if body.blank?
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
42
|
+
body = h(this.to_s) if body.blank?
|
|
43
|
+
name ||= body.gsub(/<.*?>/, '').strip
|
|
44
|
+
-%>
|
|
45
|
+
<li class="#{'current' if (c = scope.current_navigation) && c.downcase == name.downcase}"
|
|
46
|
+
merge-attrs="&attributes - (attrs_for(:a)+['target'])">
|
|
47
|
+
<a merge-attrs="&attributes & (attrs_for(:a)+['target'])"><%= body %></a>
|
|
46
48
|
</li>
|
|
47
49
|
</def>
|
|
48
50
|
|
data/taglibs/rapid_plus.dryml
CHANGED
|
@@ -76,7 +76,7 @@ This tag assumes the controller has a `reorder` action. This action is added aut
|
|
|
76
76
|
%>
|
|
77
77
|
<collection class="sortable" merge>
|
|
78
78
|
<item: id="#{singular_name}_#{this.id}" param>
|
|
79
|
-
<div class="ordering-handle" param="handle">↑<br/>↓</div>
|
|
79
|
+
<div class="ordering-handle" param="handle" if="&can_edit?">↑<br/>↓</div>
|
|
80
80
|
<do param="default"><card param/></do>
|
|
81
81
|
</item:>
|
|
82
82
|
</collection>
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: hobo
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Tom Locke
|
|
@@ -9,7 +9,7 @@ autorequire:
|
|
|
9
9
|
bindir: bin
|
|
10
10
|
cert_chain: []
|
|
11
11
|
|
|
12
|
-
date: 2009-
|
|
12
|
+
date: 2009-06-24 00:00:00 -04:00
|
|
13
13
|
default_executable:
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
@@ -20,7 +20,7 @@ dependencies:
|
|
|
20
20
|
requirements:
|
|
21
21
|
- - "="
|
|
22
22
|
- !ruby/object:Gem::Version
|
|
23
|
-
version: 0.8.
|
|
23
|
+
version: 0.8.8
|
|
24
24
|
version:
|
|
25
25
|
- !ruby/object:Gem::Dependency
|
|
26
26
|
name: hobofields
|
|
@@ -30,7 +30,7 @@ dependencies:
|
|
|
30
30
|
requirements:
|
|
31
31
|
- - "="
|
|
32
32
|
- !ruby/object:Gem::Version
|
|
33
|
-
version: 0.8.
|
|
33
|
+
version: 0.8.8
|
|
34
34
|
version:
|
|
35
35
|
- !ruby/object:Gem::Dependency
|
|
36
36
|
name: rails
|
|
@@ -59,223 +59,228 @@ executables:
|
|
|
59
59
|
extensions: []
|
|
60
60
|
|
|
61
61
|
extra_rdoc_files:
|
|
62
|
-
- LICENSE.txt
|
|
63
|
-
- README
|
|
64
|
-
- tasks/hobo_tasks.rake
|
|
65
|
-
- tasks/environments.rake
|
|
66
|
-
- bin/hobo
|
|
67
62
|
- lib/hobo.rb
|
|
68
|
-
- lib/hobo/lifecycles/
|
|
63
|
+
- lib/hobo/lifecycles/state.rb
|
|
64
|
+
- lib/hobo/lifecycles/transition.rb
|
|
69
65
|
- lib/hobo/lifecycles/actions.rb
|
|
70
66
|
- lib/hobo/lifecycles/creator.rb
|
|
71
|
-
- lib/hobo/lifecycles/
|
|
72
|
-
- lib/hobo/
|
|
73
|
-
- lib/hobo/
|
|
74
|
-
- lib/hobo/
|
|
67
|
+
- lib/hobo/lifecycles/lifecycle.rb
|
|
68
|
+
- lib/hobo/dryml/tag_parameters.rb
|
|
69
|
+
- lib/hobo/dryml/template_environment.rb
|
|
70
|
+
- lib/hobo/dryml/parser.rb
|
|
71
|
+
- lib/hobo/dryml/template_handler.rb
|
|
72
|
+
- lib/hobo/dryml/parser/source.rb
|
|
73
|
+
- lib/hobo/dryml/parser/tree_parser.rb
|
|
74
|
+
- lib/hobo/dryml/parser/attribute.rb
|
|
75
|
+
- lib/hobo/dryml/parser/text.rb
|
|
76
|
+
- lib/hobo/dryml/parser/base_parser.rb
|
|
77
|
+
- lib/hobo/dryml/parser/document.rb
|
|
78
|
+
- lib/hobo/dryml/parser/elements.rb
|
|
79
|
+
- lib/hobo/dryml/parser/element.rb
|
|
80
|
+
- lib/hobo/dryml/taglib.rb
|
|
81
|
+
- lib/hobo/dryml/dryml_support_controller.rb
|
|
82
|
+
- lib/hobo/dryml/dryml_builder.rb
|
|
83
|
+
- lib/hobo/dryml/dryml_doc.rb
|
|
84
|
+
- lib/hobo/dryml/part_context.rb
|
|
85
|
+
- lib/hobo/dryml/template.rb
|
|
86
|
+
- lib/hobo/dryml/dryml_generator.rb
|
|
87
|
+
- lib/hobo/dryml/scoped_variables.rb
|
|
75
88
|
- lib/hobo/permissions.rb
|
|
89
|
+
- lib/hobo/guest.rb
|
|
90
|
+
- lib/hobo/user_controller.rb
|
|
91
|
+
- lib/hobo/rapid_helper.rb
|
|
92
|
+
- lib/hobo/tasks/rails.rb
|
|
93
|
+
- lib/hobo/permissions/associations.rb
|
|
76
94
|
- lib/hobo/include_in_save.rb
|
|
77
|
-
- lib/hobo/
|
|
78
|
-
- lib/hobo/generator.rb
|
|
79
|
-
- lib/hobo/model_controller.rb
|
|
80
|
-
- lib/hobo/scopes/apply_scopes.rb
|
|
95
|
+
- lib/hobo/hobo_helper.rb
|
|
81
96
|
- lib/hobo/scopes/named_scope_extensions.rb
|
|
97
|
+
- lib/hobo/scopes/apply_scopes.rb
|
|
82
98
|
- lib/hobo/scopes/automatic_scopes.rb
|
|
83
99
|
- lib/hobo/scopes/association_proxy_extensions.rb
|
|
84
|
-
- lib/hobo/
|
|
85
|
-
- lib/hobo/
|
|
86
|
-
- lib/hobo/
|
|
87
|
-
- lib/hobo/
|
|
100
|
+
- lib/hobo/bundle.rb
|
|
101
|
+
- lib/hobo/controller.rb
|
|
102
|
+
- lib/hobo/find_for.rb
|
|
103
|
+
- lib/hobo/lifecycles.rb
|
|
104
|
+
- lib/hobo/undefined.rb
|
|
88
105
|
- lib/hobo/user.rb
|
|
106
|
+
- lib/hobo/dryml.rb
|
|
89
107
|
- lib/hobo/undefined_access_error.rb
|
|
90
|
-
- lib/hobo/user_controller.rb
|
|
91
|
-
- lib/hobo/undefined.rb
|
|
92
|
-
- lib/hobo/model.rb
|
|
93
108
|
- lib/hobo/authentication_support.rb
|
|
94
|
-
- lib/hobo/
|
|
109
|
+
- lib/hobo/dev_controller.rb
|
|
110
|
+
- lib/hobo/accessible_associations.rb
|
|
95
111
|
- lib/hobo/scopes.rb
|
|
112
|
+
- lib/hobo/view_hints.rb
|
|
113
|
+
- lib/hobo/generator.rb
|
|
114
|
+
- lib/hobo/static_tags
|
|
96
115
|
- lib/hobo/model_router.rb
|
|
97
|
-
- lib/hobo/
|
|
98
|
-
- lib/hobo/
|
|
99
|
-
- lib/
|
|
116
|
+
- lib/hobo/model_controller.rb
|
|
117
|
+
- lib/hobo/model.rb
|
|
118
|
+
- lib/action_view_extensions/helpers/tag_helper.rb
|
|
119
|
+
- lib/active_record/association_proxy.rb
|
|
120
|
+
- lib/active_record/association_reflection.rb
|
|
121
|
+
- lib/active_record/association_collection.rb
|
|
122
|
+
- lib/active_record/viewhints_validations_interceptor.rb
|
|
123
|
+
- bin/hobo
|
|
124
|
+
- tasks/hobo_tasks.rake
|
|
125
|
+
- tasks/environments.rake
|
|
126
|
+
- LICENSE.txt
|
|
127
|
+
- README
|
|
128
|
+
files:
|
|
129
|
+
- lib/hobo.rb
|
|
130
|
+
- lib/hobo/lifecycles/state.rb
|
|
131
|
+
- lib/hobo/lifecycles/transition.rb
|
|
132
|
+
- lib/hobo/lifecycles/actions.rb
|
|
133
|
+
- lib/hobo/lifecycles/creator.rb
|
|
134
|
+
- lib/hobo/lifecycles/lifecycle.rb
|
|
135
|
+
- lib/hobo/dryml/tag_parameters.rb
|
|
136
|
+
- lib/hobo/dryml/template_environment.rb
|
|
137
|
+
- lib/hobo/dryml/parser.rb
|
|
100
138
|
- lib/hobo/dryml/template_handler.rb
|
|
101
|
-
- lib/hobo/dryml/
|
|
102
|
-
- lib/hobo/dryml/
|
|
139
|
+
- lib/hobo/dryml/parser/source.rb
|
|
140
|
+
- lib/hobo/dryml/parser/tree_parser.rb
|
|
141
|
+
- lib/hobo/dryml/parser/attribute.rb
|
|
142
|
+
- lib/hobo/dryml/parser/text.rb
|
|
143
|
+
- lib/hobo/dryml/parser/base_parser.rb
|
|
144
|
+
- lib/hobo/dryml/parser/document.rb
|
|
145
|
+
- lib/hobo/dryml/parser/elements.rb
|
|
146
|
+
- lib/hobo/dryml/parser/element.rb
|
|
103
147
|
- lib/hobo/dryml/taglib.rb
|
|
104
|
-
- lib/hobo/dryml/parser.rb
|
|
105
148
|
- lib/hobo/dryml/dryml_support_controller.rb
|
|
149
|
+
- lib/hobo/dryml/dryml_builder.rb
|
|
150
|
+
- lib/hobo/dryml/dryml_doc.rb
|
|
151
|
+
- lib/hobo/dryml/part_context.rb
|
|
106
152
|
- lib/hobo/dryml/template.rb
|
|
107
|
-
- lib/hobo/dryml/template_environment.rb
|
|
108
|
-
- lib/hobo/dryml/scoped_variables.rb
|
|
109
153
|
- lib/hobo/dryml/dryml_generator.rb
|
|
110
|
-
- lib/hobo/dryml/
|
|
111
|
-
- lib/hobo/
|
|
112
|
-
- lib/hobo/dryml/parser/attribute.rb
|
|
113
|
-
- lib/hobo/dryml/parser/source.rb
|
|
114
|
-
- lib/hobo/dryml/parser/base_parser.rb
|
|
115
|
-
- lib/hobo/dryml/parser/document.rb
|
|
116
|
-
- lib/hobo/dryml/parser/tree_parser.rb
|
|
117
|
-
- lib/hobo/dryml/parser/text.rb
|
|
118
|
-
- lib/hobo/dryml/tag_parameters.rb
|
|
119
|
-
- lib/hobo/dryml.rb
|
|
120
|
-
- lib/hobo/rapid_helper.rb
|
|
154
|
+
- lib/hobo/dryml/scoped_variables.rb
|
|
155
|
+
- lib/hobo/permissions.rb
|
|
121
156
|
- lib/hobo/guest.rb
|
|
157
|
+
- lib/hobo/user_controller.rb
|
|
158
|
+
- lib/hobo/rapid_helper.rb
|
|
159
|
+
- lib/hobo/tasks/rails.rb
|
|
160
|
+
- lib/hobo/permissions/associations.rb
|
|
161
|
+
- lib/hobo/include_in_save.rb
|
|
162
|
+
- lib/hobo/hobo_helper.rb
|
|
163
|
+
- lib/hobo/scopes/named_scope_extensions.rb
|
|
164
|
+
- lib/hobo/scopes/apply_scopes.rb
|
|
165
|
+
- lib/hobo/scopes/automatic_scopes.rb
|
|
166
|
+
- lib/hobo/scopes/association_proxy_extensions.rb
|
|
167
|
+
- lib/hobo/bundle.rb
|
|
122
168
|
- lib/hobo/controller.rb
|
|
169
|
+
- lib/hobo/find_for.rb
|
|
170
|
+
- lib/hobo/lifecycles.rb
|
|
171
|
+
- lib/hobo/undefined.rb
|
|
172
|
+
- lib/hobo/user.rb
|
|
173
|
+
- lib/hobo/dryml.rb
|
|
174
|
+
- lib/hobo/undefined_access_error.rb
|
|
175
|
+
- lib/hobo/authentication_support.rb
|
|
176
|
+
- lib/hobo/dev_controller.rb
|
|
177
|
+
- lib/hobo/accessible_associations.rb
|
|
178
|
+
- lib/hobo/scopes.rb
|
|
179
|
+
- lib/hobo/view_hints.rb
|
|
180
|
+
- lib/hobo/generator.rb
|
|
181
|
+
- lib/hobo/static_tags
|
|
182
|
+
- lib/hobo/model_router.rb
|
|
183
|
+
- lib/hobo/model_controller.rb
|
|
184
|
+
- lib/hobo/model.rb
|
|
123
185
|
- lib/action_view_extensions/helpers/tag_helper.rb
|
|
186
|
+
- lib/active_record/association_proxy.rb
|
|
124
187
|
- lib/active_record/association_reflection.rb
|
|
125
188
|
- lib/active_record/association_collection.rb
|
|
126
|
-
- lib/active_record/
|
|
127
|
-
|
|
128
|
-
-
|
|
129
|
-
-
|
|
130
|
-
-
|
|
131
|
-
-
|
|
132
|
-
-
|
|
133
|
-
-
|
|
134
|
-
-
|
|
135
|
-
-
|
|
136
|
-
-
|
|
137
|
-
-
|
|
138
|
-
-
|
|
139
|
-
-
|
|
140
|
-
-
|
|
141
|
-
-
|
|
142
|
-
-
|
|
143
|
-
-
|
|
144
|
-
-
|
|
145
|
-
- rails_generators/
|
|
146
|
-
- rails_generators/
|
|
147
|
-
- rails_generators/
|
|
148
|
-
- rails_generators/
|
|
149
|
-
- rails_generators/
|
|
150
|
-
- rails_generators/
|
|
151
|
-
- rails_generators/
|
|
152
|
-
- rails_generators/hobo_rapid/hobo_rapid_generator.rb
|
|
189
|
+
- lib/active_record/viewhints_validations_interceptor.rb
|
|
190
|
+
- bin/hobo
|
|
191
|
+
- Rakefile
|
|
192
|
+
- tasks/hobo_tasks.rake
|
|
193
|
+
- tasks/environments.rake
|
|
194
|
+
- CHANGES.txt
|
|
195
|
+
- taglibs/rapid_document_tags.dryml
|
|
196
|
+
- taglibs/rapid_support.dryml
|
|
197
|
+
- taglibs/rapid_navigation.dryml
|
|
198
|
+
- taglibs/rapid_generics.dryml
|
|
199
|
+
- taglibs/rapid_user_pages.dryml
|
|
200
|
+
- taglibs/core.dryml
|
|
201
|
+
- taglibs/rapid_lifecycles.dryml
|
|
202
|
+
- taglibs/rapid.dryml
|
|
203
|
+
- taglibs/rapid_editing.dryml
|
|
204
|
+
- taglibs/rapid_pages.dryml
|
|
205
|
+
- taglibs/rapid_core.dryml
|
|
206
|
+
- taglibs/rapid_forms.dryml
|
|
207
|
+
- taglibs/rapid_plus.dryml
|
|
208
|
+
- rails_generators/hobo_user_controller/templates/functional_test.rb
|
|
209
|
+
- rails_generators/hobo_user_controller/templates/helper.rb
|
|
210
|
+
- rails_generators/hobo_user_controller/templates/controller.rb
|
|
211
|
+
- rails_generators/hobo_user_controller/USAGE
|
|
212
|
+
- rails_generators/hobo_user_controller/hobo_user_controller_generator.rb
|
|
213
|
+
- rails_generators/hobo_rapid/templates/IE7.js
|
|
214
|
+
- rails_generators/hobo_rapid/templates/reset.css
|
|
153
215
|
- rails_generators/hobo_rapid/templates/blank.gif
|
|
216
|
+
- rails_generators/hobo_rapid/templates/lowpro.js
|
|
154
217
|
- rails_generators/hobo_rapid/templates/ie7-recalc.js
|
|
155
|
-
- rails_generators/hobo_rapid/templates/
|
|
156
|
-
- rails_generators/hobo_rapid/templates/hobo-rapid.css
|
|
218
|
+
- rails_generators/hobo_rapid/templates/hobo-rapid.js
|
|
157
219
|
- rails_generators/hobo_rapid/templates/themes/clean/views/clean.dryml
|
|
158
220
|
- rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/clean.css
|
|
159
221
|
- rails_generators/hobo_rapid/templates/themes/clean/public/stylesheets/rapid-ui.css
|
|
160
222
|
- rails_generators/hobo_rapid/templates/themes/clean/public/images/fieldbg.gif
|
|
161
|
-
- rails_generators/hobo_rapid/templates/themes/clean/public/images/spinner.gif
|
|
162
|
-
- rails_generators/hobo_rapid/templates/themes/clean/public/images/small_close.png
|
|
163
223
|
- rails_generators/hobo_rapid/templates/themes/clean/public/images/pencil.png
|
|
164
|
-
- rails_generators/hobo_rapid/templates/
|
|
165
|
-
- rails_generators/hobo_rapid/templates/
|
|
166
|
-
- rails_generators/hobo_rapid/templates/
|
|
167
|
-
- rails_generators/
|
|
168
|
-
- rails_generators/
|
|
169
|
-
- rails_generators/
|
|
224
|
+
- rails_generators/hobo_rapid/templates/themes/clean/public/images/50-ACD3E6-fff.png
|
|
225
|
+
- rails_generators/hobo_rapid/templates/themes/clean/public/images/small_close.png
|
|
226
|
+
- rails_generators/hobo_rapid/templates/themes/clean/public/images/100-3B5F87-ACD3E6.png
|
|
227
|
+
- rails_generators/hobo_rapid/templates/themes/clean/public/images/300-ACD3E6-fff.png
|
|
228
|
+
- rails_generators/hobo_rapid/templates/themes/clean/public/images/spinner.gif
|
|
229
|
+
- rails_generators/hobo_rapid/templates/hobo-rapid.css
|
|
230
|
+
- rails_generators/hobo_rapid/hobo_rapid_generator.rb
|
|
170
231
|
- rails_generators/hobo/templates/dryml-support.js
|
|
171
|
-
- rails_generators/hobo/templates/application.dryml
|
|
172
232
|
- rails_generators/hobo/templates/guest.rb
|
|
173
|
-
- rails_generators/
|
|
174
|
-
- rails_generators/
|
|
175
|
-
- rails_generators/
|
|
176
|
-
- rails_generators/
|
|
233
|
+
- rails_generators/hobo/templates/application.dryml
|
|
234
|
+
- rails_generators/hobo/templates/initializer.rb
|
|
235
|
+
- rails_generators/hobo/templates/application.css
|
|
236
|
+
- rails_generators/hobo/hobo_generator.rb
|
|
177
237
|
- rails_generators/hobo_front_controller/hobo_front_controller_generator.rb
|
|
178
|
-
- rails_generators/hobo_front_controller/USAGE
|
|
179
|
-
- rails_generators/hobo_front_controller/templates/index.dryml
|
|
180
238
|
- rails_generators/hobo_front_controller/templates/functional_test.rb
|
|
181
239
|
- rails_generators/hobo_front_controller/templates/helper.rb
|
|
182
240
|
- rails_generators/hobo_front_controller/templates/controller.rb
|
|
183
|
-
- rails_generators/
|
|
184
|
-
- rails_generators/
|
|
185
|
-
- rails_generators/
|
|
186
|
-
- rails_generators/
|
|
187
|
-
- rails_generators/
|
|
188
|
-
-
|
|
189
|
-
-
|
|
190
|
-
-
|
|
241
|
+
- rails_generators/hobo_front_controller/templates/index.dryml
|
|
242
|
+
- rails_generators/hobo_front_controller/USAGE
|
|
243
|
+
- rails_generators/hobo_user_model/templates/mailer.rb
|
|
244
|
+
- rails_generators/hobo_user_model/templates/fixtures.yml
|
|
245
|
+
- rails_generators/hobo_user_model/templates/unit_test.rb
|
|
246
|
+
- rails_generators/hobo_user_model/templates/forgot_password.erb
|
|
247
|
+
- rails_generators/hobo_user_model/templates/model.rb
|
|
248
|
+
- rails_generators/hobo_user_model/USAGE
|
|
249
|
+
- rails_generators/hobo_user_model/hobo_user_model_generator.rb
|
|
250
|
+
- rails_generators/hobo_model/templates/fixtures.yml
|
|
251
|
+
- rails_generators/hobo_model/templates/unit_test.rb
|
|
252
|
+
- rails_generators/hobo_model/templates/hints.rb
|
|
253
|
+
- rails_generators/hobo_model/templates/model.rb
|
|
254
|
+
- rails_generators/hobo_model/USAGE
|
|
255
|
+
- rails_generators/hobo_model/hobo_model_generator.rb
|
|
256
|
+
- rails_generators/hobo_model_controller/templates/functional_test.rb
|
|
257
|
+
- rails_generators/hobo_model_controller/templates/helper.rb
|
|
258
|
+
- rails_generators/hobo_model_controller/templates/controller.rb
|
|
259
|
+
- rails_generators/hobo_model_controller/USAGE
|
|
260
|
+
- rails_generators/hobo_model_controller/hobo_model_controller_generator.rb
|
|
261
|
+
- rails_generators/hobo_model_resource/templates/functional_test.rb
|
|
262
|
+
- rails_generators/hobo_model_resource/templates/helper.rb
|
|
263
|
+
- rails_generators/hobo_model_resource/templates/controller.rb
|
|
264
|
+
- rails_generators/hobo_model_resource/hobo_model_resource_generator.rb
|
|
265
|
+
- rails_generators/hobo_subsite/templates/application.dryml
|
|
266
|
+
- rails_generators/hobo_subsite/templates/controller.rb
|
|
267
|
+
- rails_generators/hobo_subsite/templates/site_taglib.dryml
|
|
268
|
+
- rails_generators/hobo_subsite/hobo_subsite_generator.rb
|
|
191
269
|
- init.rb
|
|
192
|
-
-
|
|
270
|
+
- LICENSE.txt
|
|
271
|
+
- README
|
|
193
272
|
- script/destroy
|
|
194
|
-
-
|
|
195
|
-
- lib/hobo.rb
|
|
196
|
-
- lib/hobo/lifecycles/lifecycle.rb
|
|
197
|
-
- lib/hobo/lifecycles/actions.rb
|
|
198
|
-
- lib/hobo/lifecycles/creator.rb
|
|
199
|
-
- lib/hobo/lifecycles/transition.rb
|
|
200
|
-
- lib/hobo/lifecycles/state.rb
|
|
201
|
-
- lib/hobo/find_for.rb
|
|
202
|
-
- lib/hobo/lifecycles.rb
|
|
203
|
-
- lib/hobo/permissions.rb
|
|
204
|
-
- lib/hobo/include_in_save.rb
|
|
205
|
-
- lib/hobo/bundle.rb
|
|
206
|
-
- lib/hobo/generator.rb
|
|
207
|
-
- lib/hobo/model_controller.rb
|
|
208
|
-
- lib/hobo/scopes/apply_scopes.rb
|
|
209
|
-
- lib/hobo/scopes/named_scope_extensions.rb
|
|
210
|
-
- lib/hobo/scopes/automatic_scopes.rb
|
|
211
|
-
- lib/hobo/scopes/association_proxy_extensions.rb
|
|
212
|
-
- lib/hobo/permissions/associations.rb
|
|
213
|
-
- lib/hobo/view_hints.rb
|
|
214
|
-
- lib/hobo/tasks/rails.rb
|
|
215
|
-
- lib/hobo/hobo_helper.rb
|
|
216
|
-
- lib/hobo/user.rb
|
|
217
|
-
- lib/hobo/undefined_access_error.rb
|
|
218
|
-
- lib/hobo/user_controller.rb
|
|
219
|
-
- lib/hobo/undefined.rb
|
|
220
|
-
- lib/hobo/model.rb
|
|
221
|
-
- lib/hobo/authentication_support.rb
|
|
222
|
-
- lib/hobo/static_tags
|
|
223
|
-
- lib/hobo/scopes.rb
|
|
224
|
-
- lib/hobo/model_router.rb
|
|
225
|
-
- lib/hobo/accessible_associations.rb
|
|
226
|
-
- lib/hobo/dev_controller.rb
|
|
227
|
-
- lib/hobo/dryml/part_context.rb
|
|
228
|
-
- lib/hobo/dryml/template_handler.rb
|
|
229
|
-
- lib/hobo/dryml/dryml_doc.rb
|
|
230
|
-
- lib/hobo/dryml/dryml_builder.rb
|
|
231
|
-
- lib/hobo/dryml/taglib.rb
|
|
232
|
-
- lib/hobo/dryml/parser.rb
|
|
233
|
-
- lib/hobo/dryml/dryml_support_controller.rb
|
|
234
|
-
- lib/hobo/dryml/template.rb
|
|
235
|
-
- lib/hobo/dryml/template_environment.rb
|
|
236
|
-
- lib/hobo/dryml/scoped_variables.rb
|
|
237
|
-
- lib/hobo/dryml/dryml_generator.rb
|
|
238
|
-
- lib/hobo/dryml/parser/elements.rb
|
|
239
|
-
- lib/hobo/dryml/parser/element.rb
|
|
240
|
-
- lib/hobo/dryml/parser/attribute.rb
|
|
241
|
-
- lib/hobo/dryml/parser/source.rb
|
|
242
|
-
- lib/hobo/dryml/parser/base_parser.rb
|
|
243
|
-
- lib/hobo/dryml/parser/document.rb
|
|
244
|
-
- lib/hobo/dryml/parser/tree_parser.rb
|
|
245
|
-
- lib/hobo/dryml/parser/text.rb
|
|
246
|
-
- lib/hobo/dryml/tag_parameters.rb
|
|
247
|
-
- lib/hobo/dryml.rb
|
|
248
|
-
- lib/hobo/rapid_helper.rb
|
|
249
|
-
- lib/hobo/guest.rb
|
|
250
|
-
- lib/hobo/controller.rb
|
|
251
|
-
- lib/action_view_extensions/helpers/tag_helper.rb
|
|
252
|
-
- lib/active_record/association_reflection.rb
|
|
253
|
-
- lib/active_record/association_collection.rb
|
|
254
|
-
- lib/active_record/association_proxy.rb
|
|
255
|
-
- Manifest
|
|
273
|
+
- script/generate
|
|
256
274
|
- dryml_generators/rapid/forms.dryml.erb
|
|
257
|
-
- dryml_generators/rapid/cards.dryml.erb
|
|
258
275
|
- dryml_generators/rapid/pages.dryml.erb
|
|
259
|
-
-
|
|
276
|
+
- dryml_generators/rapid/cards.dryml.erb
|
|
277
|
+
- Manifest
|
|
278
|
+
- test/permissions/models/models.rb
|
|
279
|
+
- test/permissions/models/schema.rb
|
|
280
|
+
- test/permissions/test_permissions.rb
|
|
260
281
|
- test/generators/test_hobo_model_controller_generator.rb
|
|
282
|
+
- test/generators/test_generator_helper.rb
|
|
261
283
|
- test/generators/test_helper.rb
|
|
262
|
-
- test/permissions/test_permissions.rb
|
|
263
|
-
- test/permissions/models/schema.rb
|
|
264
|
-
- test/permissions/models/models.rb
|
|
265
|
-
- taglibs/rapid_generics.dryml
|
|
266
|
-
- taglibs/rapid_editing.dryml
|
|
267
|
-
- taglibs/rapid_pages.dryml
|
|
268
|
-
- taglibs/rapid.dryml
|
|
269
|
-
- taglibs/rapid_plus.dryml
|
|
270
|
-
- taglibs/rapid_navigation.dryml
|
|
271
|
-
- taglibs/core.dryml
|
|
272
|
-
- taglibs/rapid_forms.dryml
|
|
273
|
-
- taglibs/rapid_lifecycles.dryml
|
|
274
|
-
- taglibs/rapid_user_pages.dryml
|
|
275
|
-
- taglibs/rapid_core.dryml
|
|
276
|
-
- taglibs/rapid_support.dryml
|
|
277
|
-
- taglibs/rapid_document_tags.dryml
|
|
278
|
-
- CHANGES.txt
|
|
279
284
|
- hobo.gemspec
|
|
280
285
|
has_rdoc: true
|
|
281
286
|
homepage: http://hobocentral.net/
|