attributes_sanitizer 0.1.3 → 0.1.4
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 +4 -4
- data/README.md +1 -1
- data/Rakefile +1 -0
- data/lib/attributes_sanitizer.rb +9 -6
- data/lib/attributes_sanitizer/concern.rb +3 -2
- data/lib/attributes_sanitizer/overrider.rb +1 -0
- data/lib/attributes_sanitizer/predefined.rb +4 -1
- data/lib/attributes_sanitizer/railtie.rb +1 -0
- data/lib/attributes_sanitizer/sanitizer_proc.rb +2 -3
- data/lib/attributes_sanitizer/version.rb +2 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 98fa0192ea9522563237224ab465c986be336c2a68056bc41ba5f276feeb0fd1
|
4
|
+
data.tar.gz: 3176dd989b679ed4c9a54b0815cea118c62862ea2bd21dd55e0c945c4d5f6b2a
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 11ed0f80297d724c017f8df73b2d675f2a8d9f999764aaa51818e60fbd95889dd8d51fa327d44dc6fa18c535933dd5a3a15ef4f69efc18e971ce150d5d3e2e44
|
7
|
+
data.tar.gz: cf469c09997dd4356f7a14d47be3fb4c740408663e4c7f363d9de9179c7a6fd4b7086d7f7c5e37c53976ba4bc2251ecf2cfffa380344d602152b8143d2bc125a
|
data/README.md
CHANGED
data/Rakefile
CHANGED
data/lib/attributes_sanitizer.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
require "attributes_sanitizer/railtie"
|
2
3
|
require "attributes_sanitizer/sanitizer_proc"
|
3
4
|
require "attributes_sanitizer/concern"
|
@@ -5,14 +6,16 @@ require "attributes_sanitizer/overrider"
|
|
5
6
|
require "attributes_sanitizer/predefined"
|
6
7
|
|
7
8
|
module AttributesSanitizer
|
8
|
-
EMOJI_REGEX = /[^\u0000-\u00FF]/
|
9
|
-
|
10
|
-
mattr_accessor :sanitizers
|
11
|
-
self.sanitizers = {}
|
12
|
-
|
13
9
|
def self.define_sanitizer(sanitizer_name, &block)
|
10
|
+
@sanitizers ||= {}
|
14
11
|
raise ArgumentError, 'sanitizer needs a block' unless block_given?
|
15
|
-
|
12
|
+
@sanitizers[sanitizer_name.to_sym] = block
|
13
|
+
end
|
14
|
+
|
15
|
+
def self.find(sanitizer_name)
|
16
|
+
sanitizer = @sanitizers && @sanitizers[sanitizer_name.to_sym]
|
17
|
+
raise ArgumentError, "No sanitizer defined for #{sanitizer}" if sanitizer.nil?
|
18
|
+
sanitizer
|
16
19
|
end
|
17
20
|
|
18
21
|
include Predefined
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module AttributesSanitizer::Concern
|
2
3
|
extend ActiveSupport::Concern
|
3
4
|
|
@@ -30,8 +31,8 @@ module AttributesSanitizer::Concern
|
|
30
31
|
private
|
31
32
|
|
32
33
|
def fetch_sanitizers_from_options(attributes)
|
33
|
-
|
34
|
-
sanitizers = Array(
|
34
|
+
options = attributes.extract_options!.dup
|
35
|
+
sanitizers = Array(options[:with])
|
35
36
|
|
36
37
|
raise ArgumentError, "You need to supply at least one attribute" if attributes.empty?
|
37
38
|
raise ArgumentError, "You need to supply at least one sanitize method" if sanitizers.empty?
|
@@ -1,7 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module AttributesSanitizer
|
2
3
|
module Predefined
|
3
4
|
extend ActiveSupport::Concern
|
4
5
|
|
6
|
+
EMOJI_REGEX = /[^\u0000-\u00FF]/
|
7
|
+
|
5
8
|
included do
|
6
9
|
AttributesSanitizer.define_sanitizer :stringify do |value|
|
7
10
|
value.to_s
|
@@ -20,7 +23,7 @@ module AttributesSanitizer
|
|
20
23
|
end
|
21
24
|
|
22
25
|
AttributesSanitizer.define_sanitizer :strip_emojis do |value|
|
23
|
-
value.gsub(AttributesSanitizer::EMOJI_REGEX, '')
|
26
|
+
value.gsub(AttributesSanitizer::Predefined::EMOJI_REGEX, '')
|
24
27
|
end
|
25
28
|
|
26
29
|
AttributesSanitizer.define_sanitizer :strip_spaces do |value|
|
@@ -1,3 +1,4 @@
|
|
1
|
+
# frozen_string_literal: true
|
1
2
|
module AttributesSanitizer
|
2
3
|
class SanitizerProc
|
3
4
|
include Comparable
|
@@ -11,9 +12,7 @@ module AttributesSanitizer
|
|
11
12
|
@proc = sanitizer
|
12
13
|
@id = sanitizer.object_id
|
13
14
|
else
|
14
|
-
@proc = AttributesSanitizer.
|
15
|
-
raise ArgumentError, "No attribute sanitizer defined for #{sanitizer}" if @proc.nil?
|
16
|
-
|
15
|
+
@proc = AttributesSanitizer.find(sanitizer)
|
17
16
|
@id = sanitizer
|
18
17
|
end
|
19
18
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attributes_sanitizer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.4
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anderson Dias
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2018-11-
|
11
|
+
date: 2018-11-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rails
|