stronger_parameters 1.2.0 → 2.0.0

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