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
@@ -37,7 +37,7 @@ module Ramaze
37
37
  # In this example both methods (``validate_ip`` and ``validate_user``) would
38
38
  # be executed before calling ``#index()``.
39
39
  #
40
- # @since 06-11-2011
40
+ # @since 2011-11-06
41
41
  #
42
42
  module StackedAspect
43
43
  # Hash that will contain all the STACKED_AOP actions.
@@ -46,7 +46,7 @@ module Ramaze
46
46
  ##
47
47
  # Called whenever this module is included into a class.
48
48
  #
49
- # @since 06-11-2011
49
+ # @since 2011-11-06
50
50
  # @param [Class] into The class that included this module.
51
51
  #
52
52
  def self.included(into)
@@ -68,7 +68,7 @@ module Ramaze
68
68
  ##
69
69
  # Calls a certain AOP action for the specified position and method name.
70
70
  #
71
- # @since 06-11-2011
71
+ # @since 2011-11-06
72
72
  # @param [Symbol] position The position of the AOP action (e.g. :after).
73
73
  # @param [String] name The name of the method for which to call the
74
74
  # action.
@@ -118,7 +118,7 @@ module Ramaze
118
118
  ##
119
119
  # Module who's methods become available as class methods.
120
120
  #
121
- # @since 06-11-2011
121
+ # @since 2011-11-06
122
122
  #
123
123
  module ClassMethods
124
124
  include Traited
@@ -135,7 +135,7 @@ module Ramaze
135
135
  # validate_username
136
136
  # end
137
137
  #
138
- # @since 06-11-2011
138
+ # @since 2011-11-06
139
139
  # @param [#to_sym] name The unique name of the block.
140
140
  # @param [Proc] block The block to execute.
141
141
  #
@@ -153,7 +153,7 @@ module Ramaze
153
153
  # validate_ip
154
154
  # end
155
155
  #
156
- # @since 06-11-2011
156
+ # @since 2011-11-06
157
157
  # @param [#to_sym] name A unique name for the block.
158
158
  # @param [Array] methods An array of methods for which to run the block.
159
159
  # @param [Proc] block The block to run.
@@ -172,7 +172,7 @@ module Ramaze
172
172
  ##
173
173
  # Runs a block after all the actions in a controller.
174
174
  #
175
- # @since 06-11-2011
175
+ # @since 2011-11-06
176
176
  # @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_before_all
177
177
  #
178
178
  def stacked_after_all(name, &block)
@@ -182,7 +182,7 @@ module Ramaze
182
182
  ##
183
183
  # Runs a block after a specific list of methods.
184
184
  #
185
- # @since 06-11-2011
185
+ # @since 2011-11-06
186
186
  # @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_before
187
187
  #
188
188
  def stacked_after(name, names, &block)
@@ -199,7 +199,7 @@ module Ramaze
199
199
  ##
200
200
  # Wraps the block around the list of methods.
201
201
  #
202
- # @since 06-11-2011
202
+ # @since 2011-11-06
203
203
  # @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_before
204
204
  # @see Ramaze::Helper::StackedAspect::ClassMethods#stacked_after
205
205
  #
