foreign_key_validation 1.1.0 → 1.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- ZDU3ZTY0MGMyNmIzYTJiOWFjMjZjMzE5NjllMWM1MjAyNmI5MTcwOA==
4
+ YjZkZDY5NzBlNGQ2ZTQ0MThkMjc5OWY4MGU3ZDVjZDVkMTg5NjdiNQ==
5
5
  data.tar.gz: !binary |-
6
- OTRhOTc5NzlmZDBjODAxNmE4Mzk4NjM1ZDQ2NDJhMjkyMTFhZWY4YQ==
6
+ NmU5Y2NmNGQ3M2YyNjFlOWI4YmI3M2JlZTZhYTM3NDA0MWU0NzFmYg==
7
7
  SHA512:
8
8
  metadata.gz: !binary |-
9
- ODdiYzEzM2FhNTE1ZGVjZmMzYWY2ZmMxMGFmZDM2NTIxZjlmYjcxMGY1Njdk
10
- NmZmN2Q3ZmY1YTkzN2NlYjZiNzhhNjhmNDUwNTAxOTkyYjMwMzRlYjg1NWU3
11
- ZTc2ZWE1ZTAxZDYzMzQ1MmRkNmVmYmZkOGViOGZjNTRiNGNhYTY=
9
+ YmY4NTllNGJhZTc0ODhlNmE0YjM3ZmYyNWU0OTZhMDQzOGYwMzVjZDkwYzIy
10
+ Y2VhOWNiZGE4MDczNTU4OGRlYWZmNmY0ODQ0YTU1ZmU5Mjg4MDZjNDY4NGNk
11
+ ZDM4NjgxYzM4NDQwODk1NzlmYWZkNzRkYmQ5NDczMzYzNGU4Y2Y=
12
12
  data.tar.gz: !binary |-
13
- NTczZTBjNGFjNTgyYThkNThlZTQwZDUzNTZlZTQ3ZTk2MGIzMDY1ODRhMTg1
14
- OWE2MDRhMGUxYzA5Yzg2NTEwYmEzMDk2NDUzOTU3MjhjNjNiMmFlY2NiOTc0
15
- OTUxNTMwMmQzZDNhZTEyNjk3MWRhN2JhMmVlODE4NzczZGI2MDk=
13
+ Y2QwMTRkNzg4ZWE5MjVmOTc3N2I4NTM1YTk5OTg2Zjk4N2VkODE0OTJlYWYx
14
+ ODUxOTdjMDBhZWNmMzcwNmJiZGExOTI0MTExY2I0NGZmYTU1MzBiNDkwZmE4
15
+ MWE0MTM1YmJhYmFlODMzM2FlNzZiZGEwYTM4MmRmOGVhNDNhN2E=
data/README.md CHANGED
@@ -37,11 +37,12 @@ This would only check `model.project.admin_user_id` to match `model.admin_user_i
37
37
 
38
38
  ## Configuration
39
39
 
40
- You can customize the behaviour of the gem by calling the `configure` method on the module with a block (e.g. initializer).
40
+ You can customize the default behaviour of the gem by calling the `configure` method on the module with a block (e.g. initializer).
41
41
 
42
42
  ForeignKeyValidation.configure do |config|
43
43
  config.error_message = proc { |key, name, object| "My custom msg!" }
44
- config.inject_subclasses = true
44
+ config.inject_subclasses = false # default: true
45
+ config.validate_against = :admin # default: :user
45
46
  end
46
47
 
47
48
  ## Note
@@ -3,8 +3,6 @@ module ForeignKeyValidation
3
3
  class Collector
4
4
  attr_accessor :options
5
5
 
6
- DEFAULT_VALIDATE_AGAINST = :user
7
-
8
6
  def initialize(opt={})
9
7
  self.options = opt
10
8
  end
@@ -21,7 +19,7 @@ module ForeignKeyValidation
21
19
  end
22
20
 
23
21
  def validate_against
24
- @validate_against ||= (options[:on] || DEFAULT_VALIDATE_AGAINST).to_s
22
+ @validate_against ||= (options[:on] || ForeignKeyValidation.configuration.validate_against).to_s
25
23
  end
26
24
 
27
25
  def validate_with
@@ -1,3 +1,3 @@
1
1
  module ForeignKeyValidation
2
- VERSION = "1.1.0"
2
+ VERSION = "1.1.1"
3
3
  end
@@ -10,8 +10,9 @@ module ForeignKeyValidation
10
10
 
11
11
  DEFAULT_CONFIG = {
12
12
  inject_subclasses: true,
13
- error_message: proc { |validate_against_key, reflection_name, object|
14
- "#{validate_against_key} of #{reflection_name} does not match #{object.class.name.tableize} #{validate_against_key}."
13
+ validate_against: :user,
14
+ error_message: proc { |key, reflection_name, object|
15
+ "#{key} of #{reflection_name} does not match #{object.class.name.tableize} #{key}."
15
16
  }
16
17
  }
17
18
 
@@ -0,0 +1,28 @@
1
+ require 'spec_helper'
2
+
3
+ describe ForeignKeyValidation do
4
+
5
+ describe ".configuration" do
6
+
7
+ subject { ForeignKeyValidation }
8
+
9
+ it "initializes configuration as open struct" do
10
+ expect(subject.configuration).to be_instance_of OpenStruct
11
+ end
12
+
13
+ it "defaults to true for injecting subclasses" do
14
+ expect(subject.configuration.inject_subclasses).to eq true
15
+ end
16
+
17
+ it "defaults to proc for error messages" do
18
+ expect(subject.configuration.error_message).to be_a Proc
19
+ expect(subject.configuration.error_message.call).to match /does not match/
20
+ end
21
+
22
+ it "defaults to :user for validate against key" do
23
+ expect(subject.configuration.validate_against).to eq :user
24
+ end
25
+
26
+ end
27
+
28
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: foreign_key_validation
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.0
4
+ version: 1.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Marcus Geißler
@@ -168,6 +168,7 @@ files:
168
168
  - lib/foreign_key_validation/validator.rb
169
169
  - lib/foreign_key_validation/version.rb
170
170
  - spec/collector/base_spec.rb
171
+ - spec/config_spec.rb
171
172
  - spec/model_extension/validation_with_config_block_spec.rb
172
173
  - spec/model_extension/validation_with_custom_attrs_spec.rb
173
174
  - spec/model_extension/validation_with_exceptions_spec.rb
@@ -205,6 +206,7 @@ specification_version: 4
205
206
  summary: Protect the foreign keys in your Rails models.
206
207
  test_files:
207
208
  - spec/collector/base_spec.rb
209
+ - spec/config_spec.rb
208
210
  - spec/model_extension/validation_with_config_block_spec.rb
209
211
  - spec/model_extension/validation_with_custom_attrs_spec.rb
210
212
  - spec/model_extension/validation_with_exceptions_spec.rb