rapuncel 0.0.1 → 0.0.2

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.
Files changed (63) hide show
  1. data/README.md +39 -33
  2. data/{Rakefile.rb → Rakefile} +1 -1
  3. data/lib/rapuncel.rb +2 -1
  4. data/lib/rapuncel/adapters/net_http_adapter.rb +6 -6
  5. data/lib/rapuncel/base.rb +2 -2
  6. data/lib/rapuncel/client.rb +21 -13
  7. data/lib/rapuncel/connection.rb +2 -2
  8. data/lib/rapuncel/core_ext/array.rb +9 -16
  9. data/lib/rapuncel/core_ext/big_decimal.rb +7 -0
  10. data/lib/rapuncel/core_ext/boolean.rb +10 -13
  11. data/lib/rapuncel/core_ext/float.rb +4 -7
  12. data/lib/rapuncel/core_ext/hash.rb +17 -27
  13. data/lib/rapuncel/core_ext/integer.rb +2 -10
  14. data/lib/rapuncel/core_ext/nil.rb +7 -0
  15. data/lib/rapuncel/core_ext/object.rb +6 -6
  16. data/lib/rapuncel/core_ext/string.rb +5 -7
  17. data/lib/rapuncel/core_ext/symbol.rb +2 -3
  18. data/lib/rapuncel/core_ext/time.rb +5 -8
  19. data/lib/rapuncel/proxy.rb +39 -14
  20. data/lib/rapuncel/request.rb +7 -6
  21. data/lib/rapuncel/response.rb +60 -31
  22. data/rapuncel.gemspec +2 -3
  23. data/test/functional/client_test.rb +38 -7
  24. data/test/functional_test_helper.rb +2 -2
  25. data/test/test_server.rb +3 -3
  26. data/test/unit/array_test.rb +14 -14
  27. data/test/unit/boolean_test.rb +6 -6
  28. data/test/unit/float_test.rb +7 -7
  29. data/test/unit/hash_test.rb +16 -16
  30. data/test/unit/nil_test.rb +16 -0
  31. data/test/unit/object_test.rb +29 -29
  32. data/test/unit/proxy_test.rb +9 -9
  33. data/test/unit/response_test.rb +69 -5
  34. data/test/unit/string_test.rb +15 -7
  35. metadata +13 -53
  36. data/lib/rapuncel/adapters/typhoeus_adapter.rb +0 -33
  37. data/lib/rapuncel/fault.rb +0 -10
  38. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-adapters-typhoeus_adapter_rb.html +0 -231
  39. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-base_rb.html +0 -105
  40. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-client_rb.html +0 -321
  41. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-connection_rb.html +0 -513
  42. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-array_rb.html +0 -303
  43. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-boolean_rb.html +0 -255
  44. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-float_rb.html +0 -177
  45. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-hash_rb.html +0 -297
  46. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-integer_rb.html +0 -177
  47. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-object_rb.html +0 -297
  48. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-string_rb.html +0 -159
  49. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-time_rb.html +0 -165
  50. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-fault_rb.html +0 -93
  51. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-proxy_rb.html +0 -393
  52. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-request_rb.html +0 -351
  53. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-response_rb.html +0 -399
  54. data/test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel_rb.html +0 -201
  55. data/test/coverage/functional_test_helper_rb.html +0 -141
  56. data/test/coverage/index.html +0 -410
  57. data/test/coverage/jquery-1.3.2.min.js +0 -19
  58. data/test/coverage/jquery.tablesorter.min.js +0 -15
  59. data/test/coverage/print.css +0 -12
  60. data/test/coverage/rcov.js +0 -42
  61. data/test/coverage/screen.css +0 -270
  62. data/test/coverage/test_helper_rb.html +0 -291
  63. data/test/coverage/test_server_rb.html +0 -231
@@ -2,7 +2,7 @@ require 'test_helper'
2
2
 
3
3
 
4
4
  class StringTest < ActiveSupport::TestCase
