gigo 2.0.0 → 2.1.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 +7 -0
- data/Appraisals +8 -1
- data/README.md +11 -3
- data/gemfiles/activesupport23.gemfile +8 -0
- data/gemfiles/activesupport23.gemfile.lock +35 -0
- data/gemfiles/activesupport30.gemfile.lock +11 -7
- data/gemfiles/activesupport31.gemfile.lock +14 -10
- data/gemfiles/activesupport32.gemfile.lock +14 -10
- data/gemfiles/activesupport40.gemfile +1 -1
- data/gemfiles/activesupport40.gemfile.lock +21 -24
- data/gemfiles/activesupport41.gemfile +7 -0
- data/gemfiles/activesupport41.gemfile.lock +42 -0
- data/gigo.gemspec +3 -2
- data/lib/gigo.rb +7 -1
- data/lib/gigo/transcoders.rb +1 -1
- data/lib/gigo/transcoders/active_support.rb +1 -1
- data/lib/gigo/transcoders/blind.rb +1 -1
- data/lib/gigo/transcoders/charlock_holmes.rb +26 -0
- data/lib/gigo/version.rb +1 -1
- data/test/cases/gigo_test.rb +9 -8
- data/test/test_helper.rb +6 -8
- metadata +43 -44
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 712fefdcd90415f02b05a5c1d71b59c7650aeed7
|
4
|
+
data.tar.gz: 8645a95acd55340917bad0d9fc080f8325c26fef
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 47388733658210b84307e259798c395ae97d07524a19097853605da9071306e0ae0eacb5f8db91b693e22fa16126615af10a3a88923df80c7a17d7ee6fffc5ae
|
7
|
+
data.tar.gz: 2c1b9b8ef11693facef2e5a4ddd0f42705a4cb8629b182949ccce9325f95582e45a7c8b1c18843477935841319816df2c4711b8a1556dbbef97edc0956b9c369
|
data/Appraisals
CHANGED
@@ -1,3 +1,7 @@
|
|
1
|
+
appraise 'activesupport23' do
|
2
|
+
gem 'activesupport', '~> 2.3.0'
|
3
|
+
gem 'iconv'
|
4
|
+
end
|
1
5
|
|
2
6
|
appraise 'activesupport30' do
|
3
7
|
gem 'activesupport', '~> 3.0.0'
|
@@ -12,6 +16,9 @@ appraise 'activesupport32' do
|
|
12
16
|
end
|
13
17
|
|
14
18
|
appraise 'activesupport40' do
|
15
|
-
gem 'activesupport',
|
19
|
+
gem 'activesupport', '~> 4.0.0'
|
16
20
|
end
|
17
21
|
|
22
|
+
appraise 'activesupport41' do
|
23
|
+
gem 'activesupport', '~> 4.1.0'
|
24
|
+
end
|
data/README.md
CHANGED
@@ -16,11 +16,11 @@ Simple, just pass a string to `GIGO.load`. Nil values or properly encoded string
|
|
16
16
|
GIGO.load "€20 – “Woohoo”"
|
17
17
|
```
|
18
18
|
|
19
|
-
Lets say you have a `comments` column on an ActiveRecord model which is not guaranteed to come back per your default external encoding.
|
19
|
+
Lets say you have a `comments` column on an ActiveRecord model which is not guaranteed to come back per your default external encoding. However, take a look at the [gigo-activerecord](https://github.com/customink/gigo-activerecord) gem.
|
20
20
|
|
21
21
|
```ruby
|
22
22
|
def comments
|
23
|
-
GIGO.load
|
23
|
+
GIGO.load(super)
|
24
24
|
end
|
25
25
|
```
|
26
26
|
|
@@ -36,10 +36,18 @@ GIGO transcoders can be any module or class that implements the `transcode` meth
|
|
36
36
|
|
37
37
|
GIGO attempts to use each in that order. Upon successful transcoding, we use the [EnsureValidEncoding](http://github.com/jrochkind/ensure_valid_encoding) gem to force an encoding to match the `GIGO.encoding` while removing any non-convertable characters.
|
38
38
|
|
39
|
+
#### Rails/ActiveSupport v2.3.x
|
40
|
+
|
41
|
+
When using GIGO with Rails/ActiveSupport 2.3., the `GIGO::Transcoders::CharlockHolmes` transcoder will be inserted before the `GIGO::Transcoders::ActiveSupport` one. This is needed because ActiveSupport's multibyte char support is weak in version 2.3.x. You will need to add this to your applications `Gemfile` since `CharlockHolmes` requires it.
|
42
|
+
|
43
|
+
```ruby
|
44
|
+
gem 'iconv'
|
45
|
+
```
|
46
|
+
|
39
47
|
|
40
48
|
## Contributing
|
41
49
|
|
42
|
-
GIGO is fully tested with ActiveSupport 3.0 to 4 and upward. If you detect a problem, open up a github issue or fork the repo and help out. After you fork or clone the repository, the following commands will get you up and running on the test suite.
|
50
|
+
GIGO is fully tested with ActiveSupport 3.0 to 4 and upward. If you detect a problem, open up a github issue or fork the repo and help out. After you fork or clone the repository, the following commands will get you up and running on the test suite.
|
43
51
|
|
44
52
|
```shell
|
45
53
|
$ bundle install
|
@@ -0,0 +1,35 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../
|
3
|
+
specs:
|
4
|
+
gigo (2.0.0)
|
5
|
+
activesupport (>= 2.3)
|
6
|
+
charlock_holmes (~> 0.7)
|
7
|
+
ensure_valid_encoding (~> 0.5.3)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
activesupport (2.3.18)
|
13
|
+
appraisal (1.0.2)
|
14
|
+
bundler
|
15
|
+
rake
|
16
|
+
thor (>= 0.14.0)
|
17
|
+
charlock_holmes (0.7.3)
|
18
|
+
ensure_valid_encoding (0.5.3)
|
19
|
+
i18n (0.6.11)
|
20
|
+
iconv (1.0.4)
|
21
|
+
minitest (5.4.2)
|
22
|
+
rake (10.3.2)
|
23
|
+
thor (0.19.1)
|
24
|
+
|
25
|
+
PLATFORMS
|
26
|
+
ruby
|
27
|
+
|
28
|
+
DEPENDENCIES
|
29
|
+
activesupport (~> 2.3.0)
|
30
|
+
appraisal
|
31
|
+
gigo!
|
32
|
+
i18n
|
33
|
+
iconv
|
34
|
+
minitest
|
35
|
+
rake
|
@@ -1,21 +1,25 @@
|
|
1
1
|
PATH
|
2
|
-
remote:
|
2
|
+
remote: ../
|
3
3
|
specs:
|
4
4
|
gigo (2.0.0)
|
5
|
-
activesupport (>= 3
|
5
|
+
activesupport (>= 2.3)
|
6
|
+
charlock_holmes (~> 0.7)
|
6
7
|
ensure_valid_encoding (~> 0.5.3)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
11
12
|
activesupport (3.0.20)
|
12
|
-
appraisal (0.
|
13
|
+
appraisal (1.0.2)
|
13
14
|
bundler
|
14
15
|
rake
|
16
|
+
thor (>= 0.14.0)
|
17
|
+
charlock_holmes (0.7.3)
|
15
18
|
ensure_valid_encoding (0.5.3)
|
16
|
-
i18n (0.6.
|
17
|
-
minitest (5.
|
18
|
-
rake (10.
|
19
|
+
i18n (0.6.11)
|
20
|
+
minitest (5.4.2)
|
21
|
+
rake (10.3.2)
|
22
|
+
thor (0.19.1)
|
19
23
|
|
20
24
|
PLATFORMS
|
21
25
|
ruby
|
@@ -25,5 +29,5 @@ DEPENDENCIES
|
|
25
29
|
appraisal
|
26
30
|
gigo!
|
27
31
|
i18n
|
28
|
-
minitest
|
32
|
+
minitest
|
29
33
|
rake
|
@@ -1,23 +1,27 @@
|
|
1
1
|
PATH
|
2
|
-
remote:
|
2
|
+
remote: ../
|
3
3
|
specs:
|
4
4
|
gigo (2.0.0)
|
5
|
-
activesupport (>= 3
|
5
|
+
activesupport (>= 2.3)
|
6
|
+
charlock_holmes (~> 0.7)
|
6
7
|
ensure_valid_encoding (~> 0.5.3)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
11
|
-
activesupport (3.1.
|
12
|
-
multi_json (
|
13
|
-
appraisal (0.
|
12
|
+
activesupport (3.1.12)
|
13
|
+
multi_json (~> 1.0)
|
14
|
+
appraisal (1.0.2)
|
14
15
|
bundler
|
15
16
|
rake
|
17
|
+
thor (>= 0.14.0)
|
18
|
+
charlock_holmes (0.7.3)
|
16
19
|
ensure_valid_encoding (0.5.3)
|
17
|
-
i18n (0.6.
|
18
|
-
minitest (5.
|
19
|
-
multi_json (1.
|
20
|
-
rake (10.
|
20
|
+
i18n (0.6.11)
|
21
|
+
minitest (5.4.2)
|
22
|
+
multi_json (1.10.1)
|
23
|
+
rake (10.3.2)
|
24
|
+
thor (0.19.1)
|
21
25
|
|
22
26
|
PLATFORMS
|
23
27
|
ruby
|
@@ -27,5 +31,5 @@ DEPENDENCIES
|
|
27
31
|
appraisal
|
28
32
|
gigo!
|
29
33
|
i18n
|
30
|
-
minitest
|
34
|
+
minitest
|
31
35
|
rake
|
@@ -1,24 +1,28 @@
|
|
1
1
|
PATH
|
2
|
-
remote:
|
2
|
+
remote: ../
|
3
3
|
specs:
|
4
4
|
gigo (2.0.0)
|
5
|
-
activesupport (>= 3
|
5
|
+
activesupport (>= 2.3)
|
6
|
+
charlock_holmes (~> 0.7)
|
6
7
|
ensure_valid_encoding (~> 0.5.3)
|
7
8
|
|
8
9
|
GEM
|
9
10
|
remote: https://rubygems.org/
|
10
11
|
specs:
|
11
|
-
activesupport (3.2.
|
12
|
-
i18n (~> 0.6)
|
12
|
+
activesupport (3.2.19)
|
13
|
+
i18n (~> 0.6, >= 0.6.4)
|
13
14
|
multi_json (~> 1.0)
|
14
|
-
appraisal (0.
|
15
|
+
appraisal (1.0.2)
|
15
16
|
bundler
|
16
17
|
rake
|
18
|
+
thor (>= 0.14.0)
|
19
|
+
charlock_holmes (0.7.3)
|
17
20
|
ensure_valid_encoding (0.5.3)
|
18
|
-
i18n (0.6.
|
19
|
-
minitest (5.
|
20
|
-
multi_json (1.
|
21
|
-
rake (10.
|
21
|
+
i18n (0.6.11)
|
22
|
+
minitest (5.4.2)
|
23
|
+
multi_json (1.10.1)
|
24
|
+
rake (10.3.2)
|
25
|
+
thor (0.19.1)
|
22
26
|
|
23
27
|
PLATFORMS
|
24
28
|
ruby
|
@@ -28,5 +32,5 @@ DEPENDENCIES
|
|
28
32
|
appraisal
|
29
33
|
gigo!
|
30
34
|
i18n
|
31
|
-
minitest
|
35
|
+
minitest
|
32
36
|
rake
|
@@ -1,44 +1,41 @@
|
|
1
|
-
GIT
|
2
|
-
remote: git://github.com/rails/rails.git
|
3
|
-
revision: d71b0935a956ebedea0bb975525fc0f5672e4088
|
4
|
-
specs:
|
5
|
-
activesupport (4.1.0.beta)
|
6
|
-
i18n (~> 0.6, >= 0.6.4)
|
7
|
-
json (~> 1.7)
|
8
|
-
minitest (~> 5.0)
|
9
|
-
thread_safe (~> 0.1)
|
10
|
-
tzinfo (~> 0.3.37)
|
11
|
-
|
12
1
|
PATH
|
13
|
-
remote:
|
2
|
+
remote: ../
|
14
3
|
specs:
|
15
4
|
gigo (2.0.0)
|
16
|
-
activesupport (>= 3
|
5
|
+
activesupport (>= 2.3)
|
6
|
+
charlock_holmes (~> 0.7)
|
17
7
|
ensure_valid_encoding (~> 0.5.3)
|
18
8
|
|
19
9
|
GEM
|
20
10
|
remote: https://rubygems.org/
|
21
11
|
specs:
|
22
|
-
|
12
|
+
activesupport (4.0.11)
|
13
|
+
i18n (~> 0.6, >= 0.6.9)
|
14
|
+
minitest (~> 4.2)
|
15
|
+
multi_json (~> 1.3)
|
16
|
+
thread_safe (~> 0.1)
|
17
|
+
tzinfo (~> 0.3.37)
|
18
|
+
appraisal (1.0.2)
|
23
19
|
bundler
|
24
20
|
rake
|
25
|
-
|
21
|
+
thor (>= 0.14.0)
|
22
|
+
charlock_holmes (0.7.3)
|
26
23
|
ensure_valid_encoding (0.5.3)
|
27
|
-
i18n (0.6.
|
28
|
-
|
29
|
-
|
30
|
-
rake (10.
|
31
|
-
|
32
|
-
|
33
|
-
tzinfo (0.3.
|
24
|
+
i18n (0.6.11)
|
25
|
+
minitest (4.7.5)
|
26
|
+
multi_json (1.10.1)
|
27
|
+
rake (10.3.2)
|
28
|
+
thor (0.19.1)
|
29
|
+
thread_safe (0.3.4)
|
30
|
+
tzinfo (0.3.42)
|
34
31
|
|
35
32
|
PLATFORMS
|
36
33
|
ruby
|
37
34
|
|
38
35
|
DEPENDENCIES
|
39
|
-
activesupport
|
36
|
+
activesupport (~> 4.0.0)
|
40
37
|
appraisal
|
41
38
|
gigo!
|
42
39
|
i18n
|
43
|
-
minitest
|
40
|
+
minitest
|
44
41
|
rake
|
@@ -0,0 +1,42 @@
|
|
1
|
+
PATH
|
2
|
+
remote: ../
|
3
|
+
specs:
|
4
|
+
gigo (2.0.0)
|
5
|
+
activesupport (>= 2.3)
|
6
|
+
charlock_holmes (~> 0.7)
|
7
|
+
ensure_valid_encoding (~> 0.5.3)
|
8
|
+
|
9
|
+
GEM
|
10
|
+
remote: https://rubygems.org/
|
11
|
+
specs:
|
12
|
+
activesupport (4.1.4)
|
13
|
+
i18n (~> 0.6, >= 0.6.9)
|
14
|
+
json (~> 1.7, >= 1.7.7)
|
15
|
+
minitest (~> 5.1)
|
16
|
+
thread_safe (~> 0.1)
|
17
|
+
tzinfo (~> 1.1)
|
18
|
+
appraisal (1.0.2)
|
19
|
+
bundler
|
20
|
+
rake
|
21
|
+
thor (>= 0.14.0)
|
22
|
+
charlock_holmes (0.7.3)
|
23
|
+
ensure_valid_encoding (0.5.3)
|
24
|
+
i18n (0.6.11)
|
25
|
+
json (1.8.1)
|
26
|
+
minitest (5.4.2)
|
27
|
+
rake (10.3.2)
|
28
|
+
thor (0.19.1)
|
29
|
+
thread_safe (0.3.4)
|
30
|
+
tzinfo (1.2.2)
|
31
|
+
thread_safe (~> 0.1)
|
32
|
+
|
33
|
+
PLATFORMS
|
34
|
+
ruby
|
35
|
+
|
36
|
+
DEPENDENCIES
|
37
|
+
activesupport (~> 4.1.0)
|
38
|
+
appraisal
|
39
|
+
gigo!
|
40
|
+
i18n
|
41
|
+
minitest
|
42
|
+
rake
|
data/gigo.gemspec
CHANGED
@@ -15,10 +15,11 @@ Gem::Specification.new do |gem|
|
|
15
15
|
gem.executables = gem.files.grep(%r{^bin/}).map{ |f| File.basename(f) }
|
16
16
|
gem.test_files = gem.files.grep(%r{^(test|spec|features)/})
|
17
17
|
gem.require_paths = ["lib"]
|
18
|
-
gem.add_runtime_dependency 'activesupport', '>= 3
|
18
|
+
gem.add_runtime_dependency 'activesupport', '>= 2.3'
|
19
19
|
gem.add_runtime_dependency 'ensure_valid_encoding', '~> 0.5.3'
|
20
|
+
gem.add_runtime_dependency 'charlock_holmes', '~> 0.7'
|
20
21
|
gem.add_development_dependency 'appraisal'
|
21
22
|
gem.add_development_dependency 'i18n' # Older ActiveSupport does not have a proper dep.
|
22
23
|
gem.add_development_dependency 'rake'
|
23
|
-
gem.add_development_dependency 'minitest'
|
24
|
+
gem.add_development_dependency 'minitest'
|
24
25
|
end
|
data/lib/gigo.rb
CHANGED
@@ -1,6 +1,8 @@
|
|
1
1
|
require 'active_support/all'
|
2
|
+
require 'active_support/version'
|
2
3
|
require 'ensure_valid_encoding'
|
3
4
|
require 'gigo/transcoders'
|
5
|
+
require 'gigo/transcoders/charlock_holmes' if ActiveSupport::VERSION::STRING < '3.0'
|
4
6
|
require 'gigo/transcoders/active_support'
|
5
7
|
require 'gigo/transcoders/blind'
|
6
8
|
require 'gigo/version'
|
@@ -8,7 +10,6 @@ require 'gigo/version'
|
|
8
10
|
module GIGO
|
9
11
|
|
10
12
|
mattr_accessor :encoding
|
11
|
-
self.encoding = Encoding.default_internal || Encoding::UTF_8
|
12
13
|
|
13
14
|
def self.load(data, options = {})
|
14
15
|
return data if data.nil? || !data.acts_like?(:string)
|
@@ -18,6 +19,11 @@ module GIGO
|
|
18
19
|
encoded_string
|
19
20
|
end
|
20
21
|
|
22
|
+
def self.reset_encoding!
|
23
|
+
self.encoding = Encoding.default_internal || Encoding::UTF_8
|
24
|
+
end
|
25
|
+
reset_encoding!
|
26
|
+
|
21
27
|
|
22
28
|
protected
|
23
29
|
|
data/lib/gigo/transcoders.rb
CHANGED
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'iconv'
|
2
|
+
require 'charlock_holmes'
|
3
|
+
|
4
|
+
module GIGO
|
5
|
+
module Transcoders
|
6
|
+
module CharlockHolmes
|
7
|
+
|
8
|
+
GIGO.transcoders << self
|
9
|
+
|
10
|
+
def self.transcode(data)
|
11
|
+
::CharlockHolmes::Converter.convert data, detect_encoding(data), GIGO.encoding.name
|
12
|
+
end
|
13
|
+
|
14
|
+
private
|
15
|
+
|
16
|
+
def self.detect_encoding(data)
|
17
|
+
encoding = ::CharlockHolmes::EncodingDetector.detect(data)[:encoding]
|
18
|
+
case encoding
|
19
|
+
when 'UTF-16BE' then 'CP1252'
|
20
|
+
else encoding
|
21
|
+
end
|
22
|
+
end
|
23
|
+
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
data/lib/gigo/version.rb
CHANGED
data/test/cases/gigo_test.rb
CHANGED
@@ -30,7 +30,7 @@ module GIGO
|
|
30
30
|
end
|
31
31
|
|
32
32
|
describe '.load' do
|
33
|
-
|
33
|
+
|
34
34
|
it 'ignores if string is not present' do
|
35
35
|
GIGO.load('').must_equal ''
|
36
36
|
GIGO.load(nil).must_be_nil
|
@@ -59,7 +59,7 @@ module GIGO
|
|
59
59
|
GIGO.load(data_medico_unknown).must_equal "Med�co"
|
60
60
|
end
|
61
61
|
|
62
|
-
it 'makes sure UTF-8 data read in as US-ASCII
|
62
|
+
it 'makes sure UTF-8 data read in as US-ASCII is fixed' do
|
63
63
|
GIGO.load(data_medico_utf8.force_encoding('US-ASCII')).must_equal 'Medíco'
|
64
64
|
end
|
65
65
|
|
@@ -79,7 +79,7 @@ module GIGO
|
|
79
79
|
GIGO.load(data_medico_iso88591.force_encoding('US-ASCII')).must_equal 'Medíco'
|
80
80
|
end
|
81
81
|
|
82
|
-
it '
|
82
|
+
it 'readly bad data can be html escaped afterward' do
|
83
83
|
html_escape GIGO.load(data_really_bad)
|
84
84
|
end
|
85
85
|
|
@@ -88,13 +88,14 @@ module GIGO
|
|
88
88
|
describe '.transcoders' do
|
89
89
|
|
90
90
|
it 'is an array of default transcoders' do
|
91
|
-
|
92
|
-
GIGO::Transcoders::ActiveSupport,
|
93
|
-
|
94
|
-
|
91
|
+
if ActiveSupport::VERSION::STRING < '3.0'
|
92
|
+
GIGO.transcoders.must_equal [GIGO::Transcoders::CharlockHolmes, GIGO::Transcoders::ActiveSupport, GIGO::Transcoders::Blind]
|
93
|
+
else
|
94
|
+
GIGO.transcoders.must_equal [GIGO::Transcoders::ActiveSupport, GIGO::Transcoders::Blind]
|
95
|
+
end
|
95
96
|
end
|
96
97
|
|
97
98
|
end
|
98
|
-
|
99
|
+
|
99
100
|
end
|
100
101
|
end
|
data/test/test_helper.rb
CHANGED
@@ -7,20 +7,18 @@ module GIGO
|
|
7
7
|
class TestCase < MiniTest::Spec
|
8
8
|
|
9
9
|
include ERB::Util
|
10
|
+
@@default_internal_encoding = Encoding.default_internal
|
10
11
|
|
11
|
-
before {
|
12
|
-
after { teardown_gigo }
|
12
|
+
before { reset_encodings }
|
13
13
|
|
14
14
|
|
15
15
|
private
|
16
16
|
|
17
|
-
def
|
18
|
-
|
17
|
+
def reset_encodings
|
18
|
+
Encoding.default_internal = @@default_internal_encoding
|
19
|
+
GIGO.reset_encoding!
|
19
20
|
end
|
20
21
|
|
21
|
-
|
22
|
-
GIGO.encoding = @_default_gigo_encoding
|
23
|
-
end
|
24
|
-
|
22
|
+
|
25
23
|
end
|
26
24
|
end
|
metadata
CHANGED
@@ -1,112 +1,113 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: gigo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.
|
5
|
-
prerelease:
|
4
|
+
version: 2.1.0
|
6
5
|
platform: ruby
|
7
6
|
authors:
|
8
7
|
- Ken Collins
|
9
8
|
autorequire:
|
10
9
|
bindir: bin
|
11
10
|
cert_chain: []
|
12
|
-
date:
|
11
|
+
date: 2014-11-07 00:00:00.000000000 Z
|
13
12
|
dependencies:
|
14
13
|
- !ruby/object:Gem::Dependency
|
15
14
|
name: activesupport
|
16
15
|
requirement: !ruby/object:Gem::Requirement
|
17
|
-
none: false
|
18
16
|
requirements:
|
19
|
-
- -
|
17
|
+
- - ">="
|
20
18
|
- !ruby/object:Gem::Version
|
21
|
-
version: '3
|
19
|
+
version: '2.3'
|
22
20
|
type: :runtime
|
23
21
|
prerelease: false
|
24
22
|
version_requirements: !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
23
|
requirements:
|
27
|
-
- -
|
24
|
+
- - ">="
|
28
25
|
- !ruby/object:Gem::Version
|
29
|
-
version: '3
|
26
|
+
version: '2.3'
|
30
27
|
- !ruby/object:Gem::Dependency
|
31
28
|
name: ensure_valid_encoding
|
32
29
|
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
30
|
requirements:
|
35
|
-
- - ~>
|
31
|
+
- - "~>"
|
36
32
|
- !ruby/object:Gem::Version
|
37
33
|
version: 0.5.3
|
38
34
|
type: :runtime
|
39
35
|
prerelease: false
|
40
36
|
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
37
|
requirements:
|
43
|
-
- - ~>
|
38
|
+
- - "~>"
|
44
39
|
- !ruby/object:Gem::Version
|
45
40
|
version: 0.5.3
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: charlock_holmes
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0.7'
|
48
|
+
type: :runtime
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '0.7'
|
46
55
|
- !ruby/object:Gem::Dependency
|
47
56
|
name: appraisal
|
48
57
|
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
58
|
requirements:
|
51
|
-
- -
|
59
|
+
- - ">="
|
52
60
|
- !ruby/object:Gem::Version
|
53
61
|
version: '0'
|
54
62
|
type: :development
|
55
63
|
prerelease: false
|
56
64
|
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
65
|
requirements:
|
59
|
-
- -
|
66
|
+
- - ">="
|
60
67
|
- !ruby/object:Gem::Version
|
61
68
|
version: '0'
|
62
69
|
- !ruby/object:Gem::Dependency
|
63
70
|
name: i18n
|
64
71
|
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
72
|
requirements:
|
67
|
-
- -
|
73
|
+
- - ">="
|
68
74
|
- !ruby/object:Gem::Version
|
69
75
|
version: '0'
|
70
76
|
type: :development
|
71
77
|
prerelease: false
|
72
78
|
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
79
|
requirements:
|
75
|
-
- -
|
80
|
+
- - ">="
|
76
81
|
- !ruby/object:Gem::Version
|
77
82
|
version: '0'
|
78
83
|
- !ruby/object:Gem::Dependency
|
79
84
|
name: rake
|
80
85
|
requirement: !ruby/object:Gem::Requirement
|
81
|
-
none: false
|
82
86
|
requirements:
|
83
|
-
- -
|
87
|
+
- - ">="
|
84
88
|
- !ruby/object:Gem::Version
|
85
89
|
version: '0'
|
86
90
|
type: :development
|
87
91
|
prerelease: false
|
88
92
|
version_requirements: !ruby/object:Gem::Requirement
|
89
|
-
none: false
|
90
93
|
requirements:
|
91
|
-
- -
|
94
|
+
- - ">="
|
92
95
|
- !ruby/object:Gem::Version
|
93
96
|
version: '0'
|
94
97
|
- !ruby/object:Gem::Dependency
|
95
98
|
name: minitest
|
96
99
|
requirement: !ruby/object:Gem::Requirement
|
97
|
-
none: false
|
98
100
|
requirements:
|
99
|
-
- -
|
101
|
+
- - ">="
|
100
102
|
- !ruby/object:Gem::Version
|
101
|
-
version: '
|
103
|
+
version: '0'
|
102
104
|
type: :development
|
103
105
|
prerelease: false
|
104
106
|
version_requirements: !ruby/object:Gem::Requirement
|
105
|
-
none: false
|
106
107
|
requirements:
|
107
|
-
- -
|
108
|
+
- - ">="
|
108
109
|
- !ruby/object:Gem::Version
|
109
|
-
version: '
|
110
|
+
version: '0'
|
110
111
|
description: Garbage in, garbage out. Fix ruby encoded strings at all costs.
|
111
112
|
email:
|
112
113
|
- kcollins@customink.com
|
@@ -114,12 +115,14 @@ executables: []
|
|
114
115
|
extensions: []
|
115
116
|
extra_rdoc_files: []
|
116
117
|
files:
|
117
|
-
- .gitignore
|
118
|
+
- ".gitignore"
|
118
119
|
- Appraisals
|
119
120
|
- Gemfile
|
120
121
|
- LICENSE.txt
|
121
122
|
- README.md
|
122
123
|
- Rakefile
|
124
|
+
- gemfiles/activesupport23.gemfile
|
125
|
+
- gemfiles/activesupport23.gemfile.lock
|
123
126
|
- gemfiles/activesupport30.gemfile
|
124
127
|
- gemfiles/activesupport30.gemfile.lock
|
125
128
|
- gemfiles/activesupport31.gemfile
|
@@ -128,43 +131,39 @@ files:
|
|
128
131
|
- gemfiles/activesupport32.gemfile.lock
|
129
132
|
- gemfiles/activesupport40.gemfile
|
130
133
|
- gemfiles/activesupport40.gemfile.lock
|
134
|
+
- gemfiles/activesupport41.gemfile
|
135
|
+
- gemfiles/activesupport41.gemfile.lock
|
131
136
|
- gigo.gemspec
|
132
137
|
- lib/gigo.rb
|
133
138
|
- lib/gigo/transcoders.rb
|
134
139
|
- lib/gigo/transcoders/active_support.rb
|
135
140
|
- lib/gigo/transcoders/blind.rb
|
141
|
+
- lib/gigo/transcoders/charlock_holmes.rb
|
136
142
|
- lib/gigo/version.rb
|
137
143
|
- test/cases/gigo_test.rb
|
138
144
|
- test/test_helper.rb
|
139
145
|
homepage: http://github.com/customink/gigo
|
140
146
|
licenses: []
|
147
|
+
metadata: {}
|
141
148
|
post_install_message:
|
142
149
|
rdoc_options: []
|
143
150
|
require_paths:
|
144
151
|
- lib
|
145
152
|
required_ruby_version: !ruby/object:Gem::Requirement
|
146
|
-
none: false
|
147
153
|
requirements:
|
148
|
-
- -
|
154
|
+
- - ">="
|
149
155
|
- !ruby/object:Gem::Version
|
150
156
|
version: '0'
|
151
|
-
segments:
|
152
|
-
- 0
|
153
|
-
hash: 952284011809381427
|
154
157
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
155
|
-
none: false
|
156
158
|
requirements:
|
157
|
-
- -
|
159
|
+
- - ">="
|
158
160
|
- !ruby/object:Gem::Version
|
159
161
|
version: '0'
|
160
|
-
segments:
|
161
|
-
- 0
|
162
|
-
hash: 952284011809381427
|
163
162
|
requirements: []
|
164
163
|
rubyforge_project:
|
165
|
-
rubygems_version:
|
164
|
+
rubygems_version: 2.4.2
|
166
165
|
signing_key:
|
167
|
-
specification_version:
|
166
|
+
specification_version: 4
|
168
167
|
summary: The gigo gem aims to solve bad data, likely from a legacy database. It is
|
169
168
|
an anti-pattern and you should really consider standardizing what encoding you both
|
170
169
|
put in and take out of your data stores.
|