fileinfo 0.1.1 → 0.2.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/Gemfile +2 -0
- data/README.md +6 -0
- data/lib/file_info.rb +4 -0
- data/lib/file_info/version.rb +1 -1
- data/spec/file_info_spec.rb +7 -0
- data/spec/fixtures/encoding_macroman.csv +2 -0
- data/spec/spec_helper.rb +3 -0
- metadata +5 -3
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3003ef10828a21e938e6329915aae768e7231565
|
4
|
+
data.tar.gz: 5d32b96bce981dc1cbcbd0efb437760ba8d318e8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 0ef4dff4dfe51878aa0a0d71ecfe6c1b95498f7e65048b38dd735a8dd523d371c91fc912943d698bafcc19d35b2616db94443738fe2a456468a9fdcf1f393708
|
7
|
+
data.tar.gz: ef3b64ace53578d25f5d64d6a9cb08a1e59eb7f169497e61b2ec0f0c112e714535ba5b96300fea40f1fbea50c240cb60ee01d07f0a86470ca21a27d34451cbe3
|
data/Gemfile
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,11 @@
|
|
1
1
|
# FileInfo
|
2
2
|
|
3
|
+
[](http://badge.fury.io/rb/fileinfo)
|
4
|
+
[](https://travis-ci.org/rafBM/fileinfo)
|
5
|
+
[](https://codeclimate.com/github/rafBM/fileinfo)
|
6
|
+
[](https://coveralls.io/r/rafBM/fileinfo?branch=master)
|
7
|
+
[](https://gemnasium.com/rafBM/fileinfo)
|
8
|
+
|
3
9
|
FileInfo detects encoding from strings and files using the [wonderful Unix `file` command](http://en.wikipedia.org/wiki/File_\(command\)).
|
4
10
|
|
5
11
|
## Installation
|
data/lib/file_info.rb
CHANGED
@@ -4,6 +4,8 @@ require 'shellwords'
|
|
4
4
|
require 'tempfile'
|
5
5
|
|
6
6
|
class FileInfo
|
7
|
+
class UnknownEncodingError < StandardError; end
|
8
|
+
|
7
9
|
STRING_REGEX = /: ([^:]+)$/
|
8
10
|
ENCODING_REGEX = /charset=(\S+)/
|
9
11
|
|
@@ -13,6 +15,8 @@ class FileInfo
|
|
13
15
|
|
14
16
|
def encoding
|
15
17
|
@encoding ||= ::Encoding.find(encoding_string)
|
18
|
+
rescue ArgumentError => e
|
19
|
+
raise UnknownEncodingError, e.message
|
16
20
|
end
|
17
21
|
|
18
22
|
def self.load(filename)
|
data/lib/file_info/version.rb
CHANGED
data/spec/file_info_spec.rb
CHANGED
@@ -4,6 +4,7 @@ describe FileInfo do
|
|
4
4
|
let(:ascii_file) { fixture('encoding_ascii.csv') }
|
5
5
|
let(:isolatin_file) { fixture('encoding_isolatin.csv') }
|
6
6
|
let(:isowindows_file) { fixture('encoding_isowindows.csv') }
|
7
|
+
let(:macroman_file) { fixture('encoding_macroman.csv') }
|
7
8
|
let(:utf8_file) { fixture('encoding_utf8.csv') }
|
8
9
|
|
9
10
|
describe '.load' do
|
@@ -47,4 +48,10 @@ describe FileInfo do
|
|
47
48
|
expect(FileInfo.parse(utf8_file.read).encoding).to eq Encoding::UTF_8
|
48
49
|
end
|
49
50
|
end
|
51
|
+
|
52
|
+
describe '#encoding' do
|
53
|
+
it 'raises UnknownEncodingError' do
|
54
|
+
expect { FileInfo.load(macroman_file.path).encoding }.to raise_error(FileInfo::UnknownEncodingError)
|
55
|
+
end
|
56
|
+
end
|
50
57
|
end
|
data/spec/spec_helper.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: fileinfo
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Rafaël Blais Masson
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -75,6 +75,7 @@ files:
|
|
75
75
|
- spec/fixtures/encoding_ascii.csv
|
76
76
|
- spec/fixtures/encoding_isolatin.csv
|
77
77
|
- spec/fixtures/encoding_isowindows.csv
|
78
|
+
- spec/fixtures/encoding_macroman.csv
|
78
79
|
- spec/fixtures/encoding_utf8.csv
|
79
80
|
- spec/spec_helper.rb
|
80
81
|
homepage: http://github.com/rafBM/fileinfo
|
@@ -97,7 +98,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
97
98
|
version: '0'
|
98
99
|
requirements: []
|
99
100
|
rubyforge_project:
|
100
|
-
rubygems_version: 2.
|
101
|
+
rubygems_version: 2.1.9
|
101
102
|
signing_key:
|
102
103
|
specification_version: 4
|
103
104
|
summary: FileInfo detects encoding from strings and files using the wonderful Unix
|
@@ -107,5 +108,6 @@ test_files:
|
|
107
108
|
- spec/fixtures/encoding_ascii.csv
|
108
109
|
- spec/fixtures/encoding_isolatin.csv
|
109
110
|
- spec/fixtures/encoding_isowindows.csv
|
111
|
+
- spec/fixtures/encoding_macroman.csv
|
110
112
|
- spec/fixtures/encoding_utf8.csv
|
111
113
|
- spec/spec_helper.rb
|