5
-
5
+
6
6
 
7
7
  test "A string should simply be written between two <string></string> tags" do
8
8
  str = "blabla"
@@ -10,7 +10,7 @@ class StringTest < ActiveSupport::TestCase
10
10
  assert_select xml, '/string', 1
11
11
  assert_select xml, '/string', str
12
12
  end
13
-
13
+
14
14
  test "A symbol should simply be written between two <string></string> tags" do
15
15
  sym = :blabla
16
16
  xml = sym.to_xml_rpc
@@ -18,15 +18,23 @@ class StringTest < ActiveSupport::TestCase
18
18
  assert_select xml, '/string', sym.to_s
19
19
  end
20
20
 
21
-
21
+
22
22
  test "A string to_xml_rpc from_xml_rpc should be itself, even with whitespace" do #weird characters too?? or do we need base64 for that
23
23
  str = "yabba dabba doo! \t"
24
24
  xml = str.to_xml_rpc
25
-
26
-
25
+
26
+
27
27
  xml_node = Nokogiri::XML(xml).children.first
28
-
28
+
29
29
  assert_equal str, String.from_xml_rpc(xml_node)
30
30
  end
31
-
31
+
32
+ test "CRLF and CR should be normalized" do
33
+ str = "one\r\ntwo\rthree\nfour"
34
+ xml = str.to_xml_rpc
35
+
36
+ xml_node = Nokogiri::XML(xml).children.first
37
+
38
+ assert_equal "one\ntwo\nthree\nfour", String.from_xml_rpc(xml_node)
39
+ end
32
40
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rapuncel
3
3
  version: !ruby/object:Gem::Version
4
- hash: 29
5
- prerelease: false
4
+ hash: 27
5
+ prerelease:
6
6
  segments:
7
7
  - 0
8
8
  - 0
9
- - 1
10
- version: 0.0.1
9
+ - 2
10
+ version: 0.0.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Eickenberg
@@ -33,24 +33,10 @@ dependencies:
33
33
  version: "0"
34
34
  type: :runtime
35
35
  version_requirements: *id001
36
- - !ruby/object:Gem::Dependency
37
- name: builder
38
- prerelease: false
39
- requirement: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
- type: :runtime
49
- version_requirements: *id002
50
36
  - !ruby/object:Gem::Dependency
51
37
  name: activesupport
52
38
  prerelease: false
53
- requirement: &id003 !ruby/object:Gem::Requirement
39
+ requirement: &id002 !ruby/object:Gem::Requirement
54
40
  none: false
55
41
  requirements:
56
42
  - - ">="
@@ -62,11 +48,11 @@ dependencies:
62
48
  - 0
63
49
  version: 3.0.0
64
50
  type: :runtime
65
- version_requirements: *id003
51
+ version_requirements: *id002
66
52
  - !ruby/object:Gem::Dependency
67
53
  name: mocha
68
54
  prerelease: false
69
- requirement: &id004 !ruby/object:Gem::Requirement
55
+ requirement: &id003 !ruby/object:Gem::Requirement
70
56
  none: false
71
57
  requirements:
72
58
  - - ">="
@@ -76,8 +62,8 @@ dependencies:
76
62
  - 0
77
63
  version: "0"
78
64
  type: :development
79
- version_requirements: *id004
80
- description: Simple XML-RPC Client
65
+ version_requirements: *id003
66
+ description: Rapuncel is a simple XML-RPC Client based on Nokogiri, thus provides a fast and easy way to interact with XML-RPC services.
81
67
  email: marian@cice-online.net
82
68
  executables: []
83
69
 
@@ -87,7 +73,6 @@ extra_rdoc_files: []
87
73
 
88
74
  files:
89
75
  - lib/rapuncel/adapters/net_http_adapter.rb
90
- - lib/rapuncel/adapters/typhoeus_adapter.rb
91
76
  - lib/rapuncel/base.rb
92
77
  - lib/rapuncel/client.rb
