rspec-validates_timeliness 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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 [![Build Status](https://travis-ci.org/yhirano55/rspec-validates_timeliness.svg?branch=master)](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
|