safe_params 0.1.0 → 0.1.2

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.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/safe_params.rb +16 -7
  3. metadata +4 -4
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 92c40ab05cfbf747a0102e131d10e9b38cf7aa9e7f8927606d8c2d8545698a85
4
- data.tar.gz: 47c3f973d54db4ff9d991b58aadeb200499e3b88a1ce777e841eec0fa660d62d
3
+ metadata.gz: 60fd5d3c251eb9098195170afe2de149c73fac834ed265268c61e688e105c46d
4
+ data.tar.gz: 203373654de8d152701034ddab382ba9adeb83f6130cac858845d302651923ab
5
5
  SHA512:
6
- metadata.gz: dcf9b7804bdae3758ca84a2ca232b8a8e76b007876d11986ee5fc52c1de9ed5ba2148d8c4b337b4a48b2bc31814add26e9cd11f56059cdcb276ac44c10ded0ee
7
- data.tar.gz: 6a9386ed739424f0f6283287a4ce716088d4e56f4b2d5c0df8c3c65e56f37f8807639724351cc0bfcd7f5d444ef1cbf0b5117c8fee33dfa092cad097b9c64c39
6
+ metadata.gz: 841e3e7774a5de99de0fb0fa960c17a49a30cad5b5703cb8eb32ca2c0fb535f448a094286ea50ccc7980a30fca338e17032f249640e408089701d90d76f9e5af
7
+ data.tar.gz: a65958f2706d9fe9d7ea8dfc13ffca3d3ccf0e139dcfd232d5ef21f4e96ba104c41d3f71d066ab875c2e26f87b422ee8c7ca99c9857178224066cba55665a33d
data/lib/safe_params.rb CHANGED
@@ -1,3 +1,4 @@
1
+
1
2
  require "safe_params/version"
2
3
  require "safe_params/railtie" if defined?(Rails)
3
4
  require "safe_params/helper"
@@ -5,19 +6,27 @@ require "safe_params/config_loader"
5
6
  require "safe_params/cli"
6
7
 
7
8
  module SafeParams
8
- def self.included(base)
9
- base.extend ClassMethods
9
+ extend ActiveSupport::Concern
10
+
11
+ included do
12
+ class_attribute :_safe_attrs, instance_writer: false, default: []
13
+ class_attribute :_nested_attrs, instance_writer: false, default: {}
10
14
  end
11
15
 
12
- module ClassMethods
16
+ class_methods do
13
17
  def safe_params(*attrs, nested: {})
14
- @safe_attrs = attrs.map(&:to_sym)
15
- @nested_attrs = nested.transform_keys(&:to_sym)
18
+ self._safe_attrs = attrs.map(&:to_sym)
19
+ self._nested_attrs = nested.transform_keys(&:to_sym)
16
20
  end
17
21
 
18
22
  def permitted_attributes
19
- nested = @nested_attrs.map { |key, val| { key => val } }
20
- @safe_attrs + nested
23
+ nested = _nested_attrs.map { |key, val| { key => val } }
24
+ _safe_attrs + nested
21
25
  end
22
26
  end
23
27
  end
28
+
29
+ # Automatically include SafeParams in ActiveRecord models
30
+ ActiveSupport.on_load(:active_record) do
31
+ include SafeParams
32
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: safe_params
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Deepak Tewari
@@ -15,14 +15,14 @@ dependencies:
15
15
  requirements:
16
16
  - - ">="
17
17
  - !ruby/object:Gem::Version
18
- version: '0'
18
+ version: '5.0'
19
19
  type: :runtime
20
20
  prerelease: false
21
21
  version_requirements: !ruby/object:Gem::Requirement
22
22
  requirements:
23
23
  - - ">="
24
24
  - !ruby/object:Gem::Version
25
- version: '0'
25
+ version: '5.0'
26
26
  - !ruby/object:Gem::Dependency
27
27
  name: rspec
28
28
  requirement: !ruby/object:Gem::Requirement
@@ -69,7 +69,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
69
  requirements:
70
70
  - - ">="
71
71
  - !ruby/object:Gem::Version
72
- version: '0'
72
+ version: '2.7'
73
73
  required_rubygems_version: !ruby/object:Gem::Requirement
74
74
  requirements:
75
75
  - - ">="