validates_timeliness 3.0.15 → 4.0.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.travis.yml +21 -0
  3. data/CHANGELOG.rdoc +0 -5
  4. data/README.rdoc +5 -5
  5. data/gemfiles/rails_4_0.gemfile +19 -0
  6. data/gemfiles/rails_4_1.gemfile +19 -0
  7. data/gemfiles/rails_4_2.gemfile +19 -0
  8. data/lib/generators/validates_timeliness/templates/validates_timeliness.rb +2 -2
  9. data/lib/validates_timeliness.rb +1 -1
  10. data/lib/validates_timeliness/attribute_methods.rb +36 -36
  11. data/lib/validates_timeliness/extensions.rb +3 -4
  12. data/lib/validates_timeliness/extensions/date_time_select.rb +2 -9
  13. data/lib/validates_timeliness/extensions/multiparameter_handler.rb +59 -65
  14. data/lib/validates_timeliness/helper_methods.rb +8 -2
  15. data/lib/validates_timeliness/orm/active_record.rb +59 -13
  16. data/lib/validates_timeliness/validator.rb +13 -5
  17. data/lib/validates_timeliness/version.rb +1 -1
  18. data/spec/spec_helper.rb +3 -2
  19. data/spec/support/model_helpers.rb +4 -4
  20. data/spec/support/tag_matcher.rb +35 -0
  21. data/spec/support/test_model.rb +0 -1
  22. data/spec/validates_timeliness/attribute_methods_spec.rb +10 -10
  23. data/spec/validates_timeliness/conversion_spec.rb +41 -41
  24. data/spec/validates_timeliness/extensions/date_time_select_spec.rb +5 -4
  25. data/spec/validates_timeliness/extensions/multiparameter_handler_spec.rb +8 -7
  26. data/spec/validates_timeliness/helper_methods_spec.rb +8 -8
  27. data/spec/validates_timeliness/orm/active_record_spec.rb +37 -37
  28. data/spec/validates_timeliness/validator/after_spec.rb +3 -3
  29. data/spec/validates_timeliness/validator/before_spec.rb +3 -3
  30. data/spec/validates_timeliness/validator/is_at_spec.rb +4 -4
  31. data/spec/validates_timeliness/validator/on_or_after_spec.rb +3 -3
  32. data/spec/validates_timeliness/validator/on_or_before_spec.rb +3 -3
  33. data/spec/validates_timeliness/validator_spec.rb +26 -26
  34. data/spec/validates_timeliness_spec.rb +8 -8
  35. metadata +7 -11
  36. data/gemfiles/mongoid_2_1.gemfile +0 -16
  37. data/gemfiles/mongoid_2_2.gemfile +0 -16
  38. data/gemfiles/mongoid_2_3.gemfile +0 -16
  39. data/gemfiles/mongoid_2_4.gemfile +0 -16
  40. data/gemfiles/rails_3_0.gemfile +0 -15
  41. data/gemfiles/rails_3_1.gemfile +0 -15
  42. data/gemfiles/rails_3_2.gemfile +0 -15
  43. data/lib/validates_timeliness/orm/mongoid.rb +0 -49
  44. data/spec/validates_timeliness/orm/mongoid_spec.rb +0 -223
@@ -2,28 +2,28 @@ require 'spec_helper'
2
2
 
3
3
  describe ValidatesTimeliness::Validator do
4
4
  before do
5
- Timecop.freeze(Time.local_time(2010, 1, 1, 0, 0, 0))
5
+ Timecop.freeze(Time.local(2010, 1, 1, 0, 0, 0))
6
6
  end
7
7
 
8
8
  describe "Model.validates with :timeliness option" do
9
9
  it 'should use plugin validator class' do
10
10
  Person.validates :birth_date, :timeliness => {:is_at => Date.new(2010,1,1), :type => :date}
11
- Person.validators.should have(1).kind_of(ActiveModel::Validations::TimelinessValidator)
11
+ expect(Person.validators.select { |v| v.is_a?(ActiveModel::Validations::TimelinessValidator) }.size).to eq(1)
12
12
  invalid!(:birth_date, Date.new(2010,1,2))
