strip_attributes 1.7.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6618accc8ca40df61327ca55b7791a33044db8ea
4
- data.tar.gz: 1640362c209a8d7cfd674f43e3d622dcd1ca7682
3
+ metadata.gz: 911cd69ac1b20e523a98773595a73bc6565b3bf8
4
+ data.tar.gz: d1c028269597585f708da5a25010c74f1d1a2fc4
5
5
  SHA512:
6
- metadata.gz: f185c24787def356267ba2fd9ecef1d74384fd43e679d3a3c204bd6fd540bde5b91421a8e7521137161181fa70f54e2486f96c0775e76f228f5b9dd4d22f0269
7
- data.tar.gz: 6427387dac7327755d5f3035ae99ff85f985e8cefeff155836c298954189686644bee586026aa9b9638a61e84b7ae830c9f42ddb9b5e60a336276eacdbd1cae3
6
+ metadata.gz: 833b16931b77d3c55f291b619a23a23ac69cd9ad2d52bcaa04adb66223bb059ce3392a1da254200a63107c1694619fb0822d450c913e58da4752ae69f8896d7d
7
+ data.tar.gz: 0f084d7a1afbbfa54112c07ff46cfcc2e04950aad990f94ed3d3ed3cf6e8f1962473c3f8bcedb7029ac7bb6dd6ca3a9483c83242c98b9a4e0d9399006c89f6a8
data/README.md CHANGED
@@ -10,25 +10,21 @@ options can be used to limit which attributes are stripped. Both options accept
10
10
  a single attribute (`:only => :field`) or arrays of attributes (`:except =>
11
11
  [:field1, :field2, :field3]`).
12
12
 
13
- ## How You Can Help
13
+ ---
14
14
 
15
- **If you like this project, please help. [Donate via Gittip][gittip] or [buy me a coffee with Bitcoin][bitcoin].**<br>
16
- [![Gratipay](http://img.shields.io/gratipay/rmm5t.svg)][gratipay]
17
- [![Bitcoin](http://img.shields.io/badge/bitcoin-buy%20me%20a%20coffee-brightgreen.svg)][bitcoin]
15
+ **How You Can Help**
18
16
 
19
- **[Bitcoin][bitcoin]**: `1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m`<br>
20
- [![Bitcoin Donation][bitcoin-qr-small]][bitcoin-qr-big]
17
+ [![Square Cash](http://img.shields.io/badge/square%20cash-$rmm5t-brightgreen.svg)][square]
18
+ [![Gratipay](http://img.shields.io/gratipay/rmm5t.svg)][gratipay]
19
+ [![Book a Codementor session](http://img.shields.io/badge/codementor-book%20a%20session-orange.svg)][codementor]
21
20
 
22
- ## Need Help?
21
+ If you like this project, [buy me a coffee][square], [donate via Gratipay][gratipay], or [book a session with me on Codementor][codementor].
23
22
 
24
- **You can [book a session with me on Codementor][codementor].**<br>
25
- [![Book a Codementor session](http://img.shields.io/badge/codementor-book%20a%20session-orange.svg)][codementor]
23
+ Bitcoin: `1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m`
26
24
 
25
+ [square]: https://cash.me/$rmm5t "Donate to rmm5t for open source!"
27
26
  [gratipay]: https://gratipay.com/rmm5t/ "Donate to rmm5t for open source!"
28
- [bitcoin]: https://blockchain.info/address/1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m "Buy rmm5t a coffee for open source!"
29
- [bitcoin-scheme]: bitcoin:1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m?amount=0.01&label=Coffee%20to%20rmm5t%20for%20Open%20Source "Buy rmm5t a coffee for open source!"
30
- [bitcoin-qr-small]: http://chart.apis.google.com/chart?cht=qr&chs=150x150&chl=bitcoin%3A1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m%3Famount%3D0.01%26label%3DCoffee%2520to%2520rmm5t%2520for%2520Open%2520Source
31
- [bitcoin-qr-big]: http://chart.apis.google.com/chart?cht=qr&chs=500x500&chl=bitcoin%3A1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m%3Famount%3D0.01%26label%3DCoffee%2520to%2520rmm5t%2520for%2520Open%2520Source
27
+ [bitcoin]: bitcoin:1rmm5tv6f997JK5bLcGbRCZyVjZUPkQ2m?amount=0.01&label=Coffee%20to%20rmm5t%20for%20Open%20Source "Buy rmm5t a coffee for open source!"
32
28
  [codementor]: https://www.codementor.io/rmm5t?utm_campaign=profile&utm_source=button-rmm5t&utm_medium=shields "Book a session with rmm5t on Codementor!"
33
29
 
34
30
  ## Installation
@@ -230,7 +226,11 @@ Wiki](http://oldwiki.rubyonrails.org/rails/pages/HowToStripWhitespaceFromModelFi
230
226
  but was modified from the original to include more idiomatic ruby and rails
231
227
  support.
232
228
 
229
+ ## Versioning
230
+
231
+ Semantic Versioning 2.0 as defined at <http://semver.org>.
232
+
233
233
  ## License
234
234
 
235
- Copyright (c) 2007-2013 Ryan McGeary released under the [MIT
235
+ Copyright (c) 2007-2015 Ryan McGeary released under the [MIT
236
236
  license](http://en.wikipedia.org/wiki/MIT_License)
@@ -70,8 +70,9 @@ module StripAttributes
70
70
  # U+200D ZERO WIDTH JOINER
71
71
  # U+2060 WORD JOINER
72
72
  # U+FEFF ZERO WIDTH NO-BREAK SPACE
73
- if value.respond_to?(:gsub!)
74
- value.gsub!(/\A[[:space:]\u180E\u200B\u200C\u200D\u2060\uFEFF]+|[[:space:]\u180E\u200B\u200C\u200D\u2060\uFEFF]+\z/, '')
73
+ regex = /\A[[:space:]\u180E\u200B\u200C\u200D\u2060\uFEFF]+|[[:space:]\u180E\u200B\u200C\u200D\u2060\uFEFF]+\z/
74
+ if value.respond_to?(:gsub!) && Encoding.compatible?(value, regex)
75
+ value.gsub!(regex, '')
75
76
  end
76
77
  elsif value.respond_to?(:strip!)
77
78
  value.strip!
@@ -1,3 +1,3 @@
1
1
  module StripAttributes
2
- VERSION = "1.7.0"
2
+ VERSION = "1.7.1"
3
3
  end
@@ -267,7 +267,10 @@ class StripAttributesTest < Minitest::Test
267
267
  return if "\u0020" != " "
268
268
  # U200A - HAIR SPACE
269
269
  # U200B - ZERO WIDTH SPACE
270
+ # U20AC - EURO SIGN
271
+
270
272
  assert_equal "foo", StripAttributes.strip("\u200A\u200B foo\u200A\u200B ")
273
+ assert_equal "foo\u20AC".force_encoding("ASCII-8BIT"), StripAttributes.strip("foo\u20AC ".force_encoding("ASCII-8BIT"))
271
274
  end
272
275
  end
273
276
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: strip_attributes
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.7.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Ryan McGeary
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2015-02-11 00:00:00.000000000 Z
11
+ date: 2015-08-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activemodel
@@ -144,7 +144,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
144
144
  version: '0'
145
145
  requirements: []
146
146
  rubyforge_project:
147
- rubygems_version: 2.4.5
147
+ rubygems_version: 2.4.8
148
148
  signing_key:
149
149
  specification_version: 4
150
150
  summary: Whitespace cleanup for ActiveModel attributes