saneitized 1.1.1 → 1.2.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: 5d06c3288205ec366ffb099b4b1eef0ca7f84536
4
- data.tar.gz: 61c1bf281121da5af7f2bf7a8cd8015fb947eeee
3
+ metadata.gz: d2bc38bc070f2a0476dadc2416ef30c8d6485fce
4
+ data.tar.gz: eacec70fdcdfe47a810a227c1021fbca70893c4f
5
5
  SHA512:
6
- metadata.gz: 7053a36f0eac4e2605359870a3992266875fcc8cd585cbfe8ac82465f10ef73d1ade5d5be654d33185f01abec5ead944b035ea7467c67335f0e9b5ef65ceab05
7
- data.tar.gz: 439e5e13f787845305b76f8367298672d744a961923bafe03e60a1903e8f4c68ea618e7ccce11a42e7399999478a2c103aa9b62e45bd9a66f50453109ad2cc3e
6
+ metadata.gz: a1b2413ea4aea85bd134a487f06a33c557649f21282f620318947e1c7b9235251eb2151d6a9ff8ca5e7c150e1ad46c1259bf4a1e963c2872db0e174c8c01fd23
7
+ data.tar.gz: 00ae7b55e0b4802082a55c58d7b69182c924acfc77c617353fe4ff9b5a967625550ee581cf44e200decb2c55906a9a82a2466632fac906dc0a0e08d6003ce0b9
data/.travis.yml CHANGED
@@ -2,5 +2,6 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.3
4
4
  - 2.0.0
5
- - 2.1.2
6
- #- jruby-19mode
5
+ - 2.1.3
6
+ - rbx-2
7
+ - jruby-19mode
data/README.md CHANGED
@@ -33,6 +33,7 @@ It tries to convert strings in the following order, trying the next thing if it
33
33
  the new value if it succeeds
34
34
 
35
35
  Boolean: Saneitized.convert('true') #=> true ('false' works the same way)
36
+ nil: Saneitized.convert('null') #=> nil (also converts 'nil' and 'NULL')
36
37
  Integer: Saneitized.convert('42') #=> 42
37
38
  Float: Saneitized.convert('22.2') #=> 22.2
38
39
  JSON: Saneitized.convert("{\"hello\":\"goodbye\"}") #=> {"hello"=>"goodbye"}
@@ -6,13 +6,17 @@ module Saneitized
6
6
  return Saneitized::Hash.new(unknown) if unknown.is_a? ::Hash
7
7
  return Saneitized::Array.new(unknown) if unknown.is_a? ::Array
8
8
  return unknown unless unknown.is_a? String #Only attempt to convert string
9
- return true if unknown == 'true'
10
- return false if unknown == 'false'
11
9
 
12
- if value = Converter.integer?(unknown) then return value end
13
- if value = Converter.float?(unknown) then return value end
14
- if value = Converter.json?(unknown) then return convert(value) end
15
- if value = Converter.time?(unknown) then return value end
10
+ %w(true false nil integer float json time).each do |type|
11
+ value = Converter.send(type + '?', unknown)
12
+ next if value == :nope
13
+ return (type == 'json') ? convert(value) : value
14
+ end
15
+
16
+ #if value = Converter.integer?(unknown) then return value end
17
+ #if value = Converter.float?(unknown) then return value end
18
+ #if (value = Converter.json?(unknown)) != :nope then return convert(value) end
19
+ #if value = Converter.time?(unknown) then return value end
16
20
 
17
21
  unknown
18
22
  end
@@ -20,28 +24,39 @@ module Saneitized
20
24
  module Converter
21
25
  extend self
22
26
 
27
+ def true?(unknown)
28
+ (unknown == 'true') ? true : :nope
29
+ end
30
+
31
+ def false?(unknown)
32
+ (unknown == 'false') ? false : :nope
33
+ end
34
+
35
+ def nil?(unknown)
36
+ (%w(nil null NULL).include? unknown) ? nil : :nope
37
+ end
38
+
23
39
  def json?(unknown)
24
40
  JSON.parse(unknown)
25
41
  rescue JSON::ParserError, TypeError
26
- false
42
+ :nope
27
43
  end
28
44
 
29
45
  def integer?(unknown)
30
46
  Integer(unknown)
31
47
  rescue ArgumentError, TypeError
32
- false
48
+ :nope
33
49
  end
34
50
 
35
51
  def float?(unknown)
36
52
  Float(unknown)
37
53
  rescue ArgumentError, TypeError
38
- false
54
+ :nope
39
55
  end
40
56
 
41
57
  def time?(unknown)
