fileinfo 0.1.1 → 0.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: c124025418981cc96ac44d4ac28578f467525090
4
- data.tar.gz: 9b5f75376d8a00a164008d56509050890fcf1c2c
3
+ metadata.gz: 3003ef10828a21e938e6329915aae768e7231565
4
+ data.tar.gz: 5d32b96bce981dc1cbcbd0efb437760ba8d318e8
5
5
  SHA512:
6
- metadata.gz: 0312736c47f08456871bc0388f8256357a0f0d02b8f51b8aa53d32ffef8f071668c6109e45d8ada4c074c0b99e6de91913fd25d87aa9d7d8591e6d9fba297836
7
- data.tar.gz: 30af589caf9862fb79ddba612938fe10af64c13dfeec55d54af9b65b01cd7ffee9171ed85621ae1c11a1bddd57e2abd91380809d50a70a257055ec6216ca6029
6
+ metadata.gz: 0ef4dff4dfe51878aa0a0d71ecfe6c1b95498f7e65048b38dd735a8dd523d371c91fc912943d698bafcc19d35b2616db94443738fe2a456468a9fdcf1f393708
7
+ data.tar.gz: ef3b64ace53578d25f5d64d6a9cb08a1e59eb7f169497e61b2ec0f0c112e714535ba5b96300fea40f1fbea50c240cb60ee01d07f0a86470ca21a27d34451cbe3
data/Gemfile CHANGED
@@ -1,2 +1,4 @@
1
1
  source 'https://rubygems.org'
2
2
  gemspec
3
+
4
+ gem 'coveralls', require: false
data/README.md CHANGED
@@ -1,5 +1,11 @@
1
1
  # FileInfo
2
2
 
3
+ [![Gem Version](https://badge.fury.io/rb/fileinfo.png)](http://badge.fury.io/rb/fileinfo)
4
+ [![Build Status](https://travis-ci.org/rafBM/fileinfo.png?branch=master)](https://travis-ci.org/rafBM/fileinfo)
5
+ [![Code Climate](https://codeclimate.com/github/rafBM/fileinfo.png)](https://codeclimate.com/github/rafBM/fileinfo)
6
+ [![Coverage Status](https://coveralls.io/repos/rafBM/fileinfo/badge.png?branch=master)](https://coveralls.io/r/rafBM/fileinfo?branch=master)
7
+ [![Dependency Status](https://gemnasium.com/rafBM/fileinfo.png)](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
@@ -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)
@@ -1,3 +1,3 @@
1
1
  class FileInfo
2
- VERSION = '0.1.1'
2
+ VERSION = '0.2.0'
3
3
  end
@@ -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
@@ -0,0 +1,2 @@
1
+ Pr�nom,Nom
2
+ Rafa�l,Labb�
@@ -1,3 +1,6 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
1
4
  require 'fileinfo'
2
5
  require 'fileutils'
3
6
 
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.1.1
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-09-09 00:00:00.000000000 Z
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.0.3
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