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 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