jeff 0.3.0 → 0.3.1

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.
@@ -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
+ ...