93
78
  - lib/rapuncel/connection.rb
@@ -97,45 +82,19 @@ files:
97
82
  - lib/rapuncel/core_ext/float.rb
98
83
  - lib/rapuncel/core_ext/hash.rb
99
84
  - lib/rapuncel/core_ext/integer.rb
85
+ - lib/rapuncel/core_ext/nil.rb
100
86
  - lib/rapuncel/core_ext/object.rb
101
87
  - lib/rapuncel/core_ext/string.rb
102
88
  - lib/rapuncel/core_ext/symbol.rb
103
89
  - lib/rapuncel/core_ext/time.rb
104
- - lib/rapuncel/fault.rb
105
90
  - lib/rapuncel/proxy.rb
106
91
  - lib/rapuncel/request.rb
107
92
  - lib/rapuncel/response.rb
108
93
  - lib/rapuncel.rb
109
94
  - MIT-LICENSE
110
- - Rakefile.rb
95
+ - Rakefile
111
96
  - rapuncel.gemspec
112
97
  - README.md
113
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-adapters-typhoeus_adapter_rb.html
114
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-base_rb.html
115
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-client_rb.html
116
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-connection_rb.html
117
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-array_rb.html
118
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-boolean_rb.html
119
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-float_rb.html
120
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-hash_rb.html
121
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-integer_rb.html
122
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-object_rb.html
123
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-string_rb.html
124
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-core_ext-time_rb.html
125
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-fault_rb.html
126
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-proxy_rb.html
127
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-request_rb.html
128
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-response_rb.html
129
- - test/coverage/-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel_rb.html
130
- - test/coverage/functional_test_helper_rb.html
131
- - test/coverage/index.html
132
- - test/coverage/jquery-1.3.2.min.js
133
- - test/coverage/jquery.tablesorter.min.js
134
- - test/coverage/print.css
135
- - test/coverage/rcov.js
136
- - test/coverage/screen.css
137
- - test/coverage/test_helper_rb.html
138
- - test/coverage/test_server_rb.html
139
98
  - test/functional/client_test.rb
140
99
  - test/functional_test_helper.rb
141
100
  - test/test_helper.rb
@@ -146,6 +105,7 @@ files:
146
105
  - test/unit/float_test.rb
147
106
  - test/unit/hash_test.rb
148
107
  - test/unit/int_test.rb
108
+ - test/unit/nil_test.rb
149
109
  - test/unit/object_test.rb
150
110
  - test/unit/proxy_test.rb
151
111
  - test/unit/request_test.rb
@@ -182,7 +142,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
182
142
  requirements: []
183
143
 
184
144
  rubyforge_project:
185
- rubygems_version: 1.3.7
145
+ rubygems_version: 1.5.0
186
146
  signing_key:
187
147
  specification_version: 3
188
148
  summary: Simple XML-RPC Client
