saneitized 1.4.0 → 1.5.0

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: 53b42ab2eac3361c84d349b909c00f7d0757e4f2
4
- data.tar.gz: 1ce9c29cc4e9ce9864e6a4334c2dee887e537fe5
3
+ metadata.gz: 8f39227b4a2052628cf273f36ebdfeaf1f2b0f68
4
+ data.tar.gz: ea5a4da25dfcaee502c4edcaafa05cb395313de5
5
5
  SHA512:
6
- metadata.gz: a3e99059dc40e6d595f2d6b1fb0f87872dca1462f941fe5fd48d492823c7aff46d9e9073762b8e24af9447f0dd8d4019849537805dc7037fb5985902f2df9860
7
- data.tar.gz: 0a99e181dd840cd9dcd8ee8c90d6370f61206b132195fc0197141207a3f5781a7544243302463227f471fa5cf6fac384ebc557e38dfda3799452813990272d26
6
+ metadata.gz: 0eb77f525b4221933868f3a3e059ded76cac2440b5e879733fca333fdf4471490de73e77cc210e01ebb2e32953c0a87eaa54112a270d30fa8576a1dde7c51ae8
7
+ data.tar.gz: b0c1914f4c95f4776c77a05612b38a7bbce74aff73312ac4240e98d220a7639db1253989c3aeee50036d6f3f62334dce6380f74dc3f91976479860746201f852
data/.travis.yml CHANGED
@@ -2,6 +2,7 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
- - 2.1.3
5
+ - 2.1.5
6
+ - 2.2.1
6
7
  - rbx-2
7
8
  - jruby-19mode
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
@@ -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
@@ -1,3 +1,3 @@
1
1
  module Saneitized
2
- VERSION = '1.4.0'
2
+ VERSION = '1.5.0'
3
3
  end
@@ -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.0
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: 2014-12-17 00:00:00.000000000 Z
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.2.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