colander 0.0.2 → 0.0.3
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.
- data/.rbenv-version +1 -0
- data/colander.gemspec +1 -2
- data/lib/colander/parser/xls.rb +3 -2
- data/lib/colander/version.rb +1 -1
- data/spec/xls_spec.rb +10 -0
- metadata +43 -89
data/.rbenv-version
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
1.9.3-p125
|
data/colander.gemspec
CHANGED
@@ -19,8 +19,7 @@ Gem::Specification.new do |s|
|
|
19
19
|
s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
|
20
20
|
s.require_paths = ["lib"]
|
21
21
|
|
22
|
-
s.add_dependency "
|
23
|
-
s.add_dependency "roo", "~> 1.9.5"
|
22
|
+
s.add_dependency "roo", "~> 1.10.1"
|
24
23
|
s.add_dependency "zip", "~> 2.0.2"
|
25
24
|
s.add_development_dependency "rspec"
|
26
25
|
end
|
data/lib/colander/parser/xls.rb
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'colander/invalid_file'
|
2
2
|
require 'colander/parser/base'
|
3
3
|
require 'roo'
|
4
|
+
require 'iconv'
|
4
5
|
|
5
6
|
module Colander
|
6
7
|
module Parser
|
@@ -8,8 +9,8 @@ module Colander
|
|
8
9
|
def parse
|
9
10
|
spreadsheet = parse_file
|
10
11
|
@emails = collect_emails spreadsheet
|
11
|
-
rescue
|
12
|
-
raise InvalidFile
|
12
|
+
rescue Exception => e
|
13
|
+
raise InvalidFile.new e
|
13
14
|
end
|
14
15
|
|
15
16
|
protected
|
data/lib/colander/version.rb
CHANGED
data/spec/xls_spec.rb
CHANGED
@@ -17,7 +17,16 @@ describe Colander::Parser::Xls do
|
|
17
17
|
}.should raise_error(Colander::InvalidFile)
|
18
18
|
end
|
19
19
|
|
20
|
+
it "wraps errors and returns InvalidFile" do
|
21
|
+
parser = Colander::Parser::Xls.new("file/path")
|
22
|
+
parser.should_receive(:parse_file).and_raise(RuntimeError.new("FUUU"))
|
23
|
+
expect {
|
24
|
+
parser.parse
|
25
|
+
}.to raise_error(Colander::InvalidFile)
|
26
|
+
end
|
27
|
+
|
20
28
|
it "retreives emails from an 95-excel spreadsheet" do
|
29
|
+
pending "handle encoding error"
|
21
30
|
parser = Colander::Parser::Xls.new("spec/fixtures/excel95.xls")
|
22
31
|
parser.parse
|
23
32
|
parser.emails.should eql(["markus.nordin@mynewsdesk.com", "markus@hej.se", "sven@bertil.se", "Adam.A@hotmail.com", "apa@elabs.se", "liam@neeson.net", "david@mynewsdesk.com"])
|
@@ -28,6 +37,7 @@ describe Colander::Parser::Xls do
|
|
28
37
|
parser.emails.should eql(["markus.nordin@mynewsdesk.com", "markus@hej.se", "sven@bertil.se", "Adam.A@hotmail.com", "apa@elabs.se", "liam@neeson.net", "david@mynewsdesk.com"])
|
29
38
|
end
|
30
39
|
it "retreives emails from an 95-excel spreadsheet without file suffix" do
|
40
|
+
pending "handle encoding error"
|
31
41
|
parser = Colander::Parser::Xls.new("spec/fixtures/excel95-without-file-suffix")
|
32
42
|
parser.parse
|
33
43
|
parser.emails.should eql(["markus.nordin@mynewsdesk.com", "markus@hej.se", "sven@bertil.se", "Adam.A@hotmail.com", "apa@elabs.se", "liam@neeson.net", "david@mynewsdesk.com"])
|
metadata
CHANGED
@@ -1,96 +1,59 @@
|
|
1
|
-
--- !ruby/object:Gem::Specification
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
2
|
name: colander
|
3
|
-
version: !ruby/object:Gem::Version
|
4
|
-
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.3
|
5
5
|
prerelease:
|
6
|
-
segments:
|
7
|
-
- 0
|
8
|
-
- 0
|
9
|
-
- 2
|
10
|
-
version: 0.0.2
|
11
6
|
platform: ruby
|
12
|
-
authors:
|
7
|
+
authors:
|
13
8
|
- Kristian Hellquist
|
14
9
|
- Jonas Forsberg
|
15
10
|
autorequire:
|
16
11
|
bindir: bin
|
17
12
|
cert_chain: []
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
- !ruby/object:Gem::Dependency
|
22
|
-
name: nokogiri
|
23
|
-
prerelease: false
|
24
|
-
requirement: &id001 !ruby/object:Gem::Requirement
|
25
|
-
none: false
|
26
|
-
requirements:
|
27
|
-
- - ~>
|
28
|
-
- !ruby/object:Gem::Version
|
29
|
-
hash: 15
|
30
|
-
segments:
|
31
|
-
- 1
|
32
|
-
- 4
|
33
|
-
- 4
|
34
|
-
version: 1.4.4
|
35
|
-
type: :runtime
|
36
|
-
version_requirements: *id001
|
37
|
-
- !ruby/object:Gem::Dependency
|
13
|
+
date: 2012-03-01 00:00:00.000000000 Z
|
14
|
+
dependencies:
|
15
|
+
- !ruby/object:Gem::Dependency
|
38
16
|
name: roo
|
39
|
-
|
40
|
-
requirement: &id002 !ruby/object:Gem::Requirement
|
17
|
+
requirement: &70276138479340 !ruby/object:Gem::Requirement
|
41
18
|
none: false
|
42
|
-
requirements:
|
19
|
+
requirements:
|
43
20
|
- - ~>
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
|
46
|
-
segments:
|
47
|
-
- 1
|
48
|
-
- 9
|
49
|
-
- 5
|
50
|
-
version: 1.9.5
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: 1.10.1
|
51
23
|
type: :runtime
|
52
|
-
version_requirements: *id002
|
53
|
-
- !ruby/object:Gem::Dependency
|
54
|
-
name: zip
|
55
24
|
prerelease: false
|
56
|
-
|
25
|
+
version_requirements: *70276138479340
|
26
|
+
- !ruby/object:Gem::Dependency
|
27
|
+
name: zip
|
28
|
+
requirement: &70276138467840 !ruby/object:Gem::Requirement
|
57
29
|
none: false
|
58
|
-
requirements:
|
30
|
+
requirements:
|
59
31
|
- - ~>
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
hash: 11
|
62
|
-
segments:
|
63
|
-
- 2
|
64
|
-
- 0
|
65
|
-
- 2
|
32
|
+
- !ruby/object:Gem::Version
|
66
33
|
version: 2.0.2
|
67
34
|
type: :runtime
|
68
|
-
version_requirements: *id003
|
69
|
-
- !ruby/object:Gem::Dependency
|
70
|
-
name: rspec
|
71
35
|
prerelease: false
|
72
|
-
|
36
|
+
version_requirements: *70276138467840
|
37
|
+
- !ruby/object:Gem::Dependency
|
38
|
+
name: rspec
|
39
|
+
requirement: &70276138466580 !ruby/object:Gem::Requirement
|
73
40
|
none: false
|
74
|
-
requirements:
|
75
|
-
- -
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
|
78
|
-
segments:
|
79
|
-
- 0
|
80
|
-
version: "0"
|
41
|
+
requirements:
|
42
|
+
- - ! '>='
|
43
|
+
- !ruby/object:Gem::Version
|
44
|
+
version: '0'
|
81
45
|
type: :development
|
82
|
-
|
46
|
+
prerelease: false
|
47
|
+
version_requirements: *70276138466580
|
83
48
|
description: Exctract an array of emails from various file formats (xls, xlsx)
|
84
|
-
email:
|
49
|
+
email:
|
85
50
|
- dev@mynewsdesk.com
|
86
51
|
executables: []
|
87
|
-
|
88
52
|
extensions: []
|
89
|
-
|
90
53
|
extra_rdoc_files: []
|
91
|
-
|
92
|
-
files:
|
54
|
+
files:
|
93
55
|
- .gitignore
|
56
|
+
- .rbenv-version
|
94
57
|
- .rvmrc
|
95
58
|
- Gemfile
|
96
59
|
- README.md
|
@@ -114,38 +77,29 @@ files:
|
|
114
77
|
- spec/xlsx_spec.rb
|
115
78
|
homepage: http://devcorner.mynewsdesk.com
|
116
79
|
licenses: []
|
117
|
-
|
118
80
|
post_install_message:
|
119
81
|
rdoc_options: []
|
120
|
-
|
121
|
-
require_paths:
|
82
|
+
require_paths:
|
122
83
|
- lib
|
123
|
-
required_ruby_version: !ruby/object:Gem::Requirement
|
84
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
124
85
|
none: false
|
125
|
-
requirements:
|
126
|
-
- -
|
127
|
-
- !ruby/object:Gem::Version
|
128
|
-
|
129
|
-
|
130
|
-
- 0
|
131
|
-
version: "0"
|
132
|
-
required_rubygems_version: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ! '>='
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
133
91
|
none: false
|
134
|
-
requirements:
|
135
|
-
- -
|
136
|
-
- !ruby/object:Gem::Version
|
137
|
-
|
138
|
-
segments:
|
139
|
-
- 0
|
140
|
-
version: "0"
|
92
|
+
requirements:
|
93
|
+
- - ! '>='
|
94
|
+
- !ruby/object:Gem::Version
|
95
|
+
version: '0'
|
141
96
|
requirements: []
|
142
|
-
|
143
97
|
rubyforge_project:
|
144
|
-
rubygems_version: 1.8.
|
98
|
+
rubygems_version: 1.8.11
|
145
99
|
signing_key:
|
146
100
|
specification_version: 3
|
147
101
|
summary: Exctract an array of emails from various file formats
|
148
|
-
test_files:
|
102
|
+
test_files:
|
149
103
|
- spec/base_spec.rb
|
150
104
|
- spec/colander_spec.rb
|
151
105
|
- spec/fixtures/excel95-without-file-suffix
|