@@ -1,33 +0,0 @@
1
- require 'typhoeus'
2
- require 'active_support/memoizable'
3
-
4
- module Rapuncel
5
- module Adapters
6
- module TyphoeusAdapter
7
- extend ActiveSupport::Memoizable
8
-
9
-
10
- def send_method_call str
11
- Typhoeus::Request.post connection.url, typhoeus_params.merge(:body => str)
12
- end
13
-
14
- protected
15
- def typhoeus_params
16
- {
17
- :headers => connection.headers
18
- }.merge auth_params
19
- end
20
- memoize :typhoeus_params
21
-
22
- def auth_params
23
- return {} unless connection.http_auth?
24
-
25
- {
26
- :user => connection.user,
27
- :password => connection.password,
28
- :auth_method => connection.auth_method
29
- }
30
- end
31
- end
32
- end
33
- end
@@ -1,10 +0,0 @@
1
- module Rapuncel
2
- class Fault
3
- attr_accessor :code, :string
4
-
5
- def initialize hsh
6
- @code = hsh[:faultCode]
7
- @string = hsh[:faultString]
8
- end
9
- end
10
- end
@@ -1,231 +0,0 @@
1
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2
- <html lang='en' xml:lang='en' xmlns='http://www.w3.org/1999/xhtml'>
3
- <head>
4
- <title>/Users/mariantheisen/Projects/Kayoom/rapuncel/lib/rapuncel/adapters/typhoeus_adapter.rb</title>
5
- <link href="screen.css" media="all" rel="stylesheet" type="text/css" />
6
- <link href="print.css" media="print" rel="stylesheet" type="text/css" />
7
-
8
- <meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
9
- <script type="text/javascript" src="rcov.js"></script>
10
- </head>
11
- <body>
12
- <h1>Test C0 Coverage Information - RCov</h1>
13
- <h2>/Users/mariantheisen/Projects/Kayoom/rapuncel/lib/rapuncel/adapters/typhoeus_adapter.rb</h2>
14
-
15
-
16
-
17
- <div class="report_table_wrapper">
18
- <table class='report' id='report_table'>
19
- <thead>
20
- <tr>
21
- <th class="left_align">Name</th>
22
- <th class="right_align">Total Lines</th>
23
- <th class="right_align">Lines of Code</th>
24
- <th class="left_align">Total Coverage</th>
25
- <th class="left_align">Code Coverage</th>
26
- </tr>
27
- </thead>
28
- <tbody>
29
- <tr>
30
- <td class="left_align"><a href="-Users-mariantheisen-Projects-Kayoom-rapuncel-lib-rapuncel-adapters-typhoeus_adapter_rb.html">/Users/mariantheisen/Projects/Kayoom/rapuncel/lib/rapuncel/adapters/typhoeus_adapter.rb</a></td>
31
- <td class='right_align'><tt>28</tt></td>
32
- <td class='right_align'><tt>24</tt></td>
33
- <td class="left_align"><div class="percent_graph_legend"><tt class=''>64.29%</tt></div>
34
- <div class="percent_graph">
35
- <div class="covered" style="width:64px"></div>
36
- <div class="uncovered" style="width:36px"></div>
37
- </div></td>
38
- <td class="left_align"><div class="percent_graph_legend"><tt class=''>62.50%</tt></div>
39
- <div class="percent_graph">
40
- <div class="covered" style="width:63px"></div>
41
- <div class="uncovered" style="width:37px"></div>
42
- </div></td>
43
- </tr>
44
- </tbody>
45
- </table>
46
- </div>
47
-
48
- <h3>Key</h3>
49
-
50
- <div class="key"><pre><span class='marked'>Code reported as executed by Ruby looks like this...</span><span class='marked1'>and this: this line is also marked as covered.</span><span class='inferred'>Lines considered as run by rcov, but not reported by Ruby, look like this,</span><span class='inferred1'>and this: these lines were inferred by rcov (using simple heuristics).</span><span class='uncovered'>Finally, here's a line marked as not executed.</span></pre></div>
51
-
52
- <h3>Coverage Details</h3>
53
-
54
- <table class="details">
55
- <tbody>
56
-
57
-
58
-
59
- <tr class="marked">
60
- <td><pre><a name="line1">1</a> require 'typhoeus'</pre></td>
61
- </tr>
62
-
63
-
64
-
65
- <tr class="inferred">
66
- <td><pre><a name="line2">2</a> </pre></td>
67
- </tr>
68
-
69
-
70
-
71
- <tr class="marked">
72
- <td><pre><a name="line3">3</a> module Rapuncel</pre></td>
73
- </tr>
74
-
75
-
76
-
77
- <tr class="marked">
78
- <td><pre><a name="line4">4</a> module Adapters</pre></td>
79
- </tr>
80
-
81
-
82
-
83
- <tr class="marked">
84
- <td><pre><a name="line5">5</a> module TyphoeusAdapter</pre></td>
85
- </tr>
86
-
87
-
88
-
89
- <tr class="marked">
90
- <td><pre><a name="line6">6</a> def send_method_call str</pre></td>
91
- </tr>
92
-
93
-
94
-
95
- <tr class="marked">
96
- <td><pre><a name="line7">7</a> Typhoeus::Request.post connection.url, typhoeus_params.merge(:body =&gt; str)</pre></td>
97
- </tr>
98
-
99
-
100
-
101
- <tr class="inferred">
102
- <td><pre><a name="line8">8</a> end</pre></td>
103
- </tr>
104
-
105
-
106
-
107
- <tr class="inferred">
108
- <td><pre><a name="line9">9</a> </pre></td>
109
- </tr>
110
-
111
-
112
-
113
- <tr class="marked">
114
- <td><pre><a name="line10">10</a> protected</pre></td>
115
- </tr>
116
-
117
-
118
-
119
- <tr class="marked">
120
- <td><pre><a name="line11">11</a> def typhoeus_params</pre></td>
121
- </tr>
122
-
123
-
124
-
125
- <tr class="inferred">
126
- <td><pre><a name="line12">12</a> {</pre></td>
127
- </tr>
128
-
129
-
130
-
131
- <tr class="marked">
132
- <td><pre><a name="line13">13</a> :headers =&gt; connection.headers</pre></td>
133
- </tr>
134
-
135
-
136
-
137
- <tr class="marked">
138
- <td><pre><a name="line14">14</a> }.merge auth_params</pre></td>
139
- </tr>
140
-
141
-
142
-
143
- <tr class="inferred">
144
- <td><pre><a name="line15">15</a> end</pre></td>
145
- </tr>
146
-
147
-
148
-
149
- <tr class="inferred">
150
- <td><pre><a name="line16">16</a> </pre></td>
151
- </tr>
152
-
153
-
154
-
155
- <tr class="marked">
156
- <td><pre><a name="line17">17</a> def auth_params</pre></td>
157
- </tr>
158
-
159
-
160
-
161
- <tr class="marked">
162
- <td><pre><a name="line18">18</a> return {} unless connection.http_auth?</pre></td>
163
- </tr>
164
-
165
-
166
-
167
- <tr class="uncovered">
168
- <td><pre><a name="line19">19</a> </pre></td>
169
- </tr>
170
-
171
-
172
-
173
- <tr class="uncovered">
174
- <td><pre><a name="line20">20</a> {</pre></td>
175
- </tr>
176
-
177
-
178
-
179
- <tr class="uncovered">
180
- <td><pre><a name="line21">21</a> :user =&gt; connection.user,</pre></td>
181
- </tr>
182
-
183
-
184
-
185
- <tr class="uncovered">
186
- <td><pre><a name="line22">22</a> :password =&gt; connection.password,</pre></td>
187
- </tr>
188
-
189
-
190
-
191
- <tr class="uncovered">
192
- <td><pre><a name="line23">23</a> :auth_method =&gt; connection.auth_method</pre></td>
193
- </tr>
194
-
195
-
196
-
197
- <tr class="uncovered">
198
- <td><pre><a name="line24">24</a> }</pre></td>
199
- </tr>
200
-
201
-
202
-
203
- <tr class="uncovered">
204
- <td><pre><a name="line25">25</a> end</pre></td>
205
- </tr>
206
-
207
-
208
-
209
- <tr class="uncovered">
210
- <td><pre><a name="line26">26</a> end</pre></td>
211
- </tr>
212
-
213
-
214
-
215
- <tr class="uncovered">
216
- <td><pre><a name="line27">27</a> end</pre></td>
217
- </tr>
218
-
219
-
220
-
221
- <tr class="uncovered">
222
- <td><pre><a name="line28">28</a> end</pre></td>
223
- </tr>
224
-
225
- </tbody>
226
- </table>
227
-
228
- <p>Generated on Thu Nov 25 12:29:31 +0100 2010 with <a href="http://github.com/relevance/rcov">rcov 0.9.8</a></p>
229
-
230
- </body>
231
- </html>