zen 0.4.2 → 0.4.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (131) hide show
  1. data/.gems +17 -15
  2. data/.gitignore +1 -1
  3. data/.travis.yml +1 -1
  4. data/MANIFEST +470 -0
  5. data/README.md +5 -3
  6. data/Rakefile +8 -6
  7. data/bin/zen +2 -7
  8. data/guide/asset_management.md +1 -0
  9. data/guide/autosaving_forms.md +1 -0
  10. data/guide/changelog.md +22 -0
  11. data/guide/faq.md +1 -0
  12. data/guide/getting_started.md +1 -0
  13. data/guide/hacking.md +1 -0
  14. data/guide/images/sections/revisions.png +0 -0
  15. data/guide/images/sections/revisions_diff.png +0 -0
  16. data/guide/images/sections/revisions_diff_multiple.png +0 -0
  17. data/guide/installation.md +4 -3
  18. data/guide/javascript.md +1 -0
  19. data/guide/javascript/zen_autosave.md +1 -0
  20. data/guide/javascript/zen_editor.md +1 -0
  21. data/guide/javascript/zen_form.md +1 -0
  22. data/guide/javascript/zen_hash.md +1 -0
  23. data/guide/javascript/zen_htmltable.md +1 -0
  24. data/guide/javascript/zen_tabs.md +1 -0
  25. data/guide/javascript/zen_window.md +1 -0
  26. data/guide/zen_compared.md +1 -0
  27. data/lib/zen.rb +10 -12
  28. data/lib/zen/event.rb +2 -2
  29. data/lib/zen/helper/controller.rb +13 -13
  30. data/lib/zen/helper/message.rb +3 -3
  31. data/lib/zen/helper/search.rb +4 -4
  32. data/lib/zen/helper/stacked_aspect.rb +9 -9
  33. data/lib/zen/html_diff.rb +151 -0
  34. data/lib/zen/language.rb +9 -7
  35. data/lib/zen/language/translation.rb +8 -8
  36. data/lib/zen/markup.rb +1 -1
  37. data/lib/zen/migrator.rb +2 -2
  38. data/lib/zen/model/helper.rb +4 -4
  39. data/lib/zen/model/plugin/events.rb +16 -16
  40. data/lib/zen/package.rb +2 -2
  41. data/lib/zen/package/all.rb +1 -1
  42. data/lib/zen/package/categories/lib/categories/controller/categories.rb +4 -4
  43. data/lib/zen/package/categories/lib/categories/controller/category_groups.rb +4 -4
  44. data/lib/zen/package/categories/lib/categories/helper/category.rb +3 -3
  45. data/lib/zen/package/categories/lib/categories/model/category.rb +9 -9
  46. data/lib/zen/package/categories/lib/categories/model/category_group.rb +9 -9
  47. data/lib/zen/package/comments/lib/comments/controller/comments.rb +4 -4
  48. data/lib/zen/package/comments/lib/comments/controller/comments_form.rb +2 -2
  49. data/lib/zen/package/comments/lib/comments/helper/comment.rb +1 -1
  50. data/lib/zen/package/comments/lib/comments/model/comment.rb +13 -13
  51. data/lib/zen/package/custom_fields/lib/custom_fields/blue_form_parameters.rb +1 -1
  52. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_groups.rb +4 -4
  53. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_field_types.rb +6 -6
  54. data/lib/zen/package/custom_fields/lib/custom_fields/controller/custom_fields.rb +5 -5
  55. data/lib/zen/package/custom_fields/lib/custom_fields/helper/custom_field.rb +3 -3
  56. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field.rb +9 -9
  57. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_group.rb +9 -9
  58. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_type.rb +9 -9
  59. data/lib/zen/package/custom_fields/lib/custom_fields/model/custom_field_value.rb +8 -3
  60. data/lib/zen/package/custom_fields/migrations/1336171490_revisions.rb +41 -0
  61. data/lib/zen/package/dashboard/lib/dashboard/controller/dashboard.rb +6 -6
  62. data/lib/zen/package/dashboard/lib/dashboard/model/widget.rb +3 -3
  63. data/lib/zen/package/dashboard/lib/dashboard/widget.rb +12 -12
  64. data/lib/zen/package/extensions/lib/extensions/controller/extensions.rb +3 -3
  65. data/lib/zen/package/menus/lib/menus/controller/menu_items.rb +5 -5
  66. data/lib/zen/package/menus/lib/menus/controller/menus.rb +4 -4
  67. data/lib/zen/package/menus/lib/menus/helper/menu.rb +4 -4
  68. data/lib/zen/package/menus/lib/menus/model/menu.rb +11 -11
  69. data/lib/zen/package/menus/lib/menus/model/menu_item.rb +10 -10
  70. data/lib/zen/package/menus/lib/menus/public/admin/menus/js/lib/nested_sortables.js +13 -13
  71. data/lib/zen/package/menus/lib/menus/public/admin/menus/js/menu_items.js +1 -1
  72. data/lib/zen/package/sections/lib/sections.rb +19 -0
  73. data/lib/zen/package/sections/lib/sections/controller/revisions.rb +184 -0
  74. data/lib/zen/package/sections/lib/sections/controller/section_entries.rb +5 -5
  75. data/lib/zen/package/sections/lib/sections/controller/sections.rb +9 -6
  76. data/lib/zen/package/sections/lib/sections/helper/revision.rb +124 -0
  77. data/lib/zen/package/sections/lib/sections/helper/section.rb +17 -15
  78. data/lib/zen/package/sections/lib/sections/helper/section_frontend.rb +104 -6
  79. data/lib/zen/package/sections/lib/sections/language/en/revisions.rb +34 -0
  80. data/lib/zen/package/sections/lib/sections/language/en/sections.rb +1 -0
  81. data/lib/zen/package/sections/lib/sections/language/nl/revisions.rb +35 -0
  82. data/lib/zen/package/sections/lib/sections/language/nl/sections.rb +1 -0
  83. data/lib/zen/package/sections/lib/sections/model/revision.rb +76 -0
  84. data/lib/zen/package/sections/lib/sections/model/section.rb +9 -9
  85. data/lib/zen/package/sections/lib/sections/model/section_entry.rb +47 -12
  86. data/lib/zen/package/sections/lib/sections/view/admin/revisions/index.xhtml +89 -0
  87. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/form.xhtml +1 -1
  88. data/lib/zen/package/sections/lib/sections/view/admin/section-entries/index.xhtml +14 -0
  89. data/lib/zen/package/sections/migrations/1335711557_revisions.rb +40 -0
  90. data/lib/zen/package/settings/lib/settings/controller/settings.rb +12 -4
  91. data/lib/zen/package/settings/lib/settings/setting.rb +6 -6
  92. data/lib/zen/package/users/lib/users/controller/user_groups.rb +4 -4
  93. data/lib/zen/package/users/lib/users/controller/users.rb +12 -12
  94. data/lib/zen/package/users/lib/users/helper/access.rb +1 -1
  95. data/lib/zen/package/users/lib/users/helper/acl.rb +4 -4
  96. data/lib/zen/package/users/lib/users/helper/users.rb +2 -2
  97. data/lib/zen/package/users/lib/users/model/permission.rb +1 -1
  98. data/lib/zen/package/users/lib/users/model/user.rb +11 -11
  99. data/lib/zen/package/users/lib/users/model/user_group.rb +9 -9
  100. data/lib/zen/package/users/lib/users/model/user_status.rb +2 -2
  101. data/lib/zen/public/admin/zen/css/general.css +54 -0
  102. data/lib/zen/public/admin/zen/css/messages.css +6 -3
  103. data/lib/zen/public/admin/zen/css/tables.css +10 -0
  104. data/lib/zen/public/admin/zen/images/icons/undo.png +0 -0
  105. data/lib/zen/public/admin/zen/js/lib/autosave.js +8 -8
  106. data/lib/zen/public/admin/zen/js/lib/base.js +2 -2
  107. data/lib/zen/public/admin/zen/js/lib/events.js +2 -2
  108. data/lib/zen/public/admin/zen/js/lib/form.js +7 -7
  109. data/lib/zen/public/admin/zen/js/lib/hash.js +7 -7
  110. data/lib/zen/public/admin/zen/js/lib/tabs.js +3 -3
  111. data/lib/zen/public/admin/zen/js/lib/window.js +1 -1
  112. data/lib/zen/security.rb +2 -2
  113. data/lib/zen/spec/helper.rb +3 -9
  114. data/lib/zen/spec/helper/capybara.rb +4 -4
  115. data/lib/zen/spec/helper/general.rb +1 -1
  116. data/lib/zen/spec/simplecov.rb +1 -5
  117. data/lib/zen/task/build.rake +22 -16
  118. data/lib/zen/task/db.rake +3 -2
  119. data/lib/zen/task/spelling.rake +10 -10
  120. data/lib/zen/task/test.rake +27 -19
  121. data/lib/zen/theme.rb +6 -6
  122. data/lib/zen/version.rb +1 -1
  123. data/spec/zen/all.rb +4 -0
  124. data/spec/zen/package/sections/controller/revisions.rb +235 -0
  125. data/spec/zen/package/sections/model/revision.rb +76 -0
  126. data/zen.gemspec +23 -21
  127. metadata +88 -29
  128. data/lib/zen/model/methods.rb +0 -27
  129. data/lib/zen/task/clean.rake +0 -20
  130. data/lib/zen/task/setup.rake +0 -4
  131. data/pkg/.gitkeep +0 -0
