daily_affirmation 0.8.0 → 0.8.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
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 324f16541c789eee4d66b3c7986f53c0a21590a0
|
4
|
+
data.tar.gz: b602bca65f7b876b598af6af81a1b32180a65f2c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a91d08b3c6a0596a6d644c3483938cab4c79f45b9ed6e8eef023eefe814d448d38ba1afa1e4b997dd062ce7efde4b0bd1a5af6eb7d3ddf9e6ad19cdd4fc07411
|
7
|
+
data.tar.gz: e73cf19e62430dfa2ba3e81ce23cf533376d074e4b089734b2cc23851b57d5f1d4d76387d6efa3e8a05b4f143883a152cc8d866644f59324bf1ba46faebbbafd
|
@@ -4,7 +4,7 @@ module DailyAffirmation
|
|
4
4
|
module Validators
|
5
5
|
class DateValidator < Validator
|
6
6
|
def valid?
|
7
|
-
@valid ||= parseable?
|
7
|
+
@valid ||= parseable? && before? && after?
|
8
8
|
end
|
9
9
|
|
10
10
|
def error_message
|
@@ -25,6 +25,22 @@ module DailyAffirmation
|
|
25
25
|
opts.fetch(:as, :date)
|
26
26
|
end
|
27
27
|
|
28
|
+
def before?
|
29
|
+
if opts[:before]
|
30
|
+
value < opts[:before]
|
31
|
+
else
|
32
|
+
true
|
33
|
+
end
|
34
|
+
end
|
35
|
+
|
36
|
+
def after?
|
37
|
+
if opts[:after]
|
38
|
+
value > opts[:after]
|
39
|
+
else
|
40
|
+
true
|
41
|
+
end
|
42
|
+
end
|
43
|
+
|
28
44
|
def klass
|
29
45
|
case as
|
30
46
|
when :date
|
@@ -132,4 +132,32 @@ describe "DateValidator" do
|
|
132
132
|
}.to raise_error(DailyAffirmation::OptionError)
|
133
133
|
end
|
134
134
|
end
|
135
|
+
|
136
|
+
context "the :before option is passed" do
|
137
|
+
it "passes validation if the date is before the date passed in :before" do
|
138
|
+
obj = double(:created_at => Date.today.prev_year(2))
|
139
|
+
validator = subject.new(obj, :created_at, :before => Date.today.prev_year)
|
140
|
+
expect(validator).to be_valid
|
141
|
+
end
|
142
|
+
|
143
|
+
it "fails validation if the date is after the date passed in :before" do
|
144
|
+
obj = double(:created_at => Date.today)
|
145
|
+
validator = subject.new(obj, :created_at, :before => Date.today.prev_year)
|
146
|
+
expect(validator).to_not be_valid
|
147
|
+
end
|
148
|
+
end
|
149
|
+
|
150
|
+
context "the :after option is passed" do
|
151
|
+
it "fails validation if the date is before the date passed in :after" do
|
152
|
+
obj = double(:created_at => Date.today.prev_year(2))
|
153
|
+
validator = subject.new(obj, :created_at, :after => Date.today.prev_year)
|
154
|
+
expect(validator).to_not be_valid
|
155
|
+
end
|
156
|
+
|
157
|
+
it "passes validation if the date is after the date passed in :after" do
|
158
|
+
obj = double(:created_at => Date.today)
|
159
|
+
validator = subject.new(obj, :created_at, :after => Date.today.prev_year)
|
160
|
+
expect(validator).to be_valid
|
161
|
+
end
|
162
|
+
end
|
135
163
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: daily_affirmation
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.8.
|
4
|
+
version: 0.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Shane Emmons
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-09-
|
11
|
+
date: 2014-09-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|