hobo 0.8.7 → 0.8.8
Sign up to get free protection for your applications and to get access to all the features.
- 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/
|