13
13
  valid!(:birth_date, Date.new(2010,1,1))
14
14
  end
15
15
 
16
16
  it 'should use default to :datetime type' do
17
17
  Person.validates :birth_datetime, :timeliness => {:is_at => Time.mktime(2010,1,1)}
18
- Person.validators.first.type.should == :datetime
18
+ expect(Person.validators.first.type).to eq(:datetime)
19
19
  end
20
20
 
21
21
  it 'should add attribute to timeliness attributes set' do
22
- PersonWithShim.timeliness_validated_attributes.should_not include(:birth_time)
22
+ expect(PersonWithShim.timeliness_validated_attributes).not_to include(:birth_time)
23
23
 
24
24
  PersonWithShim.validates :birth_time, :timeliness => {:is_at => "12:30"}
25
25
 
26
- PersonWithShim.timeliness_validated_attributes.should include(:birth_time)
26
+ expect(PersonWithShim.timeliness_validated_attributes).to include(:birth_time)
27
27
  end
28
28
  end
29
29
 
@@ -35,10 +35,10 @@ describe ValidatesTimeliness::Validator do
35
35
  it 'should not be valid attribute is type cast to nil but raw value is non-nil invalid value' do
36
36
  Person.validates_date :birth_date, :allow_nil => true
37
37
  record = Person.new
38
- record.stub!(:birth_date).and_return(nil)
39
- record.stub!(:_timeliness_raw_value_for).and_return("Not a date")
40
- record.should_not be_valid
41
- record.errors[:birth_date].first.should == 'is not a valid date'
38
+ allow(record).to receive(:birth_date).and_return(nil)
39
+ allow(record).to receive(:read_timeliness_attribute_before_type_cast).and_return("Not a date")
40
+ expect(record).not_to be_valid
41
+ expect(record.errors[:birth_date].first).to eq('is not a valid date')
42
42
  end
43
43
 
44
44
  describe ":allow_nil option" do
@@ -60,7 +60,7 @@ describe ValidatesTimeliness::Validator do
60
60
  p = PersonWithShim.new
61
61
  p.birth_date = 'bogus'
62
62
 
63
- p.should_not be_valid
63
+ expect(p).not_to be_valid
64
64
  end
65
65
  end
66
66
  end
@@ -84,7 +84,7 @@ describe ValidatesTimeliness::Validator do
84
84
  p = PersonWithShim.new
85
85
  p.birth_date = 'bogus'
86
86
 
87
- p.should_not be_valid
87
+ expect(p).not_to be_valid
88
88
  end
89
89
  end
90
90
  end
@@ -94,8 +94,8 @@ describe ValidatesTimeliness::Validator do
94
94
  it 'should be split option into :on_or_after and :on_or_before values' do
95
95
  on_or_after, on_or_before = Date.new(2010,1,1), Date.new(2010,1,2)
96
96
  Person.validates_date :birth_date, :between => [on_or_after, on_or_before]
97
- Person.validators.first.options[:on_or_after].should == on_or_after
98
- Person.validators.first.options[:on_or_before].should == on_or_before
97
+ expect(Person.validators.first.options[:on_or_after]).to eq(on_or_after)
98
+ expect(Person.validators.first.options[:on_or_before]).to eq(on_or_before)
99
99
  invalid!(:birth_date, on_or_after - 1, "must be on or after 2010-01-01")
100
100
  invalid!(:birth_date, on_or_before + 1, "must be on or before 2010-01-02")
101
101
  valid!(:birth_date, on_or_after)
@@ -107,8 +107,8 @@ describe ValidatesTimeliness::Validator do
107
107
  it 'should be split option into :on_or_after and :on_or_before values' do
108
108
  on_or_after, on_or_before = Date.new(2010,1,1), Date.new(2010,1,2)
109
109
  Person.validates_date :birth_date, :between => on_or_after..on_or_before
