attr_filters 0.4.2 → 0.5.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +1 -3
- data/README.md +1 -1
- data/lib/attr_filters/filters/letters_only.rb +17 -1
- data/lib/attr_filters/version.rb +1 -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: b448e938e9aa107808aeada74934bc0e9aca912bf0c295515d1e155f573f9e11
|
4
|
+
data.tar.gz: a805cfa48c6c920f6c24ea63ca909916c9877c79ab0b37c2a990f89eec396940
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: cef72e575aea56eb963bb915906550d2ce51b4041c56922dcb3e1fcffd42759ce1b0edc82bf7b95c904e56370f435787373695cdb520d3a6da24893f8e21c8d0
|
7
|
+
data.tar.gz: 9b5597ba6c58b64548d599a58f403e44c4027679032adff3ea474759ca494d5ab3605da72416d50c3e25c6d8ebfd4eb8fe3a0dc0caaa10815ff327e2952186bb
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -122,7 +122,7 @@ form.zip # => "12345"
|
|
122
122
|
- `capitalize` - upcases first letter and lowercase others
|
123
123
|
- `squeeze` - removes duplicating whitespaces
|
124
124
|
- `numbers_only` - removes non digits characters
|
125
|
-
- `letters_only` - removes non letter characters
|
125
|
+
- `letters_only` - removes non letter characters, accept `except` options as `filters first_name: { except: %w[' -] }`
|
126
126
|
- `date` - parse string to date using specified format. Default format is **`%Y-%m-%d`**.
|
127
127
|
|
128
128
|
|
@@ -5,9 +5,25 @@ module AttrFilters
|
|
5
5
|
class LettersOnly < Base
|
6
6
|
private
|
7
7
|
|
8
|
-
def filter(value)
|
8
|
+
def filter(value, options = {})
|
9
|
+
return filter_letters_only(value) unless except_chars?(options)
|
10
|
+
|
11
|
+
filter_letters_and_except_chars(value, options)
|
12
|
+
end
|
13
|
+
|
14
|
+
def filter_letters_only(value)
|
9
15
|
value.gsub(/[^a-zA-Z\s]/i, "").squeeze(" ")
|
10
16
|
end
|
17
|
+
|
18
|
+
def except_chars?(options)
|
19
|
+
options[:except]
|
20
|
+
end
|
21
|
+
|
22
|
+
def filter_letters_and_except_chars(value, options)
|
23
|
+
except_chars = options[:except].map { |char| "\\" + char }.join
|
24
|
+
|
25
|
+
value.gsub(/[^a-zA-Z\s#{except_chars}]/i, "").squeeze(" ")
|
26
|
+
end
|
11
27
|
end
|
12
28
|
end
|
13
29
|
end
|
data/lib/attr_filters/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: attr_filters
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Anton Holovko
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: exe
|
11
11
|
cert_chain: []
|
12
|
-
date: 2019-12-
|
12
|
+
date: 2019-12-27 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: bundler
|