rspec-validates_timeliness 0.1.0 → 0.1.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.travis.yml +9 -1
- data/README.md +14 -9
- data/lib/rspec-validates_timeliness/matchers.rb +3 -0
- data/lib/rspec-validates_timeliness/matchers/expected_value.rb +7 -6
- data/lib/rspec-validates_timeliness/matchers/validates_date_matcher.rb +16 -0
- data/lib/rspec-validates_timeliness/matchers/validates_datetime_matcher.rb +16 -0
- data/lib/rspec-validates_timeliness/matchers/validates_time_matcher.rb +16 -0
- data/lib/rspec-validates_timeliness/matchers/validation_matcher.rb +10 -14
- data/lib/rspec-validates_timeliness/version.rb +1 -1
- data/spec/acceptance/validates_date_spec.rb +3 -3
- data/spec/acceptance/{validates_date_time_spec.rb → validates_datetime_spec.rb} +6 -6
- data/spec/lib/rspec-validates_timeliness/matchers/expected_value_spec.rb +22 -11
- data/spec/lib/rspec-validates_timeliness/matchers/validates_date_matcher_spec.rb +4 -0
- data/spec/lib/rspec-validates_timeliness/matchers/validates_datetime_matcher_spec.rb +4 -0
- data/spec/lib/rspec-validates_timeliness/matchers/validates_time_matcher_spec.rb +5 -0
- data/spec/lib/rspec-validates_timeliness/matchers_spec.rb +13 -9
- metadata +12 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 29e14959d36cf8d82f3c1b1f628d57d5124ad4d4
|
4
|
+
data.tar.gz: f66a2898132974c51bf5a783f3c388e3088927bf
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 65f71a940a09f8ccb851fd35efe7cbe2a3f0ef1fada7aa2f1b159e36de84be7b5310dc51b9bfab4e497a44430384c071c92ed8b2357b84ab738e5c4590305a25
|
7
|
+
data.tar.gz: 22a2f0ecedd75841d16b20d28deba1a7805048553d3e262b4d14075d053900f1311d4b78197da5923c042e36fec74daf0e547fbd31ea272b43044277eeaf0351
|
data/.travis.yml
CHANGED
@@ -1,5 +1,13 @@
|
|
1
1
|
sudo: false
|
2
2
|
language: ruby
|
3
3
|
rvm:
|
4
|
+
- 2.1
|
5
|
+
- 2.2
|
6
|
+
- 2.3.0
|
4
7
|
- 2.3.1
|
5
|
-
before_install:
|
8
|
+
before_install:
|
9
|
+
- "gem install bundler -v '~> 1.12'"
|
10
|
+
bundler_args: "--jobs=2"
|
11
|
+
cache: bundler
|
12
|
+
script:
|
13
|
+
- "bundle exec rspec"
|
data/README.md
CHANGED
@@ -1,13 +1,12 @@
|
|
1
|
-
# RSpec::ValidatesTimeliness
|
1
|
+
# RSpec::ValidatesTimeliness [](https://travis-ci.org/yhirano55/rspec-validates_timeliness)
|
2
2
|
|
3
3
|
Simple RSpec matchers for [validates_timeliness](https://github.com/adzap/validates_timeliness)
|
4
4
|
|
5
5
|
## Matchers
|
6
6
|
|
7
|
-
- **
|
8
|
-
- **
|
9
|
-
- **
|
10
|
-
- **validates_time** tests usage of `validate_time` (alias of `validates_timeliness_of`).
|
7
|
+
- **validates_datetime** tests usage of validates_timeliness's `validates_datetime`.
|
8
|
+
- **validates_date** tests usage of validates_timeliness's `validates_date`.
|
9
|
+
- **validates_time** tests usage of validates_timeliness's `validate_time`.
|
11
10
|
|
12
11
|
## Installation
|
13
12
|
|
@@ -37,8 +36,8 @@ class Person
|
|
37
36
|
validates_time :breakfast_time, is_at: '7:00am'
|
38
37
|
validates_time :updated_at, between: ['9:00am', '5:00pm']
|
39
38
|
|
40
|
-
# validates_datetime :start_time, before: :finish_time **[
|
41
|
-
# validates_date :created_at, on_or_after: :today **[
|
39
|
+
# validates_datetime :start_time, before: :finish_time **[NOT SUPPORT] Method symbol
|
40
|
+
# validates_date :created_at, on_or_after: :today **[NOT SUPPORT] Shorthand
|
42
41
|
end
|
43
42
|
```
|
44
43
|
|
@@ -48,9 +47,11 @@ And with `rspec-validates_timeliness` we can now make simple assertions about th
|
|
48
47
|
require 'spec_helper'
|
49
48
|
|
50
49
|
describe Person, type: :model do
|
51
|
-
it { is_expected.to validates_date(:date_of_birth).before { 18.years.ago
|
50
|
+
it { is_expected.to validates_date(:date_of_birth).before(lambda { 18.years.ago }) }
|
51
|
+
it { is_expected.to validates_date(:date_of_birth).before { 18.years.ago } } # The same as previous example
|
52
52
|
it { is_expected.to validates_time(:breakfast_time).is_at('7:00am') }
|
53
53
|
it { is_expected.to validates_time(:updated_at).between(['9:00am', '5:00pm']) }
|
54
|
+
it { is_expected.to validates_time(:updated_at).on_or_after('9:00am').on_or_before('5:00pm') } # The same as previous example
|
54
55
|
end
|
55
56
|
```
|
56
57
|
|
@@ -64,4 +65,8 @@ end
|
|
64
65
|
|
65
66
|
## Changelog
|
66
67
|
|
67
|
-
|
68
|
+
#### Release 0.1.1 (Jun 13, 2016)
|
69
|
+
|
70
|
+
* Fix to optimize expected values.
|
71
|
+
|
72
|
+
#### Release 0.1.0 (Jun 12, 2016)
|
@@ -6,6 +6,9 @@ require 'rspec-validates_timeliness/matchers/expected_value'
|
|
6
6
|
require 'rspec-validates_timeliness/matchers/message_builder'
|
7
7
|
require 'rspec-validates_timeliness/matchers/validation_matcher'
|
8
8
|
require 'rspec-validates_timeliness/matchers/validator_proxy'
|
9
|
+
require 'rspec-validates_timeliness/matchers/validates_date_matcher'
|
10
|
+
require 'rspec-validates_timeliness/matchers/validates_datetime_matcher'
|
11
|
+
require 'rspec-validates_timeliness/matchers/validates_time_matcher'
|
9
12
|
|
10
13
|
module RSpec
|
11
14
|
module ValidatesTimeliness
|
@@ -1,8 +1,8 @@
|
|
1
1
|
module RSpec::ValidatesTimeliness
|
2
2
|
module Matchers
|
3
3
|
class ExpectedValue
|
4
|
-
def initialize(value)
|
5
|
-
@value = evaluate(value)
|
4
|
+
def initialize(value, type)
|
5
|
+
@value = evaluate(value, type)
|
6
6
|
end
|
7
7
|
|
8
8
|
def equal
|
@@ -31,11 +31,12 @@ module RSpec::ValidatesTimeliness
|
|
31
31
|
|
32
32
|
attr_reader :value
|
33
33
|
|
34
|
-
def evaluate(value)
|
34
|
+
def evaluate(value, type)
|
35
35
|
case value
|
36
|
-
when Proc
|
37
|
-
|
38
|
-
when
|
36
|
+
when Proc
|
37
|
+
value.call.try("to_#{type}")
|
38
|
+
when Time, DateTime, Date, String
|
39
|
+
value.try("to_#{type}")
|
39
40
|
else nil
|
40
41
|
end
|
41
42
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
module RSpec::ValidatesTimeliness
|
2
|
+
module Matchers
|
3
|
+
def validates_datetime(attr_name)
|
4
|
+
ValidatesDatetimeMatcher.new(attr_name)
|
5
|
+
end
|
6
|
+
|
7
|
+
class ValidatesDatetimeMatcher < ValidationMatcher
|
8
|
+
private
|
9
|
+
|
10
|
+
def type
|
11
|
+
:datetime
|
12
|
+
end
|
13
|
+
end
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
@@ -1,13 +1,5 @@
|
|
1
1
|
module RSpec::ValidatesTimeliness
|
2
2
|
module Matchers
|
3
|
-
def validates_timeliness_of(attr_name)
|
4
|
-
ValidationMatcher.new(attr_name)
|
5
|
-
end
|
6
|
-
|
7
|
-
alias validates_date validates_timeliness_of
|
8
|
-
alias validates_time validates_timeliness_of
|
9
|
-
alias validates_datetime validates_timeliness_of
|
10
|
-
|
11
3
|
class ValidationMatcher
|
12
4
|
attr_reader :description
|
13
5
|
|
@@ -68,7 +60,7 @@ module RSpec::ValidatesTimeliness
|
|
68
60
|
|
69
61
|
private
|
70
62
|
|
71
|
-
attr_reader :attr_name, :options, :subject
|
63
|
+
attr_reader :attr_name, :options, :subject, :type
|
72
64
|
|
73
65
|
def base_description
|
74
66
|
"validate that :#{attr_name} must be"
|
@@ -93,7 +85,7 @@ module RSpec::ValidatesTimeliness
|
|
93
85
|
|
94
86
|
def is_at_correct?
|
95
87
|
run_correct do
|
96
|
-
value = ExpectedValue.new(options[:is_at])
|
88
|
+
value = ExpectedValue.new(options[:is_at], type)
|
97
89
|
description << "at #{value.equal}"
|
98
90
|
valid?(value.equal) && invalid?(value.over) && invalid?(value.under)
|
99
91
|
end
|
@@ -101,7 +93,7 @@ module RSpec::ValidatesTimeliness
|
|
101
93
|
|
102
94
|
def after_correct?
|
103
95
|
run_correct do
|
104
|
-
value = ExpectedValue.new(options[:after])
|
96
|
+
value = ExpectedValue.new(options[:after], type)
|
105
97
|
description << "after #{value.equal}"
|
106
98
|
valid?(value.over) && invalid?(value.equal) && invalid?(value.under)
|
107
99
|
end
|
@@ -109,7 +101,7 @@ module RSpec::ValidatesTimeliness
|
|
109
101
|
|
110
102
|
def on_or_after_correct?
|
111
103
|
run_correct do
|
112
|
-
value = ExpectedValue.new(options[:on_or_after])
|
104
|
+
value = ExpectedValue.new(options[:on_or_after], type)
|
113
105
|
description << "on or after #{value.equal}"
|
114
106
|
valid?(value.equal) && valid?(value.over) && invalid?(value.under)
|
115
107
|
end
|
@@ -117,7 +109,7 @@ module RSpec::ValidatesTimeliness
|
|
117
109
|
|
118
110
|
def before_correct?
|
119
111
|
run_correct do
|
120
|
-
value = ExpectedValue.new(options[:before])
|
112
|
+
value = ExpectedValue.new(options[:before], type)
|
121
113
|
description << "before #{value.equal}"
|
122
114
|
valid?(value.under) && invalid?(value.equal) && invalid?(value.over)
|
123
115
|
end
|
@@ -125,7 +117,7 @@ module RSpec::ValidatesTimeliness
|
|
125
117
|
|
126
118
|
def on_or_before_correct?
|
127
119
|
run_correct do
|
128
|
-
value = ExpectedValue.new(options[:on_or_before])
|
120
|
+
value = ExpectedValue.new(options[:on_or_before], type)
|
129
121
|
description << "on or before #{value.equal}"
|
130
122
|
valid?(value.equal) && valid?(value.under) && invalid?(value.over)
|
131
123
|
end
|
@@ -135,6 +127,10 @@ module RSpec::ValidatesTimeliness
|
|
135
127
|
@validator_proxy ||= ValidatorProxy.new(subject, attr_name)
|
136
128
|
end
|
137
129
|
|
130
|
+
def type
|
131
|
+
fail NotImplementedError
|
132
|
+
end
|
133
|
+
|
138
134
|
delegate :valid?, to: :validator_proxy
|
139
135
|
delegate :invalid?, to: :validator_proxy
|
140
136
|
end
|
@@ -13,7 +13,7 @@ end
|
|
13
13
|
|
14
14
|
describe ValidatesDate do
|
15
15
|
it { is_expected.to validates_date(:date_of_birth).is_at { Date.current } }
|
16
|
-
it { is_expected.to validates_date(:date_of_start).after { 1.week.ago
|
17
|
-
it { is_expected.to validates_date(:date_of_finish).on_or_after { 1.year.ago
|
18
|
-
it { is_expected.to validates_date(:date_of_expiry).between([3.days.ago
|
16
|
+
it { is_expected.to validates_date(:date_of_start).after { 1.week.ago }.before { 1.week.since } }
|
17
|
+
it { is_expected.to validates_date(:date_of_finish).on_or_after { 1.year.ago }.on_or_before { 1.year.since } }
|
18
|
+
it { is_expected.to validates_date(:date_of_expiry).between([3.days.ago, 3.days.since]) }
|
19
19
|
end
|
@@ -1,19 +1,19 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
|
-
class
|
3
|
+
class ValidatesDatetime
|
4
4
|
include ActiveModel::Model
|
5
5
|
|
6
6
|
attr_reader :started_at, :finished_at, :created_at, :updated_at
|
7
7
|
|
8
8
|
validates_datetime :started_at, is_at: lambda { DateTime.current }
|
9
|
-
validates_datetime :finished_at, after: lambda { 1.week.ago
|
10
|
-
validates_datetime :created_at, on_or_after: lambda { 1.year.ago
|
9
|
+
validates_datetime :finished_at, after: lambda { 1.week.ago }, before: lambda { 1.week.since }
|
10
|
+
validates_datetime :created_at, on_or_after: lambda { 1.year.ago }, on_or_before: lambda { 1.year.since }
|
11
11
|
validates_datetime :updated_at, between: [DateTime.new(2008, 9, 1, 10, 5, 0), DateTime.new(2009, 4, 1, 0, 30, 0)]
|
12
12
|
end
|
13
13
|
|
14
|
-
describe
|
14
|
+
describe ValidatesDatetime do
|
15
15
|
it { is_expected.to validates_datetime(:started_at).is_at { DateTime.current } }
|
16
|
-
it { is_expected.to validates_datetime(:finished_at).after { 1.week.ago
|
17
|
-
it { is_expected.to validates_datetime(:created_at).on_or_after { 1.year.ago
|
16
|
+
it { is_expected.to validates_datetime(:finished_at).after { 1.week.ago }.before { 1.week.since } }
|
17
|
+
it { is_expected.to validates_datetime(:created_at).on_or_after { 1.year.ago }.on_or_before { 1.year.since } }
|
18
18
|
it { is_expected.to validates_datetime(:updated_at).between([DateTime.new(2008, 9, 1, 10, 5, 0), DateTime.new(2009, 4, 1, 0, 30, 0)]) }
|
19
19
|
end
|
@@ -3,7 +3,7 @@ require 'spec_helper'
|
|
3
3
|
describe RSpec::ValidatesTimeliness::Matchers::ExpectedValue do
|
4
4
|
describe '#equal' do
|
5
5
|
let(:result) { Date.current }
|
6
|
-
let(:model) { described_class.new(result) }
|
6
|
+
let(:model) { described_class.new(result, :date) }
|
7
7
|
|
8
8
|
subject { model.equal }
|
9
9
|
|
@@ -11,12 +11,13 @@ describe RSpec::ValidatesTimeliness::Matchers::ExpectedValue do
|
|
11
11
|
end
|
12
12
|
|
13
13
|
describe '#over' do
|
14
|
-
let(:model) { described_class.new(value) }
|
14
|
+
let(:model) { described_class.new(value, type) }
|
15
15
|
|
16
16
|
subject { model.over }
|
17
17
|
|
18
18
|
context 'value is kind of Date' do
|
19
19
|
let(:value) { Date.current }
|
20
|
+
let(:type) { :date }
|
20
21
|
let(:result) { value + 1.day }
|
21
22
|
|
22
23
|
it 'returns value + 1.day (tomorrow)' do
|
@@ -26,6 +27,7 @@ describe RSpec::ValidatesTimeliness::Matchers::ExpectedValue do
|
|
26
27
|
|
27
28
|
context 'value is not kind of Date' do
|
28
29
|
let(:value) { DateTime.current }
|
30
|
+
let(:type) { :datetime }
|
29
31
|
let(:result) { value + 1.second }
|
30
32
|
|
31
33
|
it 'returns value + 1.second' do
|
@@ -35,12 +37,13 @@ describe RSpec::ValidatesTimeliness::Matchers::ExpectedValue do
|
|
35
37
|
end
|
36
38
|
|
37
39
|
describe '#under' do
|
38
|
-
let(:model) { described_class.new(value) }
|
40
|
+
let(:model) { described_class.new(value, type) }
|
39
41
|
|
40
42
|
subject { model.under }
|
41
43
|
|
42
44
|
context 'value is kind of Date' do
|
43
45
|
let(:value) { Date.current }
|
46
|
+
let(:type) { :date }
|
44
47
|
let(:result) { value - 1.day }
|
45
48
|
|
46
49
|
it 'returns value - 1.day (yesterday)' do
|
@@ -50,6 +53,7 @@ describe RSpec::ValidatesTimeliness::Matchers::ExpectedValue do
|
|
50
53
|
|
51
54
|
context 'value is not kind of Date' do
|
52
55
|
let(:value) { DateTime.current }
|
56
|
+
let(:type) { :datetime }
|
53
57
|
let(:result) { value - 1.second }
|
54
58
|
|
55
59
|
it 'returns value - 1.second' do
|
@@ -59,39 +63,46 @@ describe RSpec::ValidatesTimeliness::Matchers::ExpectedValue do
|
|
59
63
|
end
|
60
64
|
|
61
65
|
describe '#evaluate' do
|
62
|
-
let(:model) { described_class.new(nil) }
|
66
|
+
let(:model) { described_class.new(nil, nil) }
|
67
|
+
let(:type) { :datetime }
|
63
68
|
|
64
|
-
subject { model.send(:evaluate, value) }
|
69
|
+
subject { model.send(:evaluate, value, type) }
|
70
|
+
|
71
|
+
shared_examples 'exactly value' do
|
72
|
+
let(:result) { value.try("to_#{type}") }
|
73
|
+
|
74
|
+
it { is_expected.to eq result }
|
75
|
+
end
|
65
76
|
|
66
77
|
context 'velue is kind of Proc' do
|
67
78
|
let(:value) { proc { Date.today } }
|
79
|
+
let(:result) { value.call.try("to_#{type}") }
|
68
80
|
|
69
|
-
it { is_expected.to eq
|
81
|
+
it { is_expected.to eq result }
|
70
82
|
end
|
71
83
|
|
72
84
|
context 'value is kind of Time' do
|
73
85
|
let(:value) { Time.now }
|
74
86
|
|
75
|
-
|
87
|
+
it_behaves_like 'exactly value'
|
76
88
|
end
|
77
89
|
|
78
90
|
context 'value is kind of DateTime' do
|
79
91
|
let(:value) { DateTime.current }
|
80
92
|
|
81
|
-
|
93
|
+
it_behaves_like 'exactly value'
|
82
94
|
end
|
83
95
|
|
84
96
|
context 'value is kind of Date' do
|
85
97
|
let(:value) { Date.current }
|
86
98
|
|
87
|
-
|
99
|
+
it_behaves_like 'exactly value'
|
88
100
|
end
|
89
101
|
|
90
102
|
context 'value is kind of String' do
|
91
103
|
let(:value) { '9:00am' }
|
92
|
-
let(:result) { value.to_time }
|
93
104
|
|
94
|
-
|
105
|
+
it_behaves_like 'exactly value'
|
95
106
|
end
|
96
107
|
|
97
108
|
context 'value is not kind of Proc, Time, DateTime, Date' do
|
@@ -1,18 +1,22 @@
|
|
1
1
|
require 'spec_helper'
|
2
2
|
|
3
3
|
describe RSpec::ValidatesTimeliness::Matchers do
|
4
|
-
|
5
|
-
|
6
|
-
|
7
|
-
include RSpec::ValidatesTimeliness::Matchers
|
8
|
-
end
|
4
|
+
before do
|
5
|
+
class DummyModel
|
6
|
+
include RSpec::ValidatesTimeliness::Matchers
|
9
7
|
end
|
8
|
+
end
|
9
|
+
|
10
|
+
let(:model) { DummyModel.new }
|
11
|
+
let(:attr_name) { :one }
|
10
12
|
|
11
|
-
|
12
|
-
|
13
|
+
%i(validates_date validates_datetime validates_time).each do |matcher_name|
|
14
|
+
describe "##{matcher_name}" do
|
15
|
+
let(:type) { "RSpec::ValidatesTimeliness::Matchers::#{matcher_name.to_s.classify}Matcher".constantize }
|
13
16
|
|
14
|
-
|
17
|
+
subject { model.try(matcher_name, attr_name) }
|
15
18
|
|
16
|
-
|
19
|
+
it { is_expected.to be_kind_of(type) }
|
20
|
+
end
|
17
21
|
end
|
18
22
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rspec-validates_timeliness
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Yoshiyuki Hirano
|
@@ -130,15 +130,21 @@ files:
|
|
130
130
|
- lib/rspec-validates_timeliness/matchers.rb
|
131
131
|
- lib/rspec-validates_timeliness/matchers/expected_value.rb
|
132
132
|
- lib/rspec-validates_timeliness/matchers/message_builder.rb
|
133
|
+
- lib/rspec-validates_timeliness/matchers/validates_date_matcher.rb
|
134
|
+
- lib/rspec-validates_timeliness/matchers/validates_datetime_matcher.rb
|
135
|
+
- lib/rspec-validates_timeliness/matchers/validates_time_matcher.rb
|
133
136
|
- lib/rspec-validates_timeliness/matchers/validation_matcher.rb
|
134
137
|
- lib/rspec-validates_timeliness/matchers/validator_proxy.rb
|
135
138
|
- lib/rspec-validates_timeliness/version.rb
|
136
139
|
- rspec-validates_timeliness.gemspec
|
137
140
|
- spec/acceptance/validates_date_spec.rb
|
138
|
-
- spec/acceptance/
|
141
|
+
- spec/acceptance/validates_datetime_spec.rb
|
139
142
|
- spec/acceptance/validates_time_spec.rb
|
140
143
|
- spec/lib/rspec-validates_timeliness/matchers/expected_value_spec.rb
|
141
144
|
- spec/lib/rspec-validates_timeliness/matchers/message_builder_spec.rb
|
145
|
+
- spec/lib/rspec-validates_timeliness/matchers/validates_date_matcher_spec.rb
|
146
|
+
- spec/lib/rspec-validates_timeliness/matchers/validates_datetime_matcher_spec.rb
|
147
|
+
- spec/lib/rspec-validates_timeliness/matchers/validates_time_matcher_spec.rb
|
142
148
|
- spec/lib/rspec-validates_timeliness/matchers/validation_matcher_spec.rb
|
143
149
|
- spec/lib/rspec-validates_timeliness/matchers/validator_proxy_spec.rb
|
144
150
|
- spec/lib/rspec-validates_timeliness/matchers_spec.rb
|
@@ -169,10 +175,13 @@ specification_version: 4
|
|
169
175
|
summary: Simple RSpec matchers for validates_timeliness
|
170
176
|
test_files:
|
171
177
|
- spec/acceptance/validates_date_spec.rb
|
172
|
-
- spec/acceptance/
|
178
|
+
- spec/acceptance/validates_datetime_spec.rb
|
173
179
|
- spec/acceptance/validates_time_spec.rb
|
174
180
|
- spec/lib/rspec-validates_timeliness/matchers/expected_value_spec.rb
|
175
181
|
- spec/lib/rspec-validates_timeliness/matchers/message_builder_spec.rb
|
182
|
+
- spec/lib/rspec-validates_timeliness/matchers/validates_date_matcher_spec.rb
|
183
|
+
- spec/lib/rspec-validates_timeliness/matchers/validates_datetime_matcher_spec.rb
|
184
|
+
- spec/lib/rspec-validates_timeliness/matchers/validates_time_matcher_spec.rb
|
176
185
|
- spec/lib/rspec-validates_timeliness/matchers/validation_matcher_spec.rb
|
177
186
|
- spec/lib/rspec-validates_timeliness/matchers/validator_proxy_spec.rb
|
178
187
|
- spec/lib/rspec-validates_timeliness/matchers_spec.rb
|