110
- Person.validators.first.options[:on_or_after].should == on_or_after
111
- Person.validators.first.options[:on_or_before].should == on_or_before
110
+ expect(Person.validators.first.options[:on_or_after]).to eq(on_or_after)
111
+ expect(Person.validators.first.options[:on_or_before]).to eq(on_or_before)
112
112
  invalid!(:birth_date, on_or_after - 1, "must be on or after 2010-01-01")
113
113
  invalid!(:birth_date, on_or_before + 1, "must be on or before 2010-01-02")
114
114
  valid!(:birth_date, on_or_after)
@@ -120,8 +120,8 @@ describe ValidatesTimeliness::Validator do
120
120
  it 'should be split option into :on_or_after and :before values' do
121
121
  on_or_after, before = Date.new(2010,1,1), Date.new(2010,1,3)
122
122
  Person.validates_date :birth_date, :between => on_or_after...before
123
- Person.validators.first.options[:on_or_after].should == on_or_after
124
- Person.validators.first.options[:before].should == before
123
+ expect(Person.validators.first.options[:on_or_after]).to eq(on_or_after)
124
+ expect(Person.validators.first.options[:before]).to eq(before)
125
125
  invalid!(:birth_date, on_or_after - 1, "must be on or after 2010-01-01")
126
126
  invalid!(:birth_date, before, "must be before 2010-01-03")
127
127
  valid!(:birth_date, on_or_after)
@@ -159,13 +159,13 @@ describe ValidatesTimeliness::Validator do
159
159
  it "should be valid when value matches format" do
160
160
  person.birth_date = '11-12-1913'
161
161
  person.valid?
162
- person.errors[:birth_date].should be_empty
162
+ expect(person.errors[:birth_date]).to be_empty
163
163
  end
164
164
 
165
165
  it "should not be valid when value does not match format" do
166
166
  person.birth_date = '1913-12-11'
167
167
  person.valid?
168
- person.errors[:birth_date].should include('is not a valid date')
168
+ expect(person.errors[:birth_date]).to include('is not a valid date')
169
169
  end
170
170
  end
171
171
 
@@ -179,21 +179,21 @@ describe ValidatesTimeliness::Validator do
179
179
  it "should be added when ignore_restriction_errors is false" do
180
180
  with_config(:ignore_restriction_errors, false) do
181
181
  person.valid?
182
- person.errors[:birth_date].first.should match("Error occurred validating birth_date")
182
+ expect(person.errors[:birth_date].first).to match("Error occurred validating birth_date")
183
183
  end
184
184
  end
185
185
 
186
186
  it "should not be added when ignore_restriction_errors is true" do
187
187
  with_config(:ignore_restriction_errors, true) do
188
188
  person.valid?
189
- person.errors[:birth_date].should be_empty
189
+ expect(person.errors[:birth_date]).to be_empty
190
190
  end
191
191
  end
192
192
 
193
193
  it 'should exit on first error' do
194
194
  with_config(:ignore_restriction_errors, false) do
195
195
  person.valid?
196
- person.errors[:birth_date].should have(1).items
196
+ expect(person.errors[:birth_date].size).to eq(1)
197
197
  end
198
198
  end
199
199
  end
@@ -202,17 +202,17 @@ describe ValidatesTimeliness::Validator do
202
202
  describe "default" do
203
203
  it 'should format date error value as yyyy-mm-dd' do
204
204
  validator = ValidatesTimeliness::Validator.new(:attributes => [:birth_date], :type => :date)
205
- validator.format_error_value(Date.new(2010,1,1)).should == '2010-01-01'
205
+ expect(validator.format_error_value(Date.new(2010,1,1))).to eq('2010-01-01')
206
206
  end
207
207
 
208
208
  it 'should format time error value as hh:nn:ss' do
209
209
  validator = ValidatesTimeliness::Validator.new(:attributes => [:birth_time], :type => :time)
210
- validator.format_error_value(Time.mktime(2010,1,1,12,34,56)).should == '12:34:56'
210
+ expect(validator.format_error_value(Time.mktime(2010,1,1,12,34,56))).to eq('12:34:56')
211
211
  end