@@ -0,0 +1,151 @@
1
+ module Zen
2
+ ##
3
+ # Module for generating HTML diffs using Diff::LCS and a custom callback
4
+ # class. See {Zen::HTMLDiff.diff} and {Zen::HTMLDiff::Callback} for more
5
+ # information on the usage and the returned HTML.
6
+ #
7
+ # @since 2012-05-02
8
+ #
9
+ module HTMLDiff
10
+ ##
11
+ # Gets the difference between the two given strings and returns a string
12
+ # containing these differences formatted using HTML.
13
+ #
14
+ # @example
15
+ # old = 'hello world'
16
+ # new = 'Hello, world!'
17
+ # diff = Zen::HTMLDiff.diff(old, new)
18
+ #
19
+ # puts diff # => "<div class=\"diff\">...</div>"
20
+ #
21
+ # @since 2012-05-02
22
+ # @param [String] old The old version of the string.
23
+ # @param [String] new The new version of the string.
24
+ # @return [String]
25
+ #
26
+ def self.diff(old, new)
27
+ callback = Callback.new
28
+
29
+ old = old.join("\n") if old.is_a?(Array)
30
+ new = new.join("\n") if new.is_a?(Array)
31
+
32
+ Diff::LCS.traverse_sequences(
33
+ old.to_s.split(/\r\n|\n/),
34
+ new.to_s.split(/\r\n|\n/),
35
+ callback
36
+ )
37
+
38
+ return callback.to_s
39
+ end
40
+
41
+ ##
42
+ # Callback class for Diff::LCS that is used to format a diff using HTML. An
43
+ # example of the resulting markup is the following:
44
+ #
45
+ # <div class="diff">
46
+ # <table>
47
+ # <tbody>
48
+ # <tr>
49
+ # <td class="line">1</td>
50
+ # <td class="line"></td>
51
+ # <td class="line del">-Hello world</td>
52
+ # </tr>
53
+ # <tr>
54
+ # <td class="line"></td>
55
+ # <td class="line">1</td>
56
+ # <td class="line ins">+Hello World</td>
57
+ # </tr>
58
+ # </tbody>
59
+ # </table>
60
+ # </div>
61
+ #
62
+ # Example usage:
63
+ #
64
+ # old = '...'
65
+ # new = '...'
66
+ # callback Zen::HTMLDiff::Callback.new
67
+ #
68
+ # Diff::LCS.traverse_sequence(old, new, callback)
69
+ #
70
+ # puts callback # => "<div class=...>"
71
+ #
72
+ # @since 2012-05-02
73
+ #
74
+ class Callback
75
+ ##
76
+ # Creates a new instance of the callback class.
77
+ #
78
+ # @since 2012-05-02
79
+ #
80
+ def initialize
81
+ @output = ''
82
+ end
83
+
84
+ ##
85
+ # Called when there's a line in A but not in B.
86
+ #
87
+ # @since 2012-05-02
88
+ # @param [Diff::LCS::ContextChange] change
89
+ #
90
+ def discard_a(change)
91
+ @output << %Q{
92
+ <tr>
93
+ <td class="line_number">#{change.old_position + 1}</td>
94
+ <td class="line_number"></td>
95
+ <td class="line del">-#{change.old_element}</td>
96
+ </tr>
97
+ }
98
+ end
99
+
100
+ ##
101
+ # Called when there's a line in B but not in A.
102
+ #
103
+ # @since 2012-05-02
104
+ # @param [Diff::LCS::ContextChange] change
105
+ #
106
+ def discard_b(change)
107
+ @output << %Q{
108
+ <tr>
109
+ <td class="line_number"></td>
110
+ <td class="line_number">#{change.new_position + 1}</td>
111
+ <td class="line ins">+#{change.new_element}</td>
112
+ </tr>
113
+ }
114
+ end
115
+
116
+ ##
117
+ # Called when both lines are identical.
118
+ #
119
+ # @since 2012-05-02
120
+ # @param [Diff::LCS::ContextChange] change
121
+ #
122
+ def match(change)
123
+ @output << %Q{
124
+ <tr>
125
+ <td class="line_number">#{change.old_position + 1}</td>
126
+ <td class="line_number">#{change.new_position + 1}</td>
127
+ <td class="line"> #{change.old_element}</td>
128
+ </tr>
129
+ }
130
+ end
131
+
132
+ ##
133
+ # Returns the full HTML for the diff.
134
+ #
135
+ # @since 2012-05-02
136
+ # @return [String]
137
+ #
138
+ def to_s
139
+ return %Q{
140
+ <div class="diff">
141
+ <table class="no_sort">
142
+ <tbody>
143
+ #{@output}
144
+ </tbody>
145
+ </table>
146
+ </div>
147
+ }
148
+ end
149
+ end # Callback
150
+ end # HTMLDiff
151
+ end # Zen
@@ -178,6 +178,7 @@ module Zen
178
178
  #
