jeff 0.3.0 → 0.3.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,10 @@ require 'nokogiri'
3
3
  module Jeff
4
4
  class Document < Nokogiri::XML::SAX::Document
5
5
  def characters(val)
6
- (node['__content__'] ||= '') << val
6
+ val.strip!
7
+ unless val.empty?
8
+ (node['__content__'] ||= '') << val
9
+ end
7
10
  end
8
11
 
9
12
  def end_element(key)
@@ -7,7 +7,7 @@ module Jeff
7
7
  end
8
8
 
9
9
  def call(chunk, remaining_bytes, total_bytes)
10
- @parser << chunk.sub(/\n/, '')
10
+ @parser << chunk.sub(/^\n/, '')
11
11
  @parser.finish if remaining_bytes == 0
12
12
  end
13
13
 
@@ -1,3 +1,3 @@
1
1
  module Jeff
2
- VERSION = '0.3.0'
2
+ VERSION = '0.3.1'
3
3
  end
@@ -11,7 +11,7 @@ module Jeff
11
11
  <Author>Felix Guattari</Author>
12
12
  <Creator Role="Translator">Robert Hurley</Creator>
13
13
  </ItemAttributes>
14
- }.strip.gsub />\s+</, '><'
14
+ }.strip
15
15
  end
16
16
 
17
17
  let(:doc) { described_class.new }
@@ -40,6 +40,10 @@ module Jeff
40
40
  creator['Role'].should eql 'Translator'
41
41
  creator['__content__'].should eql 'Robert Hurley'
42
42
  end
43
+
44
+ it 'should ignore space between tags' do
45
+ should_not have_key '__content__'
46
+ end
43
47
  end
44
48
  end
45
49
  end
@@ -155,5 +155,19 @@ describe Jeff do
155
155
  client.get(mock: true).status.should be 200
156
156
  end
157
157
  end
158
+
159
+ context 'given a malformed XML' do
160
+ before do
161
+ Excon.stub({ method: :get }) do |params|
162
+ { body: "\n<?xml version=\"1.0\" ?><foo/>" }
163
+ end
164
+ end
165
+
166
+ after { Excon.stubs.clear }
167
+
168
+ it 'should not raise an error' do
169
+ client.get mock: true
170
+ end
171
+ end
158
172
  end
159
173
  end
metadata CHANGED
@@ -1,96 +1,96 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: jeff
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.0
5
- prerelease:
4
+ prerelease:
5
+ version: 0.3.1
6
6
  platform: ruby
7
7
  authors:
8
8
  - Hakan Ensari
9
- autorequire:
9
+ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
  date: 2012-07-11 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: excon
16
- requirement: !ruby/object:Gem::Requirement
17
- none: false
16
+ version_requirements: !ruby/object:Gem::Requirement
18
17
  requirements:
19
18
  - - ~>
20
19
  - !ruby/object:Gem::Version
21
20
  version: 0.14.0
22
- type: :runtime
23
- prerelease: false
24
- version_requirements: !ruby/object:Gem::Requirement
25
21
  none: false
22
+ requirement: !ruby/object:Gem::Requirement
26
23
  requirements:
27
24
  - - ~>
28
25
  - !ruby/object:Gem::Version
29
26
  version: 0.14.0
27
+ none: false
28
+ prerelease: false
29
+ type: :runtime
30
30
  - !ruby/object:Gem::Dependency
31
31
  name: nokogiri
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
32
+ version_requirements: !ruby/object:Gem::Requirement
34
33
  requirements:
35
34
  - - ~>
36
35
  - !ruby/object:Gem::Version
37
36
  version: '1.5'
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
37
  none: false
38
+ requirement: !ruby/object:Gem::Requirement
42
39
  requirements:
43
40
  - - ~>
44
41
  - !ruby/object:Gem::Version
45
42
  version: '1.5'