212
212
 
213
213
  it 'should format datetime error value as yyyy-mm-dd hh:nn:ss' do
214
214
  validator = ValidatesTimeliness::Validator.new(:attributes => [:birth_datetime], :type => :datetime)
215
- validator.format_error_value(Time.mktime(2010,1,1,12,34,56)).should == '2010-01-01 12:34:56'
215
+ expect(validator.format_error_value(Time.mktime(2010,1,1,12,34,56))).to eq('2010-01-01 12:34:56')
216
216
  end
217
217
  end
218
218
 
@@ -223,7 +223,7 @@ describe ValidatesTimeliness::Validator do
223
223
 
224
224
  it 'should use the default format for the type' do
225
225
  validator = ValidatesTimeliness::Validator.new(:attributes => [:birth_date], :type => :date)
226
- validator.format_error_value(Date.new(2010,1,1)).should == '2010-01-01'
226
+ expect(validator.format_error_value(Date.new(2010,1,1))).to eq('2010-01-01')
227
227
  end
228
228
 
229
229
  after :all do
@@ -3,39 +3,39 @@ require 'spec_helper'
3
3
  describe ValidatesTimeliness do
4
4
 
5
5
  it 'should alias use_euro_formats to remove_us_formats on Timeliness gem' do
6
- Timeliness.should respond_to(:remove_us_formats)
6
+ expect(Timeliness).to respond_to(:remove_us_formats)
7
7
  end
8
8
 
9
9
  it 'should alias to date_for_time_type to dummy_date_for_time_type on Timeliness gem' do
10
- Timeliness.should respond_to(:dummy_date_for_time_type)
10
+ expect(Timeliness).to respond_to(:dummy_date_for_time_type)
11
11
  end
12
12
 
13
13
  describe "config" do
14
14
  it 'should delegate default_timezone to Timeliness gem' do
15
- Timeliness.should_receive(:default_timezone=)
15
+ expect(Timeliness).to receive(:default_timezone=)
16
16
  ValidatesTimeliness.default_timezone = :utc
17
17
  end
18
18
 
19
19
  it 'should delegate dummy_date_for_time_type to Timeliness gem' do
20
- Timeliness.should_receive(:dummy_date_for_time_type)
21
- Timeliness.should_receive(:dummy_date_for_time_type=)
20
+ expect(Timeliness).to receive(:dummy_date_for_time_type)
21
+ expect(Timeliness).to receive(:dummy_date_for_time_type=)
22
22
  array = ValidatesTimeliness.dummy_date_for_time_type
23
23
  ValidatesTimeliness.dummy_date_for_time_type = array
24
24
  end
25
25
 
26
26
  context "parser" do
27
27
  it 'should delegate add_formats to Timeliness gem' do
28
- Timeliness.should_receive(:add_formats)
28
+ expect(Timeliness).to receive(:add_formats)
29
29
  ValidatesTimeliness.parser.add_formats
30
30
  end
31
31
 
32
32
  it 'should delegate remove_formats to Timeliness gem' do
33
- Timeliness.should_receive(:remove_formats)
33
+ expect(Timeliness).to receive(:remove_formats)
34
34
  ValidatesTimeliness.parser.remove_formats
35
35
  end
36
36
 
37
37
  it 'should delegate remove_us_formats to Timeliness gem' do
38
- Timeliness.should_receive(:remove_us_formats)
38
+ expect(Timeliness).to receive(:remove_us_formats)
39
39
  ValidatesTimeliness.parser.remove_us_formats
40
40
  end
41
41
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: validates_timeliness
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.15
4
+ version: 4.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam Meehan
@@ -34,17 +34,14 @@ extra_rdoc_files:
34
34
  - CHANGELOG.rdoc
35
35
  - LICENSE
36
36
  files:
37
+ - ".travis.yml"
37
38
  - CHANGELOG.rdoc
38
39
  - LICENSE
39
40
  - README.rdoc
40
41
  - Rakefile
41
- - gemfiles/mongoid_2_1.gemfile
42
- - gemfiles/mongoid_2_2.gemfile
43
- - gemfiles/mongoid_2_3.gemfile
44
- - gemfiles/mongoid_2_4.gemfile
45
- - gemfiles/rails_3_0.gemfile
46
- - gemfiles/rails_3_1.gemfile
47
- - gemfiles/rails_3_2.gemfile
42
+ - gemfiles/rails_4_0.gemfile
43
+ - gemfiles/rails_4_1.gemfile
44
+ - gemfiles/rails_4_2.gemfile
48
45
  - init.rb
49
46
  - lib/generators/validates_timeliness/install_generator.rb
50
47
  - lib/generators/validates_timeliness/templates/en.yml
@@ -57,13 +54,13 @@ files:
57
54
  - lib/validates_timeliness/extensions/multiparameter_handler.rb
58
55
  - lib/validates_timeliness/helper_methods.rb
59
56
  - lib/validates_timeliness/orm/active_record.rb
60
- - lib/validates_timeliness/orm/mongoid.rb
61
57
  - lib/validates_timeliness/railtie.rb
62
58
  - lib/validates_timeliness/validator.rb
63
59
  - lib/validates_timeliness/version.rb
64
60
  - spec/spec_helper.rb
65
61
  - spec/support/config_helper.rb
66
62
  - spec/support/model_helpers.rb
63
+ - spec/support/tag_matcher.rb
67
64
  - spec/support/test_model.rb
68
65
  - spec/validates_timeliness/attribute_methods_spec.rb
69
66
  - spec/validates_timeliness/conversion_spec.rb
@@ -71,7 +68,6 @@ files:
71
68
  - spec/validates_timeliness/extensions/multiparameter_handler_spec.rb
72
69
  - spec/validates_timeliness/helper_methods_spec.rb
73
70
  - spec/validates_timeliness/orm/active_record_spec.rb
74
- - spec/validates_timeliness/orm/mongoid_spec.rb
75
71
  - spec/validates_timeliness/validator/after_spec.rb
76
72
  - spec/validates_timeliness/validator/before_spec.rb
77
73
  - spec/validates_timeliness/validator/is_at_spec.rb
@@ -107,6 +103,7 @@ test_files:
107
103
  - spec/spec_helper.rb
108
104
  - spec/support/config_helper.rb
109
105
  - spec/support/model_helpers.rb
106
+ - spec/support/tag_matcher.rb
110
107
  - spec/support/test_model.rb
111
108
  - spec/validates_timeliness/attribute_methods_spec.rb
112
109
  - spec/validates_timeliness/conversion_spec.rb
@@ -114,7 +111,6 @@ test_files:
114
111
  - spec/validates_timeliness/extensions/multiparameter_handler_spec.rb
115
112
  - spec/validates_timeliness/helper_methods_spec.rb
116
113
  - spec/validates_timeliness/orm/active_record_spec.rb
117
- - spec/validates_timeliness/orm/mongoid_spec.rb
118
114
  - spec/validates_timeliness/validator/after_spec.rb
119
115
  - spec/validates_timeliness/validator/before_spec.rb
