daily_affirmation 0.4.0 → 0.5.0

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: c59c90a22d3f3dcc889c34407b064f4f92efd24b
4
- data.tar.gz: 1b002616ee6ef2b5d8c2098181c0c3bcfb891f93
3
+ metadata.gz: 63dddf98c1338f2c348cfc44c6f1e1325c17c3a1
4
+ data.tar.gz: 1be0d8af0b511c753aad20cca49d85185653c3a3
5
5
  SHA512:
6
- metadata.gz: 005eee3d03c5d14da30bad1cb1ed4553f8a5af1020e67a185e09ce528eeb7777b60230bda60f1c2c2e0a4a434821049cc580d49e59e18160df2bbf9f11be9fcc
7
- data.tar.gz: a2e18647e4120221fa5431b32083ce6403af960bb0686c67ad9ff9c330a40d7f6dc3c26d84a9c20540d5d5b33db13051e6fed7acd291e7ec1b385ed2761bda42
6
+ metadata.gz: 626d8b7867e06308262c2e8f5f2e9401137d1c81b649dd932c0555e9486f7a58cba29c38b3d3ec6c201d5f8c6aa55261cd60ff34b3aa67ac60634b19090f8ebe
7
+ data.tar.gz: 5d50e83ac7694ee5972d8240a9f8b99a51003333d9d82dce37be5d90ac74cc71b5254ae7cd21ba5f426836c96a42e38a8a83c6f5703486ea8462d9974108894c
@@ -78,6 +78,13 @@ module DailyAffirmation
78
78
  }.merge(opts)
79
79
  end
80
80
 
81
+ def affirms_equality_of(attribute, opts = {})
82
+ opts[:value] ||= ""
83
+ affirmations << {
84
+ :attribute => attribute, :type => :equality
85
+ }.merge(opts)
86
+ end
87
+
81
88
  def affirms_exclusion_of(attribute, opts = {})
82
89
  opts[:list] ||= []
83
90
  affirmations << {
@@ -0,0 +1,17 @@
1
+ require_relative "../validator"
2
+
3
+ module DailyAffirmation
4
+ module Validators
5
+ class EqualityValidator < Validator
6
+ def valid?
7
+ @valid ||= (opts[:value] == value)
8
+ end
9
+
10
+ def error_message
11
+ @error_message ||= i18n_error_message(
12
+ :equality, :default => "#{attribute} is not '#{opts[:value]}'"
13
+ )
14
+ end
15
+ end
16
+ end
17
+ end
@@ -1,3 +1,3 @@
1
1
  module DailyAffirmation
2
- VERSION = "0.4.0"
2
+ VERSION = "0.5.0"
3
3
  end
@@ -3,6 +3,7 @@ require_relative "daily_affirmation/validators/absence_validator"
3
3
  require_relative "daily_affirmation/validators/acceptance_validator"
4
4
  require_relative "daily_affirmation/validators/confirmation_validator"
5
5
  require_relative "daily_affirmation/validators/custom_validator"
6
+ require_relative "daily_affirmation/validators/equality_validator"
6
7
  require_relative "daily_affirmation/validators/exclusion_validator"
7
8
  require_relative "daily_affirmation/validators/format_validator"
8
9
  require_relative "daily_affirmation/validators/inclusion_validator"
@@ -91,6 +91,7 @@ describe DailyAffirmation do
91
91
  affirms_absence_of :conflicts
92
92
  affirms_acceptance_of :eula
93
93
  affirms_confirmation_of :password
94
+ affirms_equality_of :name, :value => "Bobby Tabbles"
94
95
  affirms_exclusion_of :age, :list => 13..18
95
96
  affirms_format_of :name, :regex => /Bobby/
96
97
  affirms_inclusion_of :age, :list => 1..21
@@ -0,0 +1,29 @@
1
+ require_relative "../spec_helper"
2
+ require_relative "../../lib/daily_affirmation/validators/equality_validator"
3
+
4
+ describe "EqualityValidator" do
5
+ subject { DailyAffirmation::Validators::EqualityValidator }
6
+
7
+ it "passes validation if the attribute value matches the value" do
8
+ obj = double(:name => "Bobby Tabbles")
9
+
10
+ validator = subject.new(obj, :name, :value => "Bobby Tabbles")
11
+ expect(validator).to be_valid
12
+ end
13
+
14
+ it "fails validation if the attribute values doesn't match the value" do
15
+ obj = double(:name => "Robert Tabbles")
16
+
17
+ validator = subject.new(obj, :name, :value => "Bobby Tabbles")
18
+ expect(validator).to_not be_valid
19
+ end
20
+
21
+ it "has the correct error message" do
22
+ obj = double(:name => "Robert Tabbles")
23
+
24
+ validator = subject.new(obj, :name, :value => "Bobby Tabbles")
25
+ expect(validator.error_message).to eq(
26
+ "name is not 'Bobby Tabbles'"
27
+ )
28
+ end
29
+ 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.4.0
4
+ version: 0.5.0
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-06-17 00:00:00.000000000 Z
11
+ date: 2014-06-18 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -86,6 +86,7 @@ files:
86
86
  - lib/daily_affirmation/validators/acceptance_validator.rb
87
87
  - lib/daily_affirmation/validators/confirmation_validator.rb
88
88
  - lib/daily_affirmation/validators/custom_validator.rb
89
+ - lib/daily_affirmation/validators/equality_validator.rb
89
90
  - lib/daily_affirmation/validators/exclusion_validator.rb
90
91
  - lib/daily_affirmation/validators/format_validator.rb
91
92
  - lib/daily_affirmation/validators/inclusion_validator.rb
@@ -103,6 +104,7 @@ files:
103
104
  - spec/validators/acceptance_validator_spec.rb
104
105
  - spec/validators/confirmation_validator_spec.rb
105
106
  - spec/validators/custom_validator_spec.rb
107
+ - spec/validators/equality_validator_spec.rb
106
108
  - spec/validators/exclusion_validator_spec.rb
107
109
  - spec/validators/format_validator_spec.rb
108
110
  - spec/validators/inclusion_validator_spec.rb
@@ -144,6 +146,7 @@ test_files:
144
146
  - spec/validators/acceptance_validator_spec.rb
145
147
  - spec/validators/confirmation_validator_spec.rb
146
148
  - spec/validators/custom_validator_spec.rb
149
+ - spec/validators/equality_validator_spec.rb
147
150
  - spec/validators/exclusion_validator_spec.rb
148
151
  - spec/validators/format_validator_spec.rb
149
152
  - spec/validators/inclusion_validator_spec.rb