@@ -5,12 +5,12 @@ module CustomFields
5
5
  # Model that represents a single custom field group.
6
6
  #
7
7
  # @since 0.1
8
- # @event before_new_custom_field_group
9
- # @event after_new_custom_field_group
10
- # @event before_edit_custom_field_group
11
- # @event after_edit_custom_field_group
12
- # @event before_delete_custom_field_group
13
- # @event after_delete_custom_field_group
8
+ # @event before\_new\_custom\_field\_group
9
+ # @event after\_new\_custom\_field\_group
10
+ # @event before\_edit\_custom\_field\_group
11
+ # @event after\_edit\_custom\_field\_group
12
+ # @event before\_delete\_custom\_field\_group
13
+ # @event after\_delete\_custom\_field\_group
14
14
  #
15
15
  class CustomFieldGroup < Sequel::Model
16
16
  include Zen::Model::Helper
@@ -18,7 +18,7 @@ module CustomFields
18
18
  ##
19
19
  # Array containing the columns that can be set by the user.
20
20
  #
21
- # @since 17-02-2012
21
+ # @since 2012-02-17
22
22
  #
23
23
  COLUMNS = [:name, :description]
24
24
 
@@ -41,7 +41,7 @@ module CustomFields
41
41
  ##
42
42
  # Searches for a set of custom field groups.