120
116
  - spec/validates_timeliness/validator/is_at_spec.rb
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.2.6"
6
- gem "rspec", "~> 2.8"
7
- gem "rspec-rails", "~> 2.8"
8
- gem "timecop"
9
- gem "rspec_tag_matchers"
10
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
11
- gem "debugger", :platforms=>[:ruby_19]
12
- gem "appraisal"
13
- gem "sqlite3"
14
- gem "mongoid", "~> 2.1.0"
15
-
16
- gemspec :path=>"../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.2.6"
6
- gem "rspec", "~> 2.8"
7
- gem "rspec-rails", "~> 2.8"
8
- gem "timecop"
9
- gem "rspec_tag_matchers"
10
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
11
- gem "debugger", :platforms=>[:ruby_19]
12
- gem "appraisal"
13
- gem "sqlite3"
14
- gem "mongoid", "~> 2.2.0"
15
-
16
- gemspec :path=>"../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.2.6"
6
- gem "rspec", "~> 2.8"
7
- gem "rspec-rails", "~> 2.8"
8
- gem "timecop"
9
- gem "rspec_tag_matchers"
10
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
11
- gem "debugger", :platforms=>[:ruby_19]
12
- gem "appraisal"
13
- gem "sqlite3"
14
- gem "mongoid", "~> 2.3.0"
15
-
16
- gemspec :path=>"../"
@@ -1,16 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rails", "~> 3.2.6"
6
- gem "rspec", "~> 2.8"
7
- gem "rspec-rails", "~> 2.8"
8
- gem "timecop"
9
- gem "rspec_tag_matchers"
10
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
11
- gem "debugger", :platforms=>[:ruby_19]
12
- gem "appraisal"
13
- gem "sqlite3"
14
- gem "mongoid", "~> 2.4.0"
15
-
16
- gemspec :path=>"../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rspec", "~> 2.8"
6
- gem "rspec-rails", "~> 2.8"
7
- gem "timecop"
8
- gem "rspec_tag_matchers"
9
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
10
- gem "debugger", :platforms=>[:ruby_19]
11
- gem "appraisal"
12
- gem "sqlite3"
13
- gem "rails", "~> 3.0.0"
14
-
15
- gemspec :path=>"../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rspec", "~> 2.8"
6
- gem "rspec-rails", "~> 2.8"
7
- gem "timecop"
8
- gem "rspec_tag_matchers"
9
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
10
- gem "debugger", :platforms=>[:ruby_19]
11
- gem "appraisal"
12
- gem "sqlite3"
13
- gem "rails", "~> 3.1.0"
14
-
15
- gemspec :path=>"../"
@@ -1,15 +0,0 @@
1
- # This file was generated by Appraisal
2
-
3
- source "http://rubygems.org"
4
-
5
- gem "rspec", "~> 2.8"
6
- gem "rspec-rails", "~> 2.8"
7
- gem "timecop"
8
- gem "rspec_tag_matchers"
9
- gem "ruby-debug", :platforms=>[:ruby_18, :jruby]
10
- gem "debugger", :platforms=>[:ruby_19]
11
- gem "appraisal"
12
- gem "sqlite3"
13
- gem "rails", "~> 3.2.0"
14
-
15
- gemspec :path=>"../"
@@ -1,49 +0,0 @@
1
- module ValidatesTimeliness
2
- module ORM
3
- module Mongoid
4
- extend ActiveSupport::Concern
5
- # You need define the fields before you define the validations.
6
- # It is best to use the plugin parser to avoid errors on a bad
7
- # field value in Mongoid. Parser will return nil rather than error.
8
-
9
- module ClassMethods
10
- public
11
-
12
- # Mongoid has no bulk attribute method definition hook. It defines
13
- # them with each field definition. So we likewise define them after
14
- # each validation is defined.
15
- #
16
- def timeliness_validation_for(attr_names, type)
17
- super
18
- attr_names.each { |attr_name| define_timeliness_write_method(attr_name) }
19
- end
20
-
21
- def timeliness_attribute_type(attr_name)
22
- {
23
- Date => :date,
24
- Time => :time,
25
- DateTime => :datetime
26
- }[fields[database_field_name(attr_name)].type] || :datetime
27
- end
28
-
29
- protected
30
-
31
- def timeliness_type_cast_code(attr_name, var_name)
32
- type = timeliness_attribute_type(attr_name)
33
-
34
- "#{var_name} = Timeliness::Parser.parse(value, :#{type})"
35
- end
36
- end
37
-
38
- def reload(*args)
39
- _clear_timeliness_cache
40
- super
41
- end
42
- end
43
- end
44
- end
45
-
46
- module Mongoid::Document
47
- include ValidatesTimeliness::AttributeMethods
48
- include ValidatesTimeliness::ORM::Mongoid
49
- end