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: 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