42
- Chronic.parse(unknown)
43
- rescue ArgumentError, TypeError
44
- false
58
+ value = Chronic.parse(unknown)
59
+ value.nil? ? :nope : value
45
60
  end
46
61
  end
47
62
 
@@ -1,3 +1,3 @@
1
1
  module Saneitized
2
- VERSION = '1.1.1'
2
+ VERSION = '1.2.0'
3
3
  end
data/saneitized.gemspec CHANGED
@@ -21,7 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency 'chronic', '~> 0.10.2'
22
22
 
23
23
  spec.add_development_dependency 'bundler', '~>1.5'
24
- spec.add_development_dependency 'rspec', '~>2.14'
24
+ spec.add_development_dependency 'rspec', '~>3.0'
25
25
  spec.add_development_dependency 'rake', '~>10.1'
26
26
  spec.add_development_dependency 'simplecov', '~>0.8'
27
27
  spec.add_development_dependency 'coveralls', '~>0.7'
@@ -4,7 +4,7 @@ describe Saneitized::Array do
4
4
 
5
5
  describe '#new' do
6
6
  it 'should convert array of numbers' do
7
- Saneitized::Array.new(['1','2','3']).should == [1,2,3]
7
+ expect(Saneitized::Array.new(['1','2','3'])).to eql [1,2,3]
8
8
  end
9
9
  end
10
10
 
@@ -12,7 +12,7 @@ describe Saneitized::Array do
12
12
  it 'should convert object at index' do
13
13
  a = Saneitized::Array.new
14
14
  a[0] = 'true'
15
- a[0].should == true
15
+ expect(a[0]).to eql true
16
16
  end
17
17
  end
18
18
 
@@ -20,7 +20,7 @@ describe Saneitized::Array do
20
20
  it 'should converted added object' do
21
21
  a = Saneitized::Array.new
22
22
  a << '11'
23
- a.should == [11]
23
+ expect(a).to eql [11]
24
24
  end
25
25
  end
26
26
  end
@@ -5,59 +5,65 @@ describe Saneitized do
5
5
  it 'should convert hash' do
6
6
  unsullied = {:kick_ass => 'true', :cities_sacked => '3'}
7
7
  sanitized = {:kick_ass => true, :cities_sacked => 3}
8
- Saneitized.convert(unsullied).should == sanitized
8
+ expect(Saneitized.convert(unsullied)).to eql sanitized
9
9
  end
10
10
 
11
11
  it 'should convert array' do
12
12
  insane = ['1', '3', '2014-05-29 19:19:44 -0400']
13
13
  sane = [1, 3, Time.new(2014,5,29,19,19,44,'-04:00')]
14
- Saneitized.convert(insane).should == sane
14
+ expect(Saneitized.convert(insane)).to eql sane
15
15
  end
16
16
 
17
17
  it 'should convert json' do
18
18
  insane = {'all' => '34.2', 'base' => ['are', 'true', '10'] }.to_json
19
19
  sane = {'all' => 34.2, 'base' => ['are', true, 10]}
20
- Saneitized.convert(insane).should == sane
20
+ expect(Saneitized.convert(insane)).to eql sane
21
+ end
22
+
23
+ %w(nil null NULL).each do | nnil |
24
+ it "should change #{nnil} to nil" do
25
+ expect(Saneitized.convert(nnil)).to be nil
26
+ end
21
27
  end
22
28
 
23
29
  it "should change 'true' to true" do
24
- Saneitized.convert('true').should == true
30
+ expect(Saneitized.convert('true')).to be true
25
31
  end
26
32
 
27
33
  it "should change 'false' to false" do
28
- Saneitized.convert('false').should == false
34
+ expect(Saneitized.convert('false')).to be false
29
35
  end
30
36
 
31
37
  it "should change '12.34' to 12.34" do
32
- Saneitized.convert('12.34').should == 12.34
38
+ expect(Saneitized.convert('12.34')).to eql 12.34
33
39
  end
34
40
 
35
41
  it 'should not change 0.5 to 0.0' do
36
- Saneitized.convert(0.5).should == 0.5
42
+ expect(Saneitized.convert(0.5)).to eql 0.5
37
43
  end
38
44
 
39
45
  it 'should change integer string to integer' do
40
- Saneitized.convert('12').kind_of?(Fixnum).should be true
46
+ expect(Saneitized.convert('12').kind_of?(Fixnum)).to eql true
41
47
  end
42
48
 
43
49
  it "should changer '12' to 12" do
44
- Saneitized.convert('12').should == 12
50
+ expect(Saneitized.convert('12')).to be 12
45
51
  end
