auto_strip_attributes 2.0.2 → 2.0.3
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.
- data/README.md +3 -2
- data/auto_strip_attributes.gemspec +1 -0
- data/lib/auto_strip_attributes.rb +3 -0
- data/lib/auto_strip_attributes/version.rb +1 -1
- data/test/auto_strip_attributes_test.rb +18 -3
- metadata +40 -14
data/README.md
CHANGED
@@ -14,7 +14,7 @@ Gem has option to set empty strings to nil or to remove extra spaces inside the
|
|
14
14
|
Include gem in your Gemfile:
|
15
15
|
|
16
16
|
```ruby
|
17
|
-
gem "auto_strip_attributes", "~>
|
17
|
+
gem "auto_strip_attributes", "~> 2.0"
|
18
18
|
```
|
19
19
|
|
20
20
|
```ruby
|
@@ -39,10 +39,11 @@ By default the following filters are defined (listed in the order of processing)
|
|
39
39
|
- :strip (enabled by default) - removes whitespaces from the beginning and the end of string
|
40
40
|
- :nullify (enabled by default) - replaces empty strings with nil
|
41
41
|
- :squish (disabled by default) - replaces extra whitespaces (including tabs) with one space
|
42
|
+
- :delete_whitespaces (disabled by default) - delete all whitespaces (including tabs)
|
42
43
|
|
43
44
|
### Custom Filters
|
44
45
|
|
45
|
-
|
46
|
+
Gem supports custom filtering methods. Custom methods can be set by calling to set_filter method
|
46
47
|
inside a block passed to AutoStripAttributes::Config.setup. set_filter method accepts either Symbol or Hash as a
|
47
48
|
parameter. If parameter is a Hash, the key should be filter name and the value is boolean whether filter is enabled by
|
48
49
|
default or not. Block should return processed value.
|
@@ -10,6 +10,7 @@ Gem::Specification.new do |s|
|
|
10
10
|
s.homepage = "https://github.com/holli/auto_strip_attributes"
|
11
11
|
s.summary = "Removes unnecessary whitespaces in attributes. Extension to ActiveRecord or ActiveModel."
|
12
12
|
s.description = "AutoStripAttributes helps to remove unnecessary whitespaces from ActiveRecord or ActiveModel attributes. It's good for removing accidental spaces from user inputs. It works by adding a before_validation hook to the record. It has option to set empty strings to nil or to remove extra spaces inside the string."
|
13
|
+
s.license = "MIT"
|
13
14
|
|
14
15
|
s.rubyforge_project = "auto_strip_attributes"
|
15
16
|
|
@@ -54,6 +54,9 @@ class AutoStripAttributes::Config
|
|
54
54
|
set_filter :squish => false do |value|
|
55
55
|
value.respond_to?(:gsub) ? value.gsub(/\s+/, ' ') : value
|
56
56
|
end
|
57
|
+
set_filter :delete_whitespaces => false do |value|
|
58
|
+
value.respond_to?(:delete) ? value.delete(" \t") : value
|
59
|
+
end
|
57
60
|
end
|
58
61
|
|
59
62
|
instance_eval &block if block_given?
|
@@ -133,6 +133,21 @@ describe AutoStripAttributes do
|
|
133
133
|
end
|
134
134
|
end
|
135
135
|
|
136
|
+
describe "Attribute with delete_whitespaces option" do
|
137
|
+
class MockRecordWithDelete < MockRecordParent
|
138
|
+
#column :foo, :string
|
139
|
+
attr_accessor :foo
|
140
|
+
auto_strip_attributes :foo, :delete_whitespaces => true
|
141
|
+
end
|
142
|
+
|
143
|
+
it "should delete all spaces and tabs" do
|
144
|
+
@record = MockRecordWithDelete.new
|
145
|
+
@record.foo = " a \t bbb"
|
146
|
+
@record.valid?
|
147
|
+
@record.foo.must_equal "abbb"
|
148
|
+
end
|
149
|
+
end
|
150
|
+
|
136
151
|
describe "Multible attributes with multiple options" do
|
137
152
|
class MockRecordWithMultipleAttributes < MockRecordParent #< ActiveRecord::Base
|
138
153
|
#column :foo, :string
|
@@ -184,7 +199,7 @@ describe AutoStripAttributes do
|
|
184
199
|
it "should have default filters set in right order" do
|
185
200
|
AutoStripAttributes::Config.setup :clear => true
|
186
201
|
filters_order = AutoStripAttributes::Config.filters_order
|
187
|
-
filters_order.must_equal [:strip, :nullify, :squish]
|
202
|
+
filters_order.must_equal [:strip, :nullify, :squish, :delete_whitespaces]
|
188
203
|
end
|
189
204
|
|
190
205
|
it "should reset filters to defaults when :clear is true" do
|
@@ -195,7 +210,7 @@ describe AutoStripAttributes do
|
|
195
210
|
end
|
196
211
|
AutoStripAttributes::Config.setup :clear => true
|
197
212
|
filters_order = AutoStripAttributes::Config.filters_order
|
198
|
-
filters_order.must_equal [:strip, :nullify, :squish]
|
213
|
+
filters_order.must_equal [:strip, :nullify, :squish, :delete_whitespaces]
|
199
214
|
end
|
200
215
|
|
201
216
|
it "should remove all filters when :clear is true and :defaults is false" do
|
@@ -228,7 +243,7 @@ describe AutoStripAttributes do
|
|
228
243
|
filters_order = AutoStripAttributes::Config.filters_order
|
229
244
|
filters_enabled = AutoStripAttributes::Config.filters_enabled
|
230
245
|
|
231
|
-
filters_order.must_equal [:strip, :nullify, :squish, :test]
|
246
|
+
filters_order.must_equal [:strip, :nullify, :squish, :delete_whitespaces, :test]
|
232
247
|
assert Proc === filters_block[:test]
|
233
248
|
filters_enabled[:test].must_equal true
|
234
249
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: auto_strip_attributes
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.3
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,11 +9,11 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date:
|
12
|
+
date: 2013-10-02 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: activerecord
|
16
|
-
requirement:
|
16
|
+
requirement: !ruby/object:Gem::Requirement
|
17
17
|
none: false
|
18
18
|
requirements:
|
19
19
|
- - ! '>='
|
@@ -21,10 +21,15 @@ dependencies:
|
|
21
21
|
version: '3.0'
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
|
-
version_requirements:
|
24
|
+
version_requirements: !ruby/object:Gem::Requirement
|
25
|
+
none: false
|
26
|
+
requirements:
|
27
|
+
- - ! '>='
|
28
|
+
- !ruby/object:Gem::Version
|
29
|
+
version: '3.0'
|
25
30
|
- !ruby/object:Gem::Dependency
|
26
31
|
name: activerecord
|
27
|
-
requirement:
|
32
|
+
requirement: !ruby/object:Gem::Requirement
|
28
33
|
none: false
|
29
34
|
requirements:
|
30
35
|
- - ! '>='
|
@@ -32,10 +37,15 @@ dependencies:
|
|
32
37
|
version: '3.0'
|
33
38
|
type: :development
|
34
39
|
prerelease: false
|
35
|
-
version_requirements:
|
40
|
+
version_requirements: !ruby/object:Gem::Requirement
|
41
|
+
none: false
|
42
|
+
requirements:
|
43
|
+
- - ! '>='
|
44
|
+
- !ruby/object:Gem::Version
|
45
|
+
version: '3.0'
|
36
46
|
- !ruby/object:Gem::Dependency
|
37
47
|
name: minitest
|
38
|
-
requirement:
|
48
|
+
requirement: !ruby/object:Gem::Requirement
|
39
49
|
none: false
|
40
50
|
requirements:
|
41
51
|
- - ~>
|
@@ -43,10 +53,15 @@ dependencies:
|
|
43
53
|
version: 2.8.1
|
44
54
|
type: :development
|
45
55
|
prerelease: false
|
46
|
-
version_requirements:
|
56
|
+
version_requirements: !ruby/object:Gem::Requirement
|
57
|
+
none: false
|
58
|
+
requirements:
|
59
|
+
- - ~>
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 2.8.1
|
47
62
|
- !ruby/object:Gem::Dependency
|
48
63
|
name: mocha
|
49
|
-
requirement:
|
64
|
+
requirement: !ruby/object:Gem::Requirement
|
50
65
|
none: false
|
51
66
|
requirements:
|
52
67
|
- - ~>
|
@@ -54,10 +69,15 @@ dependencies:
|
|
54
69
|
version: 0.9.12
|
55
70
|
type: :development
|
56
71
|
prerelease: false
|
57
|
-
version_requirements:
|
72
|
+
version_requirements: !ruby/object:Gem::Requirement
|
73
|
+
none: false
|
74
|
+
requirements:
|
75
|
+
- - ~>
|
76
|
+
- !ruby/object:Gem::Version
|
77
|
+
version: 0.9.12
|
58
78
|
- !ruby/object:Gem::Dependency
|
59
79
|
name: rake
|
60
|
-
requirement:
|
80
|
+
requirement: !ruby/object:Gem::Requirement
|
61
81
|
none: false
|
62
82
|
requirements:
|
63
83
|
- - ! '>='
|
@@ -65,7 +85,12 @@ dependencies:
|
|
65
85
|
version: '0'
|
66
86
|
type: :development
|
67
87
|
prerelease: false
|
68
|
-
version_requirements:
|
88
|
+
version_requirements: !ruby/object:Gem::Requirement
|
89
|
+
none: false
|
90
|
+
requirements:
|
91
|
+
- - ! '>='
|
92
|
+
- !ruby/object:Gem::Version
|
93
|
+
version: '0'
|
69
94
|
description: AutoStripAttributes helps to remove unnecessary whitespaces from ActiveRecord
|
70
95
|
or ActiveModel attributes. It's good for removing accidental spaces from user inputs.
|
71
96
|
It works by adding a before_validation hook to the record. It has option to set
|
@@ -88,7 +113,8 @@ files:
|
|
88
113
|
- lib/auto_strip_attributes/version.rb
|
89
114
|
- test/auto_strip_attributes_test.rb
|
90
115
|
homepage: https://github.com/holli/auto_strip_attributes
|
91
|
-
licenses:
|
116
|
+
licenses:
|
117
|
+
- MIT
|
92
118
|
post_install_message:
|
93
119
|
rdoc_options: []
|
94
120
|
require_paths:
|
@@ -107,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
107
133
|
version: '0'
|
108
134
|
requirements: []
|
109
135
|
rubyforge_project: auto_strip_attributes
|
110
|
-
rubygems_version: 1.8.
|
136
|
+
rubygems_version: 1.8.25
|
111
137
|
signing_key:
|
112
138
|
specification_version: 3
|
113
139
|
summary: Removes unnecessary whitespaces in attributes. Extension to ActiveRecord
|