179
179
  # <div class="note todo">
180
180
  # <p>
181
+ # <strong>Note:</strong>
181
182
  # This can't be stressed enough: always load language files using the
182
183
  # post_start event.
183
184
  # </p>
@@ -206,6 +207,7 @@ module Zen
206
207
  #
207
208
  # <div class="note todo">
208
209
  # <p>
210
+ # <strong>Note:</strong>
209
211
  # Because language files aren't loaded until Zen.start is called you
210
212
  # should never use or rely on translations before the application has
211
213
  # started. Most of the core code works around this by loading
@@ -263,7 +265,7 @@ module Zen
263
265
  # lang.rtl = true
264
266
  # end
265
267
  #
266
- # @since 14-11-2011
268
+ # @since 2011-11-14
267
269
  # @yield Zen::Language
268
270
  #
269
271
  def add
@@ -362,7 +364,7 @@ module Zen
362
364
  # Returns a hash where the keys are the language codes and the values the
363
365
  # titles.
364
366
  #
365
- # @since 14-11-2011
367
+ # @since 2011-11-14
366
368
  # @return [Hash]
367
369
  #
368
370
  def to_hash
@@ -377,7 +379,7 @@ module Zen
377
379
  # Returns a string containing the text direction if the current language
378
380
  # is an rtl language.
379
381
  #
380
- # @since 14-11-2011
382
+ # @since 2011-11-14
381
383
  # @return [String]
382
384
  #
383
385
  def html_text_direction
@@ -390,7 +392,7 @@ module Zen
390
392
  ##
391
393
  # Creates a new instance of the class.
392
394
  #
393
- # @since 14-11-2011
395
+ # @since 2011-11-14
394
396
  #
395
397
  def initialize
396
398
  @loaded = []
@@ -400,7 +402,7 @@ module Zen
400
402
  ##
401
403
  # Sets the name of the language and converts it to a string.
402
404
  #
403
- # @since 14-11-2011
405
+ # @since 2011-11-14
404
406
  # @param [#to_s] name The name of the language.
405
407
  #
406
408
  def name=(name)
@@ -411,7 +413,7 @@ module Zen
411
413
  # Returns a boolean that indicates whether or not the language reads from
412
414
  # right to left.
413
415
  #
414
- # @since 14-11-2011
416
+ # @since 2011-11-14
415
417
  # @return [TrueClass|FalseClass]
416
418
  #
417
419
  def rtl
@@ -421,7 +423,7 @@ module Zen
421
423
  ##
422
424
  # Validates the current instance using {Zen::Validation}.
423
425
  #
424
- # @since 14-11-2011
426
+ # @since 2011-11-14
425
427
  #
426
428
  def validate
427
429
  validates_presence([:name, :title])
@@ -17,7 +17,7 @@ module Zen
17
17
  #
18
18
  # For more general and expanded information see {Zen::Language}.
19
19
  #
20
- # @since 16-11-2011
20
+ # @since 2011-11-16
21
21
  #
22
22
  class Translation
23
23
  include Zen::Validation
@@ -37,7 +37,7 @@ module Zen
37
37
  ##
38
38
  # Adds a new translation set.
39
39
  #
40
- # @since 16-11-2011
40
+ # @since 2011-11-16
41
41
  # @yield Zen::Language::Translation
42
42
  #
43
43
  def self.add
@@ -53,7 +53,7 @@ module Zen
53
53
  ##
54
54
  # Sets the language for the collection of translations.
55
55
  #
56
- # @since 16-11-2011
56
+ # @since 2011-11-16
57
57
  # @param [#to_s] language The language code.
58
58
  # @raise Zen::ValidationError Raised whenever a given language is invalid.
59
59
  #
@@ -65,7 +65,7 @@ module Zen
65
65
  # Stores the supplied block containing all translations in