43
43
  #
44
- # @since 16-10-2011
44
+ # @since 2011-10-16
45
45
  # @param [String] query The search query.
46
46
  # @return [Mixed]
47
47
  #
@@ -62,7 +62,7 @@ module CustomFields
62
62
  ##
63
63
  # Hook that is executed before creating or saving an object.
64
64
  #
65
- # @since 03-01-2012
65
+ # @since 2012-01-03
66
66
  #
67
67
  def before_save
68
68
  sanitize_fields([:name, :description])
@@ -5,12 +5,12 @@ module CustomFields
5
5
  # Model for managing custom field types.
6
6
  #
7
7
  # @since 0.2.8
8
- # @event before_new_custom_field_type
9
- # @event after_new_custom_field_type
10
- # @event before_edit_custom_field_type
11
- # @event after_edit_custom_field_type
12
- # @event before_delete_custom_field_type
13
- # @event after_delete_custom_field_type
8
+ # @event before\_new\_custom\_field\_type
9
+ # @event after\_new\_custom\_field\_type
10
+ # @event before\_edit\_custom\_field\_type
11
+ # @event after\_edit\_custom\_field\_type
12
+ # @event before\_delete\_custom\_field\_type
13
+ # @event after\_delete\_custom\_field\_type
14
14
  #
15
15
  class CustomFieldType < Sequel::Model
16
16
  include Zen::Model::Helper
@@ -18,7 +18,7 @@ module CustomFields
18
18
  ##
19
19
  # Array containing all the columns that can be set by the user.
