attributes_sanitizer 0.1.1 → 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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 12b4709383dbae4f0d6a6f345719ecffa47fe27e750d39cf00b14e788cf35536
4
- data.tar.gz: 56fdfa609e76e3870cda762b237e234d9bbafc1904875114970a56f41de0325d
3
+ metadata.gz: 0a0c3bafdd04afef4a778d991247d32bd27537fde4c0b005b2ad0ddaee8bbbe3
4
+ data.tar.gz: 9fe53322bee091b4e7a6df4e6e3fa8efe4f759c8dae69a125003450ae7ee3bbf
5
5
  SHA512:
6
- metadata.gz: a05d6ea506b2c4d77f5d9022ebde30514d5e1de50d6ac94a974ea378efc77c52a2a08463e665b5981f6df727d5b6d179e74d42ceda14c0c07a9ba583490efbf5
7
- data.tar.gz: 9ae866687f015fae0041fd60aee83ee96834b7033ab10c75d55366afe6a72172df9687cce35336bf9629744d3e280f91a5121110a4df6bf5c543b43d2a56bf57
6
+ metadata.gz: 5c081ce4dedf43daa64700455d7fcb1e705ac6e1701bf4c3f6a575904b0e566874f5804f04c9dad7c53293ceb1eb08caba5a863562c6f27c3538f8850fefa885
7
+ data.tar.gz: 3b7574ce20365ac239cfefc1ad33021f66c952e3a7b39e6e6d5caa71cc545dca08bc790a4be8800508fc1dd94fba5d8c63e4102e58e4843155fa36f33ee1c14e
data/README.md CHANGED
@@ -9,8 +9,6 @@ A simple way to append sanitizers to attributes on Rails.
9
9
 
10
10
  ```ruby
11
11
  class Product < ApplicationRecord
12
- extend AttributesSanitizer::Concern
13
-
14
12
  sanitize_attribute :title, with: -> (value) {
15
13
  value.gsub(/[1-9]/, 'X')
16
14
  }
@@ -1,13 +1,12 @@
1
1
  module AttributesSanitizer::Concern
2
- def self.extended(klass)
3
- klass.cattr_accessor :attributes_sanitize_map
4
- klass.extend ClassMethods
5
- end
2
+ extend ActiveSupport::Concern
6
3
 
7
- module ClassMethods
8
- def sanitize_attributes(*attributes)
9
- self.attributes_sanitize_map ||= {}
4
+ class_methods do
5
+ def attributes_sanitize_map
6
+ @attributes_sanitize_map ||= {}
7
+ end
10
8
 
9
+ def sanitize_attributes(*attributes)
11
10
  fetch_sanitizers_from_options(attributes).each do |sanitizer|
12
11
  sanitizer = AttributesSanitizer::SanitizerProc.new(sanitizer)
13
12
 
@@ -21,7 +20,7 @@ module AttributesSanitizer::Concern
21
20
  alias_method :sanitize_attribute, :sanitize_attributes
22
21
 
23
22
  def execute_sanitizers_for(attribute, value)
24
- return value if self.attributes_sanitize_map.blank? || value.nil?
23
+ return value if self.attributes_sanitize_map[attribute].blank? || value.nil?
25
24
 
26
25
  self.attributes_sanitize_map[attribute].reduce(value) do |value, sanitizer|
27
26
  sanitizer.call(value)
@@ -1,4 +1,9 @@
1
1
  module AttributesSanitizer
2
2
  class Railtie < ::Rails::Railtie
3
+ initializer 'attributes_sanitizer.insert_into_active_record' do
4
+ ActiveSupport.on_load :active_record do
5
+ ActiveRecord::Base.send(:include, AttributesSanitizer::Concern)
6
+ end
7
+ end
3
8
  end
4
9
  end
@@ -1,3 +1,3 @@
1
1
  module AttributesSanitizer
2
- VERSION = '0.1.1'
2
+ VERSION = '0.1.2'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: attributes_sanitizer
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Anderson Dias