stronger_parameters 1.2.0 → 2.0.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: 3568bf8a5f163b2577c2a2db420c9ecd6534bc43
4
- data.tar.gz: 9952531fa04a5b07988b532e59f5bfefca219dec
3
+ metadata.gz: 1bd826f84e376bd4d0b5c557b5770f40f08f653b
4
+ data.tar.gz: 7acf03a25fa7b77ff84b238252fa39cf13812df5
5
5
  SHA512:
6
- metadata.gz: 97faf8d085c515a083c688eb9679a444c3eb19db132f739f9d69e2a3f809b33df8bd9af2552b5ec6263563c7147373c04e983becfdb834df7cf1ccabf91e1a20
7
- data.tar.gz: dc48aaa7df830e1fd5032111408cd9a612aa61fdd323bc06444868f3163e42cc2f345077026f4f048c1b548472ea7521c89f2179958eccd2bd324a271fa732a2
6
+ metadata.gz: 23fd6b95f810e7637c4efa87e27d98b6d7a3b71932d812d7e3b604c9127e745be91441d34460983352a663b78ddc7cbaf9c9fb061c2a1abf4f2cd06decf0d81e
7
+ data.tar.gz: b213e7733e7123d08cc8f963b28e006e334e5a241482f873184af7d33038bc14daded5154e982879804eadf03982a9f72eea4be5d34cd47828a1ad50918bb6b3
data/README.md CHANGED
@@ -1,15 +1,15 @@
1
1
  # stronger_parameters