43
+ none: false
44
+ prerelease: false
45
+ type: :runtime
46
46
  - !ruby/object:Gem::Dependency
47
47
  name: guard-rspec
48
- requirement: !ruby/object:Gem::Requirement
49
- none: false
48
+ version_requirements: !ruby/object:Gem::Requirement
50
49
  requirements:
51
50
  - - ! '>='
52
51
  - !ruby/object:Gem::Version
53
52
  version: '0'
54
- type: :development
55
- prerelease: false
56
- version_requirements: !ruby/object:Gem::Requirement
57
53
  none: false
54
+ requirement: !ruby/object:Gem::Requirement
58
55
  requirements:
59
56
  - - ! '>='
60
57
  - !ruby/object:Gem::Version
61
58
  version: '0'
59
+ none: false
60
+ prerelease: false
61
+ type: :development
62
62
  - !ruby/object:Gem::Dependency
63
63
  name: rake
64
- requirement: !ruby/object:Gem::Requirement
65
- none: false
64
+ version_requirements: !ruby/object:Gem::Requirement
66
65
  requirements:
67
66
  - - ! '>='
68
67
  - !ruby/object:Gem::Version
69
68
  version: '0'
70
- type: :development
71
- prerelease: false
72
- version_requirements: !ruby/object:Gem::Requirement
73
69
  none: false
70
+ requirement: !ruby/object:Gem::Requirement
74
71
  requirements:
75
72
  - - ! '>='
76
73
  - !ruby/object:Gem::Version
77
74
  version: '0'
75
+ none: false
76
+ prerelease: false
77
+ type: :development
78
78
  - !ruby/object:Gem::Dependency
79
79
  name: rspec
80
- requirement: !ruby/object:Gem::Requirement
81
- none: false
80
+ version_requirements: !ruby/object:Gem::Requirement
82
81
  requirements:
83
82
  - - ! '>='
84
83
  - !ruby/object:Gem::Version
85
84
  version: '0'
86
- type: :development
87
- prerelease: false
88
- version_requirements: !ruby/object:Gem::Requirement
89
85
  none: false
86
+ requirement: !ruby/object:Gem::Requirement
90
87
  requirements:
91
88
  - - ! '>='
92
89
  - !ruby/object:Gem::Version
93
90
  version: '0'
91
+ none: false
92
+ prerelease: false
93
+ type: :development
94
94
  description: Minimum-viable Amazon Web Services (AWS) client
95
95
  email:
96
96
  - hakan.ensari@papercavalier.com
@@ -120,26 +120,26 @@ files:
120
120
  - spec/spec_helper.rb
121
121
  homepage: https://github.com/hakanensari/jeff
122
122
  licenses: []
123
- post_install_message:
123
+ post_install_message:
124
124
  rdoc_options: []
125
125
  require_paths:
126
126
  - lib
127
127
  required_ruby_version: !ruby/object:Gem::Requirement
128
- none: false
129
128
  requirements:
130
129
  - - ! '>='
131
130
  - !ruby/object:Gem::Version
132
131
  version: '0'
133
- required_rubygems_version: !ruby/object:Gem::Requirement
134
132
  none: false
133
+ required_rubygems_version: !ruby/object:Gem::Requirement
135
134
  requirements:
136
135
  - - ! '>='
137
136
  - !ruby/object:Gem::Version
138
137
  version: '0'
138
+ none: false
139
139
  requirements: []
140
- rubyforge_project:
141
- rubygems_version: 1.8.23
142
- signing_key:
140
+ rubyforge_project:
141
+ rubygems_version: 1.8.24
142
+ signing_key:
143
143
  specification_version: 3
144
144
  summary: AWS client
145
145
  test_files:
@@ -148,4 +148,4 @@ test_files:
148
148
  - spec/jeff/streamer_spec.rb
149
149
  - spec/jeff_spec.rb
150
150
  - spec/spec_helper.rb
151
- has_rdoc:
151
+ ...