saneitized 1.4.0 → 1.5.0
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/.travis.yml +2 -1
- data/README.md +9 -0
- data/lib/saneitized/hash.rb +5 -1
- data/lib/saneitized/version.rb +1 -1
- data/spec/saneitized/hash_spec.rb +7 -0
- metadata +3 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8f39227b4a2052628cf273f36ebdfeaf1f2b0f68
|
4
|
+
data.tar.gz: ea5a4da25dfcaee502c4edcaafa05cb395313de5
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0eb77f525b4221933868f3a3e059ded76cac2440b5e879733fca333fdf4471490de73e77cc210e01ebb2e32953c0a87eaa54112a270d30fa8576a1dde7c51ae8
|
7
|
+
data.tar.gz: b0c1914f4c95f4776c77a05612b38a7bbce74aff73312ac4240e98d220a7639db1253989c3aeee50036d6f3f62334dce6380f74dc3f91976479860746201f852
|
data/.travis.yml
CHANGED
data/README.md
CHANGED
@@ -58,6 +58,15 @@ as regular arrays except that new assigned values will also be saneitized
|
|
58
58
|
hash['fred'] = '234'
|
59
59
|
hash['fred'] #=> 234
|
60
60
|
|
61
|
+
### Saneitized Keys?
|
62
|
+
|
63
|
+
If for some reason you have a hash like `{'123' => 'foo', '124' => 'bar'}` and you want
|
64
|
+
to saneitze the keys of the hash, Sanitized allows you to do that too
|
65
|
+
|
66
|
+
hash = {'123' => 'foo', '124' => 'bar'}
|
67
|
+
sane = Sanitized.convert(hash, saneitize_keys: true)
|
68
|
+
sane #=> {123 => 'foo', 124 => 'bar'}
|
69
|
+
|
61
70
|
### Blacklists
|
62
71
|
|
63
72
|
You can make saneitized ignore certain strings by including a blacklist option
|
data/lib/saneitized/hash.rb
CHANGED
@@ -9,7 +9,7 @@ module Saneitized
|
|
9
9
|
@key_blacklist = Array(options.fetch(:key_blacklist){[]})
|
10
10
|
new_hash = {}
|
11
11
|
hash.each do |key, value|
|
12
|
-
new_hash[key] = convert_key_value(key, value)
|
12
|
+
new_hash[sane_key(key)] = convert_key_value(key, value)
|
13
13
|
end
|
14
14
|
super(new_hash)
|
15
15
|
self
|
@@ -25,6 +25,10 @@ module Saneitized
|
|
25
25
|
|
26
26
|
private
|
27
27
|
|
28
|
+
def sane_key(key)
|
29
|
+
@options[:saneitize_keys] ? Saneitized.convert(key) : key
|
30
|
+
end
|
31
|
+
|
28
32
|
def convert_key_value(key, value)
|
29
33
|
if @key_blacklist.include? key
|
30
34
|
value
|
data/lib/saneitized/version.rb
CHANGED
@@ -49,6 +49,13 @@ describe Saneitized::Hash do
|
|
49
49
|
end
|
50
50
|
end
|
51
51
|
|
52
|
+
context 'with saneitize_keys: true' do
|
53
|
+
it 'should saneitize keys' do
|
54
|
+
sane = Saneitized::Hash.new({'12345' => 'foo', '234' => '123.2'}, saneitize_keys: true)
|
55
|
+
expected = {12345 => 'foo', 234 => 123.2}
|
56
|
+
expect(sane).to eql expected
|
57
|
+
end
|
58
|
+
end
|
52
59
|
end
|
53
60
|
|
54
61
|
describe "#[]=" do
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: saneitized
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.
|
4
|
+
version: 1.5.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Benjamin Guest
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2015-04-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: chronic
|
@@ -139,7 +139,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
139
|
version: '0'
|
140
140
|
requirements: []
|
141
141
|
rubyforge_project:
|
142
|
-
rubygems_version: 2.
|
142
|
+
rubygems_version: 2.4.6
|
143
143
|
signing_key:
|
144
144
|
specification_version: 4
|
145
145
|
summary: Sanely converts string values to their ruby equivalent
|