2
2
  [![Build Status](https://travis-ci.org/zendesk/stronger_parameters.svg?branch=master)](https://travis-ci.org/zendesk/stronger_parameters)
3
3
 
4
- This is an extension of `strong_parameters` with added type checking.
4
+ This is an extension of `strong_parameters` with added type checking and conversion.
5
5
 
6
6
  ## Simple types
7
7
  You can specify simple types like this:
8
8
 
9
9
  ```ruby
10
10
  params.permit(
11
- :id => Parameters.id,
12
- :name => Parameters.string
11
+ id: Parameters.id,
12
+ name: Parameters.string
13
13
  )
14
14
  ```
15
15
 
@@ -18,25 +18,34 @@ You can specify arrays like this:
18
18
 
19
19
  ```ruby
20
20
  params.permit(
21
- :id => Parameters.array(Parameters.id)
21
+ id: Parameters.array(Parameters.id)
22
22
  )
23
23
  ```
24
24
 
25
- This will allow an array of id parameters that all are IDs.
25
+ This will allow an array of id parameters that all are IDs (integer less than 2**31, greater than 0) and convert to Fixnum (`'2' --> 2`).
26
+
27
+ ### Empty array -> nil
28
+ Rails converts empty arrays to nil unless `config.action_dispatch.perform_deep_munge = false` is set
29
+ (available in Rails 4.1+). Either use this or `Parameters.array | Parameters.nil` to deal with this.
30
+
31
+ ### Allowing nils
32
+
33
+ It can be convenient to allow nil to be passed as all kinds of attributes since ActiveRecord converts it to false/0 behind the scenes.
34
+ `ActionController::Parameters.allow_nil_for_everything = true`
26
35
 
27
36
  ## Nested Parameters
28
37
 
29
38
  ```ruby
30
39
  params.permit(
31
- :name => Parameters.string,
32
- :emails => Parameters.array(Parameters.string),
33
- :friends => Parameters.array(
40
+ name: Parameters.string,
41
+ emails: Parameters.array(Parameters.string),
42
+ friends: Parameters.array(
34
43
  Parameters.map(
35
- :name => Parameters.string,
36
- :family => Parameters.map(
37
- :name => Parameters.string
44
+ name: Parameters.string,
45
+ family: Parameters.map(
46
+ name: Parameters.string
38
47
  )
39
- :hobbies => Parameters.array(Parameters.string)
48
+ hobbies: Parameters.array(Parameters.string)
40
49
  )
41
50
  )
42
51
  )
@@ -59,12 +68,12 @@ This will allow parameters like this:
59
68
 
60
69
  ```ruby
61
70
  params.require(:author).permit(
62
- :name => Parameters.string,
63
- :books_attributes => Parameters.array(
71
+ name: Parameters.string,
72
+ books_attributes: Parameters.array(
64
73
  Parameters.map(
65
- :title => Parameters.string,
66
- :id => Parameters.id,
67
- :_destroy => Parameters.boolean
74
+ title: Parameters.string,
75
+ id: Parameters.id,
76
+ _destroy: Parameters.boolean
68
77
  )
69
78
  )
70
79
  )
@@ -90,7 +99,7 @@ If you want to permit a parameter to be one of multiple types, you can use the `
90
99
 
91
100
  ```ruby
92
101
  params.require(:ticket).permit(
93
- :status => Parameters.id | Parameters.enum('open', 'closed')
102
+ status: Parameters.id | Parameters.enum('open', 'closed')
94
103
  )
95
104
  ```
96
105
 
@@ -115,7 +124,7 @@ You can use the `&` operator to apply further restrictions on the type:
115
124
 
116
125
  ```ruby
117
126
  params.require(:user).permit(
118
- :age => Parameters.integer & Parameters.gte(0)
127
+ age: Parameters.integer & Parameters.gte(0)
119
128
  )
120
129
  ```
121
130
 
@@ -127,7 +136,7 @@ You can also use the `|` and `&` operators in arrays:
127
136
 
128
137
  ```ruby
129
138
  params.require(:group).permit(
130
- :users => Parameters.array(Parameters.id | Parameters.string)
139
+ users: Parameters.array(Parameters.id | Parameters.string)
131
140
  )
132
141
  ```
133
142
 
@@ -140,19 +149,35 @@ This will permit these parameters:
140
149
  }
141
150
  ```
142
151
 
152
+ ## Production rollout
153
+
154
+ Just want to log violations in production:
155
+
156
+ ```Ruby
157
+ # config/environments/production.rb
158
+ ActionController::Parameters.action_on_invalid_parameters = :log
159
+ ```
160
+
143
161
  ## Types
144
162
 
145
163
  | Syntax | (Simplified) Definition |
146
164
  |--------------------------------|-------------------------------------------------------------------------|
147
165
  | Parameters.string | value.is_a?(String) |
148
- | Parameters.integer | value.is_a?(Fixnum) |
166
+ | Parameters.integer | value.is_a?(Fixnum) or '-1' |
167
+ | Parameters.float | value.is_a?(Float) or '-1.2' |
168
+ | Parameters.datetime | value.is_a?(DateTime) or '2014-05-13' or '2015-03-31T14:34:56Z' |
169
+ | Parameters.regexp(/foo/) | value =~ regexp |
149
170
  | Parameters.enum('asc', 'desc') | ['asc', 'desc'].include?(value) |
150
171
  | Parameters.lt(10) | value < 10 |
151
172
  | Parameters.lte(10) | value <= 10 |
152
173
  | Parameters.gt(0) | value > 0 |
153
174
  | Parameters.gte(0) | value >= 0 |
154
- | Parameters.integer32 | Parameters.integer & Parameters.lte(2 ** 31) & Parameters.gte(-2 ** 31) |
155
- | Parameters.integer64 | Parameters.integer & Parameters.lte(2 ** 63) & Parameters.gte(-2 ** 63) |
156
- | Parameters.id | Parameters.integer & Parameters.lte(2 ** 31) & Parameters.gte(0) |
157
- | Parameters.bigid | Parameters.integer & Parameters.lte(2 ** 63) & Parameters.gte(0) |
175
+ | Parameters.integer32 | Parameters.integer & Parameters.lt(2 ** 31) & Parameters.gte(-2 ** 31) |
176
+ | Parameters.integer64 | Parameters.integer & Parameters.lt(2 ** 63) & Parameters.gte(-2 ** 63) |
177
+ | Parameters.id | Parameters.integer & Parameters.lt(2 ** 31) & Parameters.gte(0) |
178
+ | Parameters.bigid | Parameters.integer & Parameters.lt(2 ** 63) & Parameters.gte(0) |
179
+ | Parameters.uid | Parameters.integer & Parameters.lt(2 ** 32) & Parameters.gte(0) |
180
+ | Parameters.ubigid | Parameters.integer & Parameters.lt(2 ** 64) & Parameters.gte(0) |
158
181
  | Parameters.boolean | Parameters.enum(true, false, 'true', 'false', 1, 0) |
182
+ | Parameters.nil | value is nil |
183
+ | Parameters.nil_string | value is nil, '', 'undefined' |
@@ -1,6 +1,5 @@
1
1
  require 'stronger_parameters/version'
2
2
  require 'action_pack'
3
3
  require 'strong_parameters' if ActionPack::VERSION::MAJOR == 3
4
- require 'stronger_parameters/railtie'
5
4
  require 'stronger_parameters/parameters'
6
5
  require 'stronger_parameters/constraints'
@@ -30,14 +30,15 @@ module StrongerParameters
30
30
  exception = nil
31
31
 
32
32
  constraints.each do |c|
33
- begin
34
- return c.value(v)
35
- rescue InvalidParameter => e
36
- exception ||= e
33
+ result = c.value(v)
34
+ if result.is_a?(InvalidValue)
35
+ exception ||= result
36
+ else
37
+ return result
37
38
  end
38
39
  end
39
40
 
40
- raise exception
41
+ exception
41
42
  end
42
43
 
43
44
  def |(other)
@@ -60,6 +61,7 @@ module StrongerParameters
60
61
  def value(v)
61
62
  constraints.each do |c|
62
63
  v = c.value(v)
64
+ return v if v.is_a?(InvalidValue)
63
65
  end
64
66
  v
65
67
  end
@@ -76,9 +78,14 @@ module StrongerParameters
76
78
  end
77
79
 
78
80
  require 'stronger_parameters/constraints/string_constraint'
81
+ require 'stronger_parameters/constraints/float_constraint'
82
+ require 'stronger_parameters/constraints/date_time_constraint'
83
+ require 'stronger_parameters/constraints/regexp_constraint'
79
84
  require 'stronger_parameters/constraints/integer_constraint'
85
+ require 'stronger_parameters/constraints/nil_constraint'
80
86
  require 'stronger_parameters/constraints/boolean_constraint'
81
87
  require 'stronger_parameters/constraints/array_constraint'
82
88
  require 'stronger_parameters/constraints/hash_constraint'
83
89
  require 'stronger_parameters/constraints/enumeration_constraint'
84
90
  require 'stronger_parameters/constraints/comparison_constraints'
91
+ require 'stronger_parameters/constraints/nil_string_contraint'
@@ -11,11 +11,13 @@ module StrongerParameters
11
11
  def value(v)
12
12
  if v.is_a?(Array)
13
13
  return v.map do |item|
14
- item_constraint.value(item)
14
+ result = item_constraint.value(item)
15
+ return result if result.is_a?(InvalidValue)
16
+ result
15
17
  end
16
18
  end
17
19
 
18
- raise InvalidParameter.new(v, "must be an array")
20
+ InvalidValue.new(v, "must be an array")
19
21
  end
20
22
 
21
23
  def ==(other)
@@ -14,7 +14,7 @@ module StrongerParameters
14
14
  return false
15
15
  end
16
16
 
17
- raise InvalidParameter.new(v, "must be either true or false")
17
+ InvalidValue.new(v, "must be either true or false")
18
18
  end
19
19
  end
20
20
  end
@@ -17,7 +17,7 @@ module StrongerParameters
17
17
  def value(v)
18
18
  return v if v < limit
19
19
 
20
- raise InvalidParameter.new(v, "must be less than #{limit}")
20
+ InvalidValue.new(v, "must be less than #{limit}")
21
21
  end
22
22
  end
23
23
 
@@ -25,7 +25,7 @@ module StrongerParameters
25
25
  def value(v)
26
26
  return v if v <= limit
27
27
 
28
- raise InvalidParameter.new(v, "must be less than or equal to #{limit}")
28
+ InvalidValue.new(v, "must be less than or equal to #{limit}")
29
29
  end
30
30
  end
31
31
 
@@ -33,7 +33,7 @@ module StrongerParameters
33
33
  def value(v)
34
34
  return v if v > limit
35
35
 
36
- raise InvalidParameter.new(v, "must be greater than #{limit}")
36
+ InvalidValue.new(v, "must be greater than #{limit}")
37
37
  end
38
38
  end
39
39
 
@@ -41,7 +41,7 @@ module StrongerParameters
41
41
  def value(v)
42
42
  return v if v >= limit
43
43
 
44
- raise InvalidParameter.new(v, "must be greater than or equal to #{limit}")
44
+ InvalidValue.new(v, "must be greater than or equal to #{limit}")
45
45
  end
46
46
  end
47
47
  end
@@ -0,0 +1,15 @@
1
+ require 'stronger_parameters/constraints'
2
+
3
+ module StrongerParameters
4
+ class DateTimeConstraint < Constraint
5
+ def value(v)
6
+ return v if v.is_a?(DateTime)
7
+
8
+ begin
9
+ DateTime.parse v
10
+ rescue ArgumentError
11
+ StrongerParameters::InvalidValue.new(v, "must be a date")
12
+ end
13
+ end
14
+ end
15
+ end
@@ -11,7 +11,7 @@ module StrongerParameters
11
11
  def value(v)
12
12
  return v if allowed.include?(v)
13
13
 
14
- raise InvalidParameter.new(v, "must be one of these: #{allowed.to_sentence}")
14
+ InvalidValue.new(v, "must be one of these: #{allowed.to_sentence}")
15
15
  end
16
16
 
17
17
  def ==(other)
@@ -0,0 +1,15 @@
1
+ require 'stronger_parameters/constraints'
2
+
3
+ module StrongerParameters
4
+ class FloatConstraint < Constraint
5
+ def value(v)
6
+ if v.is_a?(Float)
7
+ return v
8
+ elsif v.is_a?(String) && v =~ /\A-?\d+\.\d+\Z/
9
+ return v.to_f
10
+ end
11
+
12
+ StrongerParameters::InvalidValue.new(v, "must be a float")
13
+ end
14
+ end
15
+ end
@@ -14,7 +14,7 @@ module StrongerParameters
14
14
  return ActionController::Parameters.new(v).permit(constraints)
15
15
  end
16
16
 
17
- raise InvalidParameter.new(v, "must be a hash")
17
+ InvalidValue.new(v, "must be a hash")
18
18
  end
19
19
 
20
20
  def merge(other)
@@ -9,7 +9,7 @@ module StrongerParameters
9
9
  return v.to_i
10
10
  end
11
11
 
12
- raise InvalidParameter.new(v, 'must be an integer')
12
+ InvalidValue.new(v, 'must be an integer')
13
13
  end
14
14
  end
15
15
  end
@@ -0,0 +1,11 @@
1
+ require 'stronger_parameters/constraints'
2
+
3
+ module StrongerParameters
4
+ class NilConstraint < Constraint
5
+ def value(v)
6
+ return v if v.nil?
7
+
8
+ InvalidValue.new(v, 'must be an nil')
9
+ end
10
+ end
11
+ end
@@ -0,0 +1,15 @@
1
+ require 'stronger_parameters/constraints'
2
+
3
+ module StrongerParameters
4
+ class NilStringConstraint < Constraint
5
+ NULL_VALUES = [nil, '', 'undefined']
6
+
7
+ def value(v)
8
+ if NULL_VALUES.include?(v)
9
+ nil
10
+ else
11
+ StrongerParameters::InvalidValue.new(v, "must be a nil string")
12
+ end
13
+ end
14
+ end
15
+ end
@@ -0,0 +1,26 @@
1
+ require 'stronger_parameters/constraints'
2
+
3
+ module StrongerParameters
4
+ class RegexpConstraint < Constraint
5
+ attr_reader :regexp
6
+
7
+ def initialize(regexp)
8
+ @regexp = regexp
9
+ @string = StringConstraint.new
10
+ end
11
+
12
+ def value(v)
13
+ v = @string.value(v)
14
+ return v if v.is_a?(InvalidValue)
15
+ if v =~ regexp
16
+ v
17
+ else
18
+ InvalidValue.new(v, "must match #{regexp.source}")
19
+ end
20
+ end
21
+
22
+ def ==(other)
23
+ super && regexp == other.regexp
24
+ end
25
+ end
26
+ end
@@ -11,13 +11,13 @@ module StrongerParameters
11
11
  def value(v)
12
12
  if v.is_a?(String)
13
13
  if maximum_length && v.bytesize > maximum_length
14
- raise InvalidParameter.new(v, "can not be longer than #{maximum_length} bytes")
14
+ return InvalidValue.new(v, "can not be longer than #{maximum_length} bytes")
15
15
  end
16
16
 
17
17
  return v
18
18
  end
19
19
 
20
- raise InvalidParameter.new(v, 'must be a string')
20
+ InvalidValue.new(v, 'must be a string')
21
21
  end
22
22
 
23
23
  def ==(other)
@@ -1,19 +1,20 @@
1
1
  module StrongerParameters
2
- class InvalidParameter < StandardError
3
- attr_accessor :key, :value, :message
2
+ class InvalidValue
3
+ attr_accessor :value, :message
4
4
 
5
5
  def initialize(value, message)
6
6
  @value = value
7
7
  @message = message
8
- super(message)
9
8
  end
9
+ end
10
+
11
+ class InvalidParameter < StandardError
12
+ attr_accessor :key, :value
10
13
 
11
- def to_s
12
- if key.present?
13
- "found invalid value for #{key}. Value #{super}"
14
- else
15
- "found invalid value. Value #{super}"
16
- end
14
+ def initialize(invalid_value, key)
15
+ @value = invalid_value.value
16
+ @key = key
17
+ super(invalid_value.message)
17
18
  end
18
19
  end
19
20
  end
@@ -16,6 +16,7 @@ module StrongerParameters
16
16
  included do
17
17
  alias_method_chain :hash_filter, :stronger_parameters
18
18
  cattr_accessor :action_on_invalid_parameters, :instance_accessor => false
19
+ cattr_accessor :allow_nil_for_everything, :instance_accessor => false
19
20
  end
20
21
 
21
22
  module ClassMethods
@@ -23,10 +24,18 @@ module StrongerParameters
23
24
  Constraint.new
24
25
  end
25
26
 
27
+ def nil
28
+ NilConstraint.new
29
+ end
30
+
26
31
  def string(options = {})
27
32
  StringConstraint.new(options)
28
33
  end
29
34
 
35
+ def regexp(regex)
36
+ RegexpConstraint.new(regex)
37
+ end
38
+
30
39
  def integer
31
40
  @integer ||= IntegerConstraint.new
32
41
  end
@@ -48,19 +57,27 @@ module StrongerParameters
48
57
  end
49
58
 
50
59
  def integer32
51
- integer & lte(2 ** 31) & gte(-2 ** 31)
60
+ integer & lt(2 ** 31) & gte(-2 ** 31)
52
61
  end
53
62
 
54
63
  def integer64
55
- integer & lte(2 ** 63) & gte(-2 ** 63)
64
+ integer & lt(2 ** 63) & gte(-2 ** 63)
56
65
  end
57
66
 
58
67
  def id
59
- integer & lte(2 ** 31) & gte(0)
68
+ integer & lt(2 ** 31) & gte(0)
69
+ end
70
+
71
+ def uid
72
+ integer & lt(2 ** 32) & gte(0)
60
73
  end
61
74
 
62
75
  def bigid
63
- integer & lte(2 ** 63) & gte(0)
76
+ integer & lt(2 ** 63) & gte(0)
77
+ end
78
+
79
+ def ubigid
80
+ integer & lt(2 ** 64) & gte(0)
64
81
  end
65
82
 
66
83
  def enumeration(*allowed)
@@ -72,6 +89,10 @@ module StrongerParameters
72
89
  BooleanConstraint.new
73
90
  end
74
91
 
92
+ def float
93
+ FloatConstraint.new
94
+ end
95
+
75
96
  def array(item_constraint)
76
97
  ArrayConstraint.new(item_constraint)
77
98
  end
@@ -79,6 +100,14 @@ module StrongerParameters
79
100
  def map(constraints = nil)
80
101
  HashConstraint.new(constraints)
81
102
  end
103
+
104
+ def nil_string
105
+ NilStringConstraint.new
106
+ end
107
+
108
+ def datetime
109
+ DateTimeConstraint.new
110
+ end
82
111
  end
83
112
 
84
113
  def hash_filter_with_stronger_parameters(params, filter)
@@ -96,27 +125,35 @@ module StrongerParameters
96
125
  hash_filter_without_stronger_parameters(params, other_filter)
97
126
 
98
127
  slice(*stronger_filter.keys).each do |key, value|
99
- if value.nil?
128
+ if value.nil? && self.class.allow_nil_for_everything
100
129
  params[key] = nil
101
130
  next
102
131
  end
103
132
 
104
133
  constraint = stronger_filter[key]
105
- begin
106
- params[key] = constraint.value(value)
107
- rescue InvalidParameter => e
108
- e.key = key
109
-
134
+ result = constraint.value(value)
135
+ if result.is_a?(InvalidValue)
110
136
  name = "invalid_parameter.action_controller"
111
- ActiveSupport::Notifications.publish(name, :key => key, :value => value, :message => e.message)
137
+ ActiveSupport::Notifications.publish(name, :key => key, :value => value, :message => result.message)
138
+
139
+ action = self.class.action_on_invalid_parameters
140
+ case action
141
+ when :raise, nil
142
+ raise StrongerParameters::InvalidParameter.new(result, key)
143
+ when Proc
144
+ action.call(result, key)
145
+ when :log
146
+ Rails.logger.warn("#{key} #{result.message}, but was: #{value.inspect}")
147
+ else
148
+ raise ArgumentError, "Unsupported value in action_on_invalid_parameters: #{action}"
149
+ end
112
150
 
113
151
  params[key] = value
114
-
115
- raise if self.class.action_on_invalid_parameters == :raise
152
+ else
153
+ params[key] = result
116
154
  end
117
155
  end
118
156
  end
119
-
120
157
  end
121
158
 
122
159
  module ControllerSupport
@@ -1,3 +1,3 @@
1
1
  module StrongerParameters
2
- VERSION = '1.2.0'
2
+ VERSION = '2.0.0'
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: stronger_parameters
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.0
4
+ version: 2.0.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mick Staugaard
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-05 00:00:00.000000000 Z
11
+ date: 2015-05-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -94,6 +94,20 @@ dependencies:
94
94
  - - ">="
95
95
  - !ruby/object:Gem::Version
96
96
  version: '0'
97
+ - !ruby/object:Gem::Dependency
98
+ name: minitest-around
99
+ requirement: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: '0'
104
+ type: :development
105
+ prerelease: false
106
+ version_requirements: !ruby/object:Gem::Requirement
107
+ requirements:
108
+ - - ">="
109
+ - !ruby/object:Gem::Version
110
+ version: '0'
97
111
  - !ruby/object:Gem::Dependency
98
112
  name: minitest-rg
99
113
  requirement: !ruby/object:Gem::Requirement
@@ -122,6 +136,20 @@ dependencies:
122
136
  - - ">="
123
137
  - !ruby/object:Gem::Version
124
138
  version: '0'
139
+ - !ruby/object:Gem::Dependency
140
+ name: bump
141
+ requirement: !ruby/object:Gem::Requirement
142
+ requirements:
143
+ - - ">="
144
+ - !ruby/object:Gem::Version
145
+ version: '0'
146
+ type: :development
147
+ prerelease: false
148
+ version_requirements: !ruby/object:Gem::Requirement
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ version: '0'
125
153
  - !ruby/object:Gem::Dependency
126
154
  name: actionpack
127
155
  requirement: !ruby/object:Gem::Requirement
@@ -149,13 +177,17 @@ files:
149
177
  - lib/stronger_parameters/constraints/array_constraint.rb
150
178
  - lib/stronger_parameters/constraints/boolean_constraint.rb
151
179
  - lib/stronger_parameters/constraints/comparison_constraints.rb
180
+ - lib/stronger_parameters/constraints/date_time_constraint.rb
152
181
  - lib/stronger_parameters/constraints/enumeration_constraint.rb
182
+ - lib/stronger_parameters/constraints/float_constraint.rb
153
183
  - lib/stronger_parameters/constraints/hash_constraint.rb
154
184
  - lib/stronger_parameters/constraints/integer_constraint.rb
185
+ - lib/stronger_parameters/constraints/nil_constraint.rb
186
+ - lib/stronger_parameters/constraints/nil_string_contraint.rb
187
+ - lib/stronger_parameters/constraints/regexp_constraint.rb
155
188
  - lib/stronger_parameters/constraints/string_constraint.rb
156
189
  - lib/stronger_parameters/errors.rb
157
190
  - lib/stronger_parameters/parameters.rb
158
- - lib/stronger_parameters/railtie.rb
159
191
  - lib/stronger_parameters/version.rb
160
192
  homepage: https://github.com/zendesk/stronger_parameters
161
193
  licenses:
@@ -1,11 +0,0 @@
1
- require 'rails/railtie'
2
-
3
- module StrongParameters
4
- class Railtie < ::Rails::Railtie
5
- initializer "stronger_parameters.config", :before => "action_controller.set_configs" do |app|
6
- ActionController::Parameters.action_on_invalid_parameters = app.config.action_controller.delete(:action_on_invalid_parameters) do
7
- (Rails.env.test? || Rails.env.development?) ? :log : false
8
- end
9
- end
10
- end
11
- end