66
66
  # ``@translations``.
67
67
  #
68
- # @since 17-11-2011
68
+ # @since 2011-11-17
69
69
  # @param [Proc] block A block containing all calls to ``#[]=()``.
70
70
  #
71
71
  def translate(&block)
@@ -76,7 +76,7 @@ module Zen
76
76
  # Loads the translations by invoking the block that was set using
77
77
  # {#translate}.
78
78
  #
79
- # @since 17-11-2011
79
+ # @since 2011-11-17
80
80
  #
81
81
  def load
82
82
  @translations.call(self)
@@ -85,7 +85,7 @@ module Zen
85
85
  ##
86
86
  # Sets the name of the collection of translations.
87
87
  #
88
- # @since 16-11-2011
88
+ # @since 2011-11-16
89
89
  # @param [#to_s] name The name of the collection.
90
90
  #
91
91
  def name=(name)
@@ -96,7 +96,7 @@ module Zen
96
96
  # Adds a new translation by directly storing it in the cache
97
97
  # ``Ramaze::Cache.translations``.
98
98
  #
99
- # @since 16-11-2011
99
+ # @since 2011-11-16
100
100
  # @param [#to_s] key The name of the language item, an example is
101
101
  # "titles.index".
102
102
  # @param [#to_s] value The value of the language item.
@@ -115,7 +115,7 @@ module Zen
115
115
  ##
116
116
  # Validates the instance.
117
117
  #
118
- # @since 17-11-2011
118
+ # @since 2011-11-17
119
119
  #
120
120
  def validate
121
121
  validates_presence([:name, :name, :translations])
@@ -97,7 +97,7 @@ module Zen
97
97
  # Returns a hash containing the available markup engines and their labels
98
98
  # for the current language.
99
99
  #
100
- # @since 15-11-2011
100
+ # @since 2011-11-15
101
101
  # @return [Hash]
102
102
  #
103
103
  def to_hash
@@ -3,13 +3,13 @@ module Zen
3
3
  # Small wrapper around Sequel::Migrator to fix various issues and make it a
4
4
  # bit easier to log data.
5
5
  #
6
- # @since 07-01-2012
6
+ # @since 2012-01-07
7
7
  #
8
8
  module Migrator
9
9
  ##
10
10
  # Runs a set of migrations and logs the actions.
11
11
  #
12
- # @since 07-01-2012
12
+ # @since 2012-01-07
13
13
  # @see Sequel::Migrator.run
14
14
  # @param [String] name The name of the package/theme/etc to migrate.
15
15
  # @param [String] dir The directory containing the migrations.
@@ -11,7 +11,7 @@ module Zen
11
11
  #
12
12
  # See the individual methods in this module for more information.
13
13
  #
14
- # @since 16-10-2011
14
+ # @since 2011-10-16
15
15
  #
16
16
  module Helper
17
17
  # Array containing the database adapters that don't support regular
@@ -22,7 +22,7 @@ module Zen
22
22
  # Extends the including class with the methods in the {ClassMethods}
23
23
  # module.
24
24
  #
25
- # @since 16-10-2011
25
+ # @since 2011-10-16
26
26
  #
27
27
  def self.included(into)
28
28
  into.extend(ClassMethods)
@@ -34,7 +34,7 @@ module Zen
34
34
  # @example
35
35
  # sanitize_fields([:name, :description])
36
36
  #
37
- # @since 03-01-2012
37
+ # @since 2012-01-03
38
38
  # @param [Array] fields An array containing all the fields to sanitize.
39
39
  # @param [TrueClass|FalseClass] clean_html When set to true Loofah will be
40
40
  # used to get rid of nasty HTML.
@@ -66,7 +66,7 @@ module Zen
66
66
  # @example Using a DBMS that does not support the use of a regex
67
67
  # search_column(:name, 'ruby \d+') # => #<Sequel::SQL::BooleanExpression ....>
68
68
  #