20
20
  #
21
- # @since 17-02-2012
21
+ # @since 2012-02-17
22
22
  #
23
23
  COLUMNS = [
24
24
  :name, :language_string, :html_class, :serialize, :allow_markup,
@@ -43,7 +43,7 @@ module CustomFields
43
43
  ##
44
44
  # Searches for a set of custom field types.
45
45
  #
46
- # @since 16-10-2011
46
+ # @since 2011-10-16
47
47
  # @param [String] query The search query.
48
48
  # @return [Mixed]
49
49
  #
@@ -87,7 +87,7 @@ module CustomFields
87
87
  ##
88
88
  # Hook that is executed before creating or saving an object.
89
89
  #
90
- # @since 03-01-2012
90
+ # @since 2012-01-03
91
91
  #
92
92
  def before_save
93
93
  sanitize_fields([:name, :language_string, :html_class])
@@ -7,16 +7,21 @@ module CustomFields
7
7
  # @since 0.1
8
8
  #
9
9
  class CustomFieldValue < Sequel::Model
10
- many_to_one :custom_field , :class => 'CustomFields::Model::CustomField',
10
+ many_to_one :custom_field ,
11
+ :class => 'CustomFields::Model::CustomField',
11
12
  :eager => [:custom_field_type]
12
13
 
13
- many_to_one :section_entry, :class => 'Sections::Model::SectionEntry'
14
+ many_to_one :section_entry,
15
+ :class => 'Sections::Model::SectionEntry'
16
+
17
+ many_to_one :revision,
18
+ :class => 'Sections::Model::Revision'
14
19
 
15
20
  ##
16
21
  # Sets the value and serializes it based on the field type.
17
22
  #
18
23
  # @since 0.2.8
19
- # @param [Mixed] value The value to store.
24
+ # @param [Mixed] val The value to store.
20
25
  #
21
26
  def value=(val)
22
27
  val = Zen::Security.sanitize(val)
@@ -0,0 +1,41 @@
1
+ Sequel.migration do
2
+ up do
3
+ alter_table :custom_field_values do
4
+ add_foreign_key :revision_id, :revisions,
5
+ :on_update => :cascade,
6
+ :on_delete => :cascade,
7
+ :key => :id
8
+ end
9
+
10
+ # Create a revision for each existing entry.
11
+ entries = Zen.database[:section_entries] \
12
+ .select(:id, :user_id) \
13
+ .order(:id.asc)
14
+
15
+ entries.each do |entry|
16
+ rev_id = Zen.database[:revisions].insert(
17
+ :created_at => Time.now,
18
+ :user_id => entry[:user_id],
19
+ :section_entry_id => entry[:id]
20
+ )
21
+
22
+ Zen.database[:section_entries] \
23
+ .filter(:id => entry[:id]) \
24
+ .update(:revision_id => rev_id)
25
+
26
+ Zen.database[:custom_field_values] \
27
+ .filter(:section_entry_id => entry[:id]) \
28
+ .update(:revision_id => rev_id)
29
+ end
30
+ end
31
+
32
+ down do
33
+ alter_table :custom_field_values do
34
+ if Zen.database.database_type.to_s.include?('mysql')
35
+ drop_constraint :custom_field_values_ibfk_3, :type => :foreign_key
36
+ end
37
+
38
+ drop_column :revision_id
39
+ end
40
+ end
41
+ end
@@ -14,7 +14,7 @@
14
14
  # * {Dashboard::Widget}
15
15
  # * {Dashboard::WidgetError}
16
16
  #
17
- # @since 16-01-2012
17
+ # @since 2012-01-16
18
18
  #
19
19
  module Dashboard
20
20
  module Controller
@@ -58,7 +58,7 @@ module Dashboard
58
58
  # around the application.
59
59
  # * Recent Entries: a widget that displays the 10 most recent entries.
60
60
  #
61
- # @since 08-01-2012
61
+ # @since 2012-01-08
62
62
  # @map /admin
63
63
  #
64
64
  class Dashboard < Zen::Controller::AdminController
@@ -75,7 +75,7 @@ module Dashboard
75
75
  # Shows all the active widgets and allows the user to manage these widgets
76
76
  # or add new ones.
77
77
  #
78
- # @since 08-01-2012
78
+ # @since 2012-01-08
79
79
  #
80
80
  def index; end
81
81
 
@@ -83,7 +83,7 @@ module Dashboard
83
83
  # Updates the sort order of all the widgets for the currently logged in
84
84
  # user.
85
85
  #
86
- # @since 15-01-2012
86
+ # @since 2012-01-15
87
87
  #
88
88
  def widget_order
89
89
  ::Dashboard::Widget::REGISTERED.each do |name, widget|
@@ -105,7 +105,7 @@ module Dashboard
105
105
  ##
106
106
  # Enables or disables a widget for the currently logged in user.
107
107
  #
108
- # @since 15-01-2012
108
+ # @since 2012-01-15
109
109
  #
110
110
  def widget_state
111
111
  widget = request.POST['widget']
@@ -140,7 +140,7 @@ module Dashboard
140
140
  # Updates the amount of widget columns to use for the currently logged in
141
141
  # user.
142
142
  #
143
- # @since 15-01-2012
143
+ # @since 2012-01-15
144
144
  #
145
145
  def widget_columns
146
146
  columns = request.POST['columns']
@@ -3,7 +3,7 @@ module Dashboard
3
3
  ##
4
4
  # Model for the table that contains the active widgets for a user.
5
5
  #
6
- # @since 12-01-2012
6
+ # @since 2012-01-12
7
7
  #
8
8
  class Widget < Sequel::Model
9
9
  many_to_one :users, :class => 'Users::Model::User'
@@ -12,7 +12,7 @@ module Dashboard
12
12
  # Returns an integer containing the order of the last widget. If no
13
13
  # widgets were found 0 is returned.
14
14
  #
15
- # @since 15-01-2012
15
+ # @since 2012-01-15
16
16
  # @param [Fixnum] user_id The ID of the user for which to retrieve the
17
17
  # widget order.
18
18
  # @return [Fixnum]
@@ -34,7 +34,7 @@ module Dashboard
34
34
  ##
35
35
  # Validates the model instance before saving it in the database.
36
36
  #
37
- # @since 13-01-2012
37
+ # @since 2012-01-13
38
38
  #
39
39
  def validate
40
40
  validates_presence([:name, :order, :user_id])
@@ -36,7 +36,7 @@ module Dashboard
36
36
  #
37
37
  # Dashboard::Widget[:example_widget] # => <Dashboard::Widget ...>
38
38
  #
39
- # @since 08-01-2012
39
+ # @since 2012-01-08
40
40
  #
41
41
  class Widget
42
42
  include Zen::Validation
@@ -75,7 +75,7 @@ module Dashboard
75
75
  # end
76
76
  # end
77
77
  #
78
- # @since 08-01-2012
78
+ # @since 2012-01-08
79
79
  #
80
80
  def add
81
81
  widget = self.new
@@ -92,7 +92,7 @@ module Dashboard
92
92
  # @example
93
93
  # Dashboard::Widget[:recent_entries]
94
94
  #
95
- # @since 08-01-2012
95
+ # @since 2012-01-08
96
96
  #
97
97
  def [](name)
98
98
  name = name.to_sym
@@ -108,7 +108,7 @@ module Dashboard
108
108
  # Generates the HTML for all active widgets and sorts them by the user's
109
109
  # sort order.
110
110
  #
111
- # @since 14-01-2012
111
+ # @since 2012-01-14
112
112
  # @return [String]
113
113
  #
114
114
  def html
@@ -129,7 +129,7 @@ module Dashboard
129
129
  # Builds the HTML for the radio buttons that can be used to change the
130
130
  # amount of widget columns.
131
131
  #
132
- # @since 15-01-2012
132
+ # @since 2012-01-15
133
133
  # @return [String]
134
134
  #
135
135
  def columns_html
@@ -160,7 +160,7 @@ module Dashboard
160
160
  # Generates a chunk of HTML that contains various checkboxes to toggle the
161
161
  # state of all widgets.
162
162
  #
163
- # @since 14-01-2012
163
+ # @since 2012-01-14
164
164
  # @return [String]
165
165
  #
166
166
  def checkbox_html
@@ -196,7 +196,7 @@ module Dashboard
196
196
  ##
197
197
  # Returns the current user model.
198
198
  #
199
- # @since 15-01-2012
199
+ # @since 2012-01-15
200
200
  # @return [Users::Model::User]
201
201
  def user
202
202
  return Ramaze::Current.action.node.request.env[
@@ -208,7 +208,7 @@ module Dashboard
208
208
  ##
209
209
  # Sets the name of the widget and converts it to a symbol.
210
210
  #
211
- # @since 11-01-2012
211
+ # @since 2012-01-11
212
212
  # @param [#to_sym] name The name of the widget.
213
213
  #
214
214
  def name=(name)
@@ -220,7 +220,7 @@ module Dashboard
220
220
  # string the value of that string is returned, otherwise the raw title is
221
221
  # returned.
222
222
  #
223
- # @since 11-01-2012
223
+ # @since 2012-01-11
224
224
  # @return [String]
225
225
  #
226
226
  def title
@@ -234,7 +234,7 @@ module Dashboard
234
234
  ##
235
235
  # Checks if the user is allowed to view the current widget.
236
236
  #
237
- # @since 16-01-2012
237
+ # @since 2012-01-16
238
238
  # @return [TrueClass|Falseclass]
239
239
  #
240
240
  def allowed?
@@ -245,7 +245,7 @@ module Dashboard
245
245
  ##
246
246
  # Validates the instance of the widget.
247
247
  #
248
- # @since 11-01-2012
248
+ # @since 2012-01-11
249
249
  #
250
250
  def validate
251
251
  validates_presence([:name, :title, :data])
@@ -269,7 +269,7 @@ module Dashboard
269
269
  # </div>
270
270
  # </section>
271
271
  #
272
- # @since 12-01-2012
272
+ # @since 2012-01-12
273
273
  # @return [String]
274
274
  #
275
275
  def html
@@ -8,14 +8,14 @@
8
8
  #
9
9
  # This package does not provide any helpers or models.
10
10
  #
11
- # @since 18-11-2011
11
+ # @since 2011-11-18
12
12
  #
13
13
  module Extensions
14
14
  module Controller
15
15
  ##
16
16
  # Controller that displays all the installed extensions.
17
17
  #
18
- # @since 18-11-2011
18
+ # @since 2011-11-18
19
19
  # @map /admin/extensions
20
20
  #
21
21
  class Extensions < Zen::Controller::AdminController
@@ -28,7 +28,7 @@ module Extensions
28
28
  # Shows an overview of all the installed themes, packages, added
29
29
  # languages, etc.
30
30
  #
31
- # @since 18-11-2011
31
+ # @since 2011-11-18
32
32
  # @permission show_extension
33
33
  #
34
34
  def index
@@ -76,10 +76,10 @@ module Menus
76
76
  #
77
77
  # ## Used Permissions
78
78
  #
79
- # * show_menu_item
80
- # * new_menu_item
81
- # * edit_menu_item
82
- # * delete_menu_item
79
+ # * show\_menu\_item
80
+ # * new\_menu\_item
81
+ # * edit\_menu\_item
82
+ # * delete\_menu\_item
83
83
  #
84
84
  # @since 0.2a
85
85
  # @map /admin/menu-items
@@ -223,7 +223,7 @@ module Menus
223
223
  ##
224
224
  # Updates the sort order and parent IDs for the given menu items.
225
225
  #
226
- # @since 11-02-2012
226
+ # @since 2012-02-11
227
227
  # @permission edit_menu_item
228
228
  #
229
229
  def tree
@@ -96,10 +96,10 @@ module Menus
96
96
  #
97
97
  # ## Used Permissions
98
98
  #
99
- # * show_menu
100
- # * new_menu
101
- # * edit_menu
102
- # * delete_menu
99
+ # * show\_menu
100
+ # * new\_menu
101
+ # * edit\_menu
102
+ # * delete\_menu
103
103
  #
104
104
  # @since 0.2a
105
105
  # @map /admin/menus
@@ -54,7 +54,7 @@ module Ramaze
54
54
  # Redirects the user to the menus overview and informs him/her that the
55
55
  # menu he/she tried to access is invalid.
56
56
  #
57
- # @since 05-04-2012
57
+ # @since 2012-04-05
58
58
  #
59
59
  def redirect_invalid_menu
60
60
  message(:error, lang('menus.errors.invalid_menu'))
@@ -66,7 +66,7 @@ module Ramaze
66
66
  # menu and informs the user that the menu item he/she tried to access is
67
67
  # invalid.
68
68
  #
69
- # @since 05-04-2012
69
+ # @since 2012-04-05
70
70
  # @param [Fixnum] menu_id The ID of the menu.
71
71
  #
72
72
  def redirect_invalid_menu_item(menu_id)
@@ -78,7 +78,7 @@ module Ramaze
78
78
  # Builds the menu item tree that can be used by the user to edit the sort
79
79
  # order, create the menu item tree and edit individual menu items.
80
80
  #
81
- # @since 11-02-2012
81
+ # @since 2012-02-11
82
82
  # @param [Array] tree The menu item tree to process. This array should be
83
83
  # in the format as returned by {Menus::Model::Menu#menu_items_tree}.
84
84
  # @return [String]
@@ -106,7 +106,7 @@ module Ramaze
106
106
  # Builds the HTML for a single menu item and recursively calls itself for
107
107
  # any sub menu items.
108
108
  #
109
- # @since 11-02-2012
109
+ # @since 2012-02-11
110
110
  # @param [Hash] item A single menu item to process.
111
111
  # @param [Ramaze::Gestalt] gestalt An instance of Ramaze::Gestalt to use
112
112
  # for building the HTML.
@@ -23,12 +23,12 @@ module Menus
23
23
  # end
24
24
  #
25
25
  # @since 0.2a
26
- # @event before_new_menu
27
- # @event after_new_menu
28
- # @event before_edit_menu
29
- # @event after_edit_menu
30
- # @event before_delete_menu
31
- # @event after_delete_menu
26
+ # @event before\_new\_menu
27
+ # @event after\_new\_menu
28
+ # @event before\_edit\_menu
29
+ # @event after\_edit\_menu
30
+ # @event before\_delete\_menu
31
+ # @event after\_delete\_menu
32
32
  #
33
33
  class Menu < Sequel::Model
34
34
  include Zen::Model::Helper
@@ -36,7 +36,7 @@ module Menus
36
36
  ##
37
37
  # Array containing all the columns that can be set by the user.
38
38
  #
39
- # @since 17-02-2012
39
+ # @since 2012-02-17
40
40
  #
41
41
  COLUMNS = [:name, :slug, :description, :html_class, :html_id]
42
42
 
@@ -57,7 +57,7 @@ module Menus
57
57
  ##
58
58
  # Searches for a set of menus.
59
59
  #
60
- # @since 16-10-2011
60
+ # @since 2011-10-16
61
61
  # @param [String] query The search query.
62
62
  # @return [Mixed]
63
63
  #
@@ -99,7 +99,7 @@ module Menus
99
99
  #
100
100
  # loop_nodes(Menus::Model::Menu[1].menu_items_tree)
101
101
  #
102
- # @since 30-01-2012
102
+ # @since 2012-01-30
103
103
  # @param [Symbol] order The sort order to apply to menu items, set to
104
104
  # :asc by default.
105
105
  # @param [Fixnum|NilClass] limit The maximum amount of menu items to
@@ -162,7 +162,7 @@ module Menus
162
162
  ##
163
163
  # Hook that is executed before creating or saving an object.
164
164
  #
165
- # @since 03-01-2012
165
+ # @since 2012-01-03
166
166
  #
167
167
  def before_save
168
168
  sanitize_fields([:name, :slug, :description, :html_class, :html_id])
@@ -176,7 +176,7 @@ module Menus
176
176
  # Sorts a set of sub nodes as returned by
177
177
  # {Menus::Model::Menu#menu_item_tree}.
178
178
  #
179
- # @since 01-02-2012
179
+ # @since 2012-02-01
180
180
  # @param [Array] nodes An array of nodes to sort.
181
181
  # @param [Symbol] order The sort order to apply.
182
182
  # @return [Array]