46
52
 
47
53
  it 'should do nothing to strings' do
48
- Saneitized.convert('blah').should == 'blah'
54
+ expect(Saneitized.convert('blah')).to eql 'blah'
49
55
  end
50
56
 
51
57
  it 'should do nothing to nil' do
52
- Saneitized.convert(nil).should be_nil
58
+ expect(Saneitized.convert(nil)).to be nil
53
59
  end
54
60
 
55
61
  it 'should convert datetime string' do
56
- Saneitized.convert("2001-02-03 10:11:12 -0400").should == Time.new(2001,2,3,10,11,12,'-04:00')
62
+ expect(Saneitized.convert("2001-02-03 10:11:12 -0400")).to eql Time.new(2001,2,3,10,11,12,'-04:00')
57
63
  end
58
64
 
59
65
  it 'should leave marketplaces alone' do
60
- Saneitized.convert('marketplaces').should == 'marketplaces'
66
+ expect(Saneitized.convert('marketplaces')).to eq 'marketplaces'
61
67
  end
62
68
  end
63
69
  end
@@ -4,35 +4,35 @@ describe Saneitized::Hash do
4
4
 
5
5
  describe '#new' do
6
6
  it "should change 'true' to true" do
7
- Saneitized::Hash.new({:true => 'true'})[:true].should == true
7
+ expect(Saneitized::Hash.new({:true => 'true'})[:true]).to eql true
8
8
  end
9
9
 
10
10
  it "should change 'false' to false" do
11
- Saneitized::Hash.new({:false => 'false'})[:false].should == false
11
+ expect(Saneitized::Hash.new({:false => 'false'})[:false]).to eql false
12
12
  end
13
13
 
14
14
  it "should change '12.34' to 12.34" do
15
- Saneitized::Hash.new({value: '12.34'})[:value].should == 12.34
15
+ expect(Saneitized::Hash.new({value: '12.34'})[:value]).to eql 12.34
16
16
  end
17
17
 
18
18
  it 'should not change 0.5 to 0.0' do
19
- Saneitized::Hash.new({value: 0.5})[:value].should == 0.5
19
+ expect(Saneitized::Hash.new({value: 0.5})[:value]).to eql 0.5
20
20
  end
21
21
 
22
22
  it 'should change integer string to integer' do
23
- Saneitized::Hash.new({int: '12'})[:int].kind_of?(Fixnum).should be true
23
+ expect(Saneitized::Hash.new({int: '12'})[:int].kind_of?(Fixnum)).to be true
24
24
  end
25
25
 
26
26
  it "should changer '12' to 12" do
27
- Saneitized::Hash.new({int: '12'})[:int].should == 12
27
+ expect(Saneitized::Hash.new({int: '12'})[:int]).to be 12
28
28
  end
29
29
 
30
30
  it 'should do nothing to strings' do
31
- Saneitized::Hash.new({string: 'blah'})[:string].should == 'blah'
31
+ expect(Saneitized::Hash.new({string: 'blah'})[:string]).to eql 'blah'
32
32
  end
33
33
 
34
34
  it 'should do nothing to nil' do
35
- Saneitized::Hash.new({nill: nil})[:nill].should be_nil
35
+ expect(Saneitized::Hash.new({nill: nil})[:nill]).to be nil
36
36
  end
37
37
  end
38
38
 
@@ -40,7 +40,7 @@ describe Saneitized::Hash do
40
40
  it 'should sanitized assigned keys' do
41
41
  hash = Saneitized::Hash.new
42
42
  hash['key']= '10'
43
- hash['key'].should == 10
43
+ expect(hash['key']).to eql 10
44
44
  end
45
45
  end
46
46
 
data/spec/spec_helper.rb CHANGED
@@ -12,7 +12,6 @@ require 'pry'
12
12
  #
13
13
  # See http://rubydoc.info/gems/rspec-core/RSpec/Core/Configuration
14
14
  RSpec.configure do |config|
15
- config.treat_symbols_as_metadata_keys_with_true_values = true
16
15
  config.run_all_when_everything_filtered = true
17
16
  config.filter_run :focus
18
17
 
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.1.1
4
+ version: 1.2.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-10-02 00:00:00.000000000 Z
11
+ date: 2014-10-09 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: chronic
@@ -44,14 +44,14 @@ dependencies:
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: '2.14'
47
+ version: '3.0'
48
48
  type: :development
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: '2.14'
54
+ version: '3.0'
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rake
57
57
  requirement: !ruby/object:Gem::Requirement