daily_affirmation 0.8.0 → 0.8.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: d766f64d1435a59c56df5c6489d514e55cab8d47
4
- data.tar.gz: d8f51880cf871808565da82a18c6d11ae01dc1b3
3
+ metadata.gz: 324f16541c789eee4d66b3c7986f53c0a21590a0
4
+ data.tar.gz: b602bca65f7b876b598af6af81a1b32180a65f2c
5
5
  SHA512:
6
- metadata.gz: e962fa0992158c6e097c9d068bf4ec8ea6416a3fa322e14309af8e3d706c471f2056df712a4fef83b02974567b4e2f69282ce9b63935076652fcd12227e2be3f
7
- data.tar.gz: 487c7955a1c1e158ac1c7f25c47c16b413fcdcd6b67566dfa153ceffee1183ff87a30703c6be475bf2168018804bafce13fb90e8df0021e7f8c946df31ad3a87
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
@@ -1,3 +1,3 @@
1
1
  module DailyAffirmation
2
- VERSION = "0.8.0"
2
+ VERSION = "0.8.1"
3
3
  end
@@ -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.0
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-23 00:00:00.000000000 Z
11
+ date: 2014-09-30 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler