colander 0.0.2 → 0.0.3

Sign up to get free protection for your applications and to get access to all the features.
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 "nokogiri", "~> 1.4.4"
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
@@ -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 TypeError, IOError
12
- raise InvalidFile
12
+ rescue Exception => e
13
+ raise InvalidFile.new e
13
14
  end
14
15
 
15
16
  protected
@@ -1,3 +1,3 @@
1
1
  module Colander
2
- VERSION = "0.0.2"
2
+ VERSION = "0.0.3"
3
3
  end
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
- hash: 27
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
- date: 2011-08-29 00:00:00 Z
20
- dependencies:
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
- prerelease: false
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
- hash: 57
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
- requirement: &id003 !ruby/object:Gem::Requirement
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
- requirement: &id004 !ruby/object:Gem::Requirement
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
- hash: 3
78
- segments:
79
- - 0
80
- version: "0"
41
+ requirements:
42
+ - - ! '>='
43
+ - !ruby/object:Gem::Version
44
+ version: '0'
81
45
  type: :development
82
- version_requirements: *id004
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
- hash: 3
129
- segments:
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
- hash: 3
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.10
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