69
- # @since 16-10-2011
69
+ # @since 2011-10-16
70
70
  # @param [Symbol] column The column to use in the statement.
71
71
  # @param [String] value The value for the statement.
72
72
  # @return [Hash|Sequel::SQL::BooleanExpression]
@@ -5,12 +5,12 @@ module Sequel
5
5
  # fired by {Zen::Event}. Based on the specified options it creates events
6
6
  # for the following Sequel hooks:
7
7
  #
8
- # * before_create
9
- # * after_create
10
- # * before_update
11
- # * after_update
12
- # * before_destroy
13
- # * after_destroy
8
+ # * before\_create
9
+ # * after\_create
10
+ # * before\_update
11
+ # * after\_update
12
+ # * before\_destroy
13
+ # * after\_destroy
14
14
  #
15
15
  # For example, to add the Zen event "before_new_post" and have it called by
16
16
  # the Sequel hook "before_create" you'd do the following:
@@ -30,13 +30,13 @@ module Sequel
30
30
  # Events don't have to return the modified object as objects are assigned by
31
31
  # reference.
32
32
  #
33
- # @since 05-02-2012
33
+ # @since 2012-02-05
34
34
  #
35
35
  module Events
36
36
  ##
37
37
  # Configures the plugin for a single model.
38
38
  #
39
- # @since 06-02-2012
39
+ # @since 2012-02-06
40
40
  # @param [Class] model The model for which to enable the plugin.
41
41
  # @param [Hash] options A hash containing the Sequel hook names and the
42
42
  # Zen events to fire.
@@ -61,7 +61,7 @@ module Sequel
61
61
  # Module containing the methods and attributes to make available on class
62
62
  # level.
63
63
  #
64
- # @since 06-02-2012
64
+ # @since 2012-02-06
65
65
  #
66
66
  module ClassMethods
67
67
  # Hash containing all the Sequel hooks and the corresponding Zen events.
@@ -72,13 +72,13 @@ module Sequel
72
72
  # Module containing the methods and attributes to make available on
73
73
  # instance level.
74
74
  #
75
- # @since 06-02-2012
75
+ # @since 2012-02-06
76
76
  #
77
77
  module InstanceMethods
78
78
  ##
79
79
  # Hook executed before creating a new object.
80
80
  #
81
- # @since 06-02-2012
81
+ # @since 2012-02-06
82
82
  #
83
83
  def before_create
84
84
  if self.class.events and self.class.events.key?(:before_create)
@@ -91,7 +91,7 @@ module Sequel
91
91
  ##
92
92
  # Hook executed after creating a new object.
93
93
  #
94
- # @since 06-02-2012
94
+ # @since 2012-02-06
95
95
  #
96
96
  def after_create
97
97
  super
@@ -104,7 +104,7 @@ module Sequel
104
104
  ##
105
105
  # Hook executed before updating an existing object.
106
106
  #
107
- # @since 06-02-2012
107
+ # @since 2012-02-06
108
108
  #
109
109
  def before_update
110
110
  if self.class.events and self.class.events.key?(:before_update)
@@ -117,7 +117,7 @@ module Sequel
117
117
  ##
118
118
  # Hook executed after updating an existing object.
119
119
  #
120
- # @since 06-02-2012
120
+ # @since 2012-02-06
121
121
  #
122
122
  def after_update
123
123
  super
@@ -130,7 +130,7 @@ module Sequel
130
130
  ##
131
131
  # Hook executed before removing an existing object.
132
132
  #
133
- # @since 06-02-2012
133
+ # @since 2012-02-06
134
134
  #
135
135
  def before_destroy
136
136
  if self.class.events and self.class.events.key?(:before_destroy)
@@ -143,7 +143,7 @@ module Sequel
143
143
  ##
144
144
  # Hook executed after removing an existing object.
145
145
  #
146
- # @since 06-02-2012
146
+ # @since 2012-02-06
147
147
  #
148
148
  def after_destroy
149
149
  super