wrest 1.0.0.beta6-universal-java-1.6 → 1.0.0-universal-java-1.6

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/CHANGELOG CHANGED
@@ -17,6 +17,15 @@ Features under a numbered section are complete and available in the Wrest gem.
17
17
  * Ensure Components::Container is ActiveModel compliant
18
18
 
19
19
  == Current
20
+ * GH#56 Detailed Net::HTTP debug output option added to Wrest::Native:Request.
21
+ * GH#60 Wrest debug log arrow direction changed to be consistent with Net::HTPP debug log
22
+ * GH#59 follow_redirects_limit is off by one
23
+ * GH#24 Add support for xpath based filtering of xml response bodies to the response chain
24
+ * GH#46 Response.deserialise for Json responses
25
+ * GH#52 Wrest console (bin/wrest) fails on 1.9.2
26
+
27
+ == 1.0.0.beta7
28
+ * GH#46 Response.deserialise for Json responses
20
29
 
21
30
  == 1.0.0.beta6
22
31
  * GH#35 Wrest::UriTemplate extensions swallow existing path
data/README.rdoc CHANGED
@@ -1,4 +1,4 @@
1
- = Wrest 1.0.0.beta5
1
+ = Wrest 1.0.0
2
2
 
3
3
  (c) Copyright 2009-2010 {Sidu Ponnappa}[http://blog.sidu.in]. All Rights Reserved.
4
4
 
@@ -34,6 +34,17 @@ For Facebook, Twitter, Delicious, GitHub and other API examples, see http://gith
34
34
  'http://google.com'.to_uri(:follow_redirects => false).get
35
35
 
36
36
  'http://google.com'.to_uri(:follow_redirects_limit => 1).get
37
+
38
+ :follow_redirects_limit defaults to 5 if not specified.
39
+
40
+ * Deserialise with XPath filtering
41
+
42
+ ActiveSupport::XmlMini.backend = 'REXML'
43
+
44
+ 'http://twitter.com/statuses/public_timeline.xml'.to_uri.get.deserialise(
45
+ :xpath => '//user/name/text()'
46
+ )
47
+
37
48
  * More complex request with parameters and a custom deserialiser
38
49
 
39
50
  'http://search.yahooapis.com/NewsSearchService/V1/newsSearch'.to_uri.get(
@@ -135,7 +146,7 @@ Features that are planned, in progress or already implemented are documented in
135
146
 
136
147
  The source is available at git://github.com/kaiwren/wrest.git
137
148
 
138
- To install the Wrest gem, do <tt>(sudo) gem install wrest --pre</tt>.
149
+ To install the Wrest gem, do <tt>(sudo) gem install wrest</tt>.
139
150
 
140
151
  Wrest is currently available as a gem for for Ruby and JRuby.
141
152
 
@@ -144,7 +155,21 @@ Wrest is currently available as a gem for for Ruby and JRuby.
144
155
  You can launch the interactive Wrest shell by running bin/wrest if you have the source or invoking <tt>wrest</tt> from your prompt if you've installed the gem.
145
156
  $ wrest
146
157
  >> y 'http://twitter.com/statuses/public_timeline.json'.to_uri(:timeout => 5).get.deserialise
147
-
158
+
159
+ === Testing
160
+
161
+ Start the Sinatra test server for functional test.
162
+ rake -f spec/sample_app/Rakefile
163
+
164
+ Run the tests in a different terminal:
165
+
166
+ # Run the normal test suite.
167
+ rake
168
+
169
+ # Runs the functional test suite.
170
+ rake rspec:functional
171
+
172
+
148
173
  == Contributors
149
174
 
150
175
  * Sidu Ponnappa : {kaiwren}[http://github.com/kaiwren]
@@ -153,4 +178,6 @@ You can launch the interactive Wrest shell by running bin/wrest if you have the
153
178
  * Srushti : {srushti}[http://github.com/srushti]
154
179
  * Preethi Ramdev : {preethiramdev}[http://github.com/preethiramdev]
155
180
  * Nikhil Vallishayee : {nikhilvallishayee}[http://github.com/nikhilvallishayee]
156
- * Jacques Crocker : {railsjedi}[http://github.com/railsjedi]
181
+ * Jacques Crocker : {railsjedi}[http://github.com/railsjedi]
182
+ * Jasim A Basheer: {jasim}[http://github.com/jasim]
183
+
data/bin/wrest_shell.rb CHANGED
@@ -1,7 +1,7 @@
1
1
  puts "Ruby #{RUBY_VERSION}, #{RUBY_RELEASE_DATE}, #{RUBY_PLATFORM}"
2
2
 
3
- entry_point = "#{File.dirname(__FILE__)}/../lib/wrest.rb"
4
- version = "#{File.dirname(__FILE__)}/../lib/wrest/version"
3
+ entry_point = File.expand_path "#{File.dirname(__FILE__)}/../lib/wrest.rb"
4
+ version = File.expand_path "#{File.dirname(__FILE__)}/../lib/wrest/version.rb"
5
5
 
6
6
  irb = RUBY_PLATFORM =~ /(:?mswin|mingw)/ ? 'irb.bat' : 'irb'
7
7
 
data/lib/wrest.rb CHANGED
@@ -83,6 +83,9 @@ ActiveSupport::JSON.backend = "JSONGem"
83
83
 
84
84
  require "#{Wrest::Root}/wrest/core_ext/string"
85
85
 
86
+ # Load XmlMini Extensions
87
+ require "#{Wrest::Root}/wrest/xml_mini"
88
+
86
89
  # Load Wrest Core
87
90
  require "#{Wrest::Root}/wrest/version"
88
91
  require "#{Wrest::Root}/wrest/http_shared"
@@ -13,7 +13,7 @@ module Wrest
13
13
  module Translators::Json
14
14
  extend self
15
15
 
16
- def deserialise(response)
16
+ def deserialise(response,options = {})
17
17
  ActiveSupport::JSON.decode(response.body)
18
18
  end
19
19
 
@@ -6,18 +6,6 @@
6
6
  # Unless required by applicable law or agreed to in writing, software distributed under the License
7
7
  # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
8
  # See the License for the specific language governing permissions and limitations under the License.
9
- # require 'jruby'
10
- # include Java
11
- #
12
- # java_import javax.xml.parsers.DocumentBuilder
13
- # java_import javax.xml.parsers.DocumentBuilderFactory
14
- # java_import java.io.StringReader
15
- # java_import org.xml.sax.InputSource
16
- # java_import javax.xml.xpath.XPath
17
- # java_import javax.xml.xpath.XPathFactory
18
- # java_import javax.xml.xpath.XPathConstants
19
- # java_import javax.xml.xpath.XPathExpression
20
- # #java_import Java::org.jdom.input.SAXBuilder
21
9
  module Wrest
22
10
  module Components::Translators
23
11
  module Xml
@@ -25,7 +13,7 @@ module Wrest
25
13
 
26
14
  def deserialise(response,options={})
27
15
  if(!options[:xpath].nil?)
28
- Hash.from_xml(filter(response,options[:xpath]))
16
+ ActiveSupport::XmlMini.filter(response.body,options[:xpath])
29
17
  else
30
18
  Hash.from_xml(response.body)
31
19
  end
@@ -34,33 +22,6 @@ module Wrest
34
22
  def serialise(hash, options = {})
35
23
  hash.to_xml(options)
36
24
  end
37
-
38
- def filter(response,xpath)
39
- filter_rexml(response,xpath)
40
- end
41
-
42
- def filter_rexml(response,xpath)
43
- doc = REXML::Document.new(response.body)
44
- REXML::XPath.first(doc,xpath).to_s
45
- end
46
-
47
-
48
- # def filter_jdom(response,xpath)
49
- # # string_reader = StringReader.new(response.body)
50
- # input_source = InputSource.new(string_reader)
51
- # #p input_source.to_s
52
- # doc = DocumentBuilderFactory.new_instance.new_document_builder.parse(input_source)
53
- # #doc = SAXBuilder.new.build(string_reader)
54
- # p doc
55
- # p doc.toString
56
- # #xpath_instance = XPathFactory.new_instance.newXPath
57
- # #expr = xpath_instance.compile(xpath)
58
- # #p expr.to_s
59
- # #result = expr.evaluate(doc)
60
-
61
- # #puts result
62
- # end
63
-
64
25
  end
65
26
  end
66
27
  end
@@ -59,7 +59,7 @@ module Wrest
59
59
  @http_request.timeout = @timeout
60
60
  end
61
61
 
62
- # Makes a request and returns a Wrest::Http::Response.
62
+ # Makes a request and returns a Wrest::Native::Response.
63
63
  # Data about the request is and logged to Wrest.logger
64
64
  # The log entry contains the following information:
65
65
  #
@@ -84,9 +84,9 @@ module Wrest
84
84
 
85
85
  prefix = "#{http_request.action.to_s.upcase} #{http_request.hash} #{connection.hash}"
86
86
 
87
- Wrest.logger.debug "--> (#{prefix}) #{http_request.url}"
87
+ Wrest.logger.debug "<- (#{prefix}) #{http_request.url}"
88
88
  time = Benchmark.realtime { response = Wrest::Curl::Response.new(connection.handle_request(http_request))}
89
- Wrest.logger.debug "<-- (#{prefix}) %s (%d bytes %.2fs)" % [response.message, response.body ? response.body.length : 0, time]
89
+ Wrest.logger.debug "-> (#{prefix}) %s (%d bytes %.2fs)" % [response.message, response.body ? response.body.length : 0, time]
90
90
 
91
91
  response
92
92
  rescue Patron::TimeoutError => e
@@ -9,7 +9,7 @@
9
9
 
10
10
  module Wrest::Curl
11
11
  # This class is a wrapper for a keep-alive HTTP connection. It simply passes the
12
- # same connection instance as an option to all Wrest::Http::Request instances created using it.
12
+ # same connection instance as an option to all Wrest::Native::Request instances created using it.
13
13
  #
14
14
  # If at any point the server closes an existing connection during a Session by returning a
15
15
  # Connection: Close header the current connection is destroyed and a fresh one created for the next
@@ -11,7 +11,7 @@ module Wrest
11
11
  end
12
12
 
13
13
  # Raised when a request auto redirects more times than are allowed
14
- # by its follow_redirects_limit. See Wrest::Http::Redirection.
14
+ # by its follow_redirects_limit. See Wrest::Native::Redirection.
15
15
  class AutoRedirectLimitExceeded < StandardError
16
16
  end
17
17
 
@@ -9,15 +9,16 @@
9
9
 
10
10
  module Wrest::Native
11
11
  module ConnectionFactory
12
- def create_connection(timeout = 60)
13
- timeout ||= 60
12
+ def create_connection(options = {:timeout => 60, :verify_mode => 'VERIFY_PEER'})
13
+ options[:timeout] ||= 60
14
14
  connection = Net::HTTP.new(self.host, self.port)
15
- connection.read_timeout = timeout
15
+ connection.read_timeout = options[:timeout]
16
16
  if self.https?
17
17
  connection.use_ssl = true
18
- connection.verify_mode = OpenSSL::SSL::VERIFY_NONE
18
+ connection.verify_mode = OpenSSL::SSL::VERIFY_PEER
19
+ connection.verify_mode = OpenSSL::SSL::VERIFY_NONE if options[:verify_mode] == 'VERIFY_NONE'
19
20
  end
20
21
  connection
21
22
  end
22
23
  end
23
- end
24
+ end
@@ -28,7 +28,7 @@ module Wrest #:nodoc:
28
28
  target = self['location']
29
29
  redirect_request_options = redirect_request_options.clone
30
30
 
31
- raise Wrest::Exceptions::AutoRedirectLimitExceeded if (redirect_request_options[:follow_redirects_count] += 1) >= redirect_request_options[:follow_redirects_limit]
31
+ raise Wrest::Exceptions::AutoRedirectLimitExceeded if (redirect_request_options[:follow_redirects_count] += 1) > redirect_request_options[:follow_redirects_limit]
32
32
 
33
33
  Wrest.logger.debug "--| Redirecting to #{target}"
34
34
  Wrest::Uri.new(target, redirect_request_options).get
@@ -32,6 +32,10 @@ module Wrest::Native
32
32
  # :connection => The HTTP Connection object to use. This is how a keep-alive connection can be
33
33
  # used for multiple requests.
34
34
  # :cache_store => The object which should be used as cache store for cacheable responses
35
+ # :detailed_http_logging => nil/$stdout/$stderr or File/Logger/IO object. Defaults to nil (recommended).
36
+ #
37
+ # *WARNING* : detailed_http_logging causes serious security hole. Never use it in production code.
38
+ #
35
39
  def initialize(wrest_uri, http_request_klass, parameters = {}, body = nil, headers = {}, options = {})
36
40
  @uri = wrest_uri
37
41
  @headers = headers.stringify_keys
@@ -47,6 +51,7 @@ module Wrest::Native
47
51
  @connection = @options[:connection]
48
52
  @http_request = self.build_request(http_request_klass, @uri, @parameters, @headers)
49
53
  @cache_store = options[:cache_store]
54
+ @detailed_http_logging = options[:detailed_http_logging]
50
55
  end
51
56
 
52
57
  # Makes a request and returns a Wrest::Native::Response.
@@ -69,14 +74,16 @@ module Wrest::Native
69
74
  def invoke
70
75
  response = nil
71
76
 
72
- @connection ||= @uri.create_connection(timeout)
77
+ @connection ||= @uri.create_connection({:timeout => timeout})
78
+ @connection.set_debug_output @detailed_http_logging
79
+
73
80
  http_request.basic_auth username, password unless username.nil? || password.nil?
74
81
 
75
82
  prefix = "#{http_request.method} #{http_request.hash} #{@connection.hash}"
76
83
 
77
- Wrest.logger.debug "--> (#{prefix}) #{@uri.protocol}://#{@uri.host}:#{@uri.port}#{@http_request.path}"
84
+ Wrest.logger.debug "<- (#{prefix}) #{@uri.protocol}://#{@uri.host}:#{@uri.port}#{@http_request.path}"
78
85
  time = Benchmark.realtime { response = Wrest::Native::Response.new( do_request ) }
79
- Wrest.logger.debug "<-- (#{prefix}) %d %s (%d bytes %.2fs)" % [response.code, response.message, response.body ? response.body.length : 0, time]
86
+ Wrest.logger.debug "-> (#{prefix}) %d %s (%d bytes %.2fs)" % [response.code, response.message, response.body ? response.body.length : 0, time]
80
87
 
81
88
  @follow_redirects ? response.follow(@options) : response
82
89
  rescue Timeout::Error => e
@@ -9,7 +9,7 @@
9
9
 
10
10
  module Wrest::Native
11
11
  # This class is a wrapper for a keep-alive HTTP connection. It simply passes the
12
- # same connection instance as an option to all Wrest::Http::Request instances created using it.
12
+ # same connection instance as an option to all Wrest::Native::Request instances created using it.
13
13
  #
14
14
  # If at any point the server closes an existing connection during a Session by returning a
15
15
  # Connection: Close header the current connection is destroyed and a fresh one created for the next
data/lib/wrest/uri.rb CHANGED
@@ -24,7 +24,7 @@ module Wrest #:nodoc:
24
24
  class Uri
25
25
  attr_reader :uri, :username, :password, :uri_string, :uri_path, :query
26
26
 
27
- # See Wrest::Http::Request for the available options and their default values.
27
+ # See Wrest::Native::Request for the available options and their default values.
28
28
  def initialize(uri_string, options = {})
29
29
  @options = options
30
30
  @uri_string = uri_string.to_s
@@ -88,7 +88,7 @@ module Wrest #:nodoc:
88
88
  end
89
89
 
90
90
  # Make a GET request to this URI. This is a convenience API
91
- # that creates a Wrest::Http::Get, executes it and returns a Wrest::Http::Response.
91
+ # that creates a Wrest::Native::Get, executes it and returns a Wrest::Native::Response.
92
92
  #
93
93
  # Remember to escape all parameter strings if necessary, using URI.escape
94
94
  def get(parameters = {}, headers = {})
@@ -96,7 +96,7 @@ module Wrest #:nodoc:
96
96
  end
97
97
 
98
98
  # Make a PUT request to this URI. This is a convenience API
99
- # that creates a Wrest::Http::Put, executes it and returns a Wrest::Http::Response.
99
+ # that creates a Wrest::Native::Put, executes it and returns a Wrest::Native::Response.
100
100
  #
101
101
  # Remember to escape all parameter strings if necessary, using URI.escape
102
102
  def put(body = '', headers = {}, parameters = {})
@@ -104,7 +104,7 @@ module Wrest #:nodoc:
104
104
  end
105
105
 
106
106
  # Makes a POST request to this URI. This is a convenience API
107
- # that creates a Wrest::Http::Post, executes it and returns a Wrest::Http::Response.
107
+ # that creates a Wrest::Native::Post, executes it and returns a Wrest::Native::Response.
108
108
  # Note that sending an empty body will blow up if you're using libcurl.
109
109
  #
110
110
  # Remember to escape all parameter strings if necessary, using URI.escape
@@ -126,7 +126,7 @@ module Wrest #:nodoc:
126
126
  end
127
127
 
128
128
  # Makes a DELETE request to this URI. This is a convenience API
129
- # that creates a Wrest::Http::Delete, executes it and returns a Wrest::Http::Response.
129
+ # that creates a Wrest::Native::Delete, executes it and returns a Wrest::Native::Response.
130
130
  #
131
131
  # Remember to escape all parameter strings if necessary, using URI.escape
132
132
  def delete(parameters = {}, headers = {})
@@ -134,7 +134,7 @@ module Wrest #:nodoc:
134
134
  end
135
135
 
136
136
  # Makes an OPTIONS request to this URI. This is a convenience API
137
- # that creates a Wrest::Http::Options, executes it and returns the Wrest::Http::Response.
137
+ # that creates a Wrest::Native::Options, executes it and returns the Wrest::Native::Response.
138
138
  def options
139
139
  Http::Options.new(self, @options).invoke
140
140
  end
data/lib/wrest/version.rb CHANGED
@@ -13,7 +13,7 @@ module Wrest
13
13
  MAJOR = 1
14
14
  MINOR = 0
15
15
  TINY = 0
16
- BUILD = 'beta6'
16
+ BUILD = nil
17
17
 
18
18
  STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
19
19
 
@@ -0,0 +1,10 @@
1
+ require 'wrest/xml_mini/libxml'
2
+ require 'wrest/xml_mini/rexml'
3
+ require 'wrest/xml_mini/nokogiri'
4
+ module ActiveSupport
5
+ module XmlMini
6
+ delegate :filter, :to => :backend
7
+ end
8
+ end
9
+
10
+
@@ -0,0 +1,6 @@
1
+ require 'wrest/xml_mini/jdom/xpath_filter'
2
+ module ActiveSupport
3
+ module XmlMini_JDOM
4
+ XmlMini_JDOM.extend(::XmlMini::JDOM::XPathFilter)
5
+ end
6
+ end
@@ -0,0 +1,17 @@
1
+ raise "JRuby is required to use the JDOM backend for XmlMini" unless RUBY_PLATFORM =~ /java/
2
+
3
+
4
+
5
+
6
+ module XmlMini
7
+ module JDOM
8
+ module XPathFilter
9
+ #Enables filtering of an xml response using a specified xpath
10
+ #Returns an array of elements matching the xpath
11
+ def filter(xml_body,xpath)
12
+ raise NotImplementedError, "'filter' method is not implemented if JDOM backend is being used"
13
+ end
14
+
15
+ end
16
+ end
17
+ end
@@ -0,0 +1,8 @@
1
+ require 'wrest/xml_mini/libxml/xpath_filter'
2
+ module ActiveSupport
3
+ module XmlMini_LibXML
4
+ XmlMini_LibXML.extend(::XmlMini::LibXML::XPathFilter)
5
+ end
6
+ end
7
+
8
+
@@ -0,0 +1,12 @@
1
+ module XmlMini
2
+ module LibXML
3
+ module XPathFilter
4
+ #Enables filtering of an xml response using a specified xpath
5
+ #Returns an array of elements matching the xpath
6
+ def filter(xml_body,xpath)
7
+ doc = ::LibXML::XML::Document.string(xml_body)
8
+ doc.find(xpath).to_a
9
+ end
10
+ end
11
+ end
12
+ end
@@ -0,0 +1,7 @@
1
+ require 'wrest/xml_mini/nokogiri/xpath_filter'
2
+ module ActiveSupport
3
+ module XmlMini_Nokogiri
4
+ XmlMini_Nokogiri.extend(::XmlMini::Nokogiri::XPathFilter)
5
+ end
6
+ end
7
+
@@ -0,0 +1,15 @@
1
+ module XmlMini
2
+ module Nokogiri
3
+ module XPathFilter
4
+ #Enables filtering of an xml response using a specified xpath
5
+ #Returns all elements that match the xpath
6
+ def filter(xml_body,xpath)
7
+ doc = ::Nokogiri::XML(xml_body)
8
+ doc.xpath(xpath).to_a
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+
15
+
@@ -0,0 +1,8 @@
1
+ require 'wrest/xml_mini/rexml/xpath_filter'
2
+ module ActiveSupport
3
+ module XmlMini_REXML
4
+ XmlMini_REXML.extend(::XmlMini::Rexml::XPathFilter)
5
+ end
6
+ end
7
+
8
+
@@ -0,0 +1,15 @@
1
+ module XmlMini
2
+ module Rexml
3
+ module XPathFilter
4
+ #Enables filtering of an xml response using a specified xpath
5
+ #Returns an array of elements matching the xpath
6
+ def filter(xml_body,xpath)
7
+ doc = REXML::Document.new(xml_body)
8
+ REXML::XPath.each(doc,xpath).to_a
9
+ end
10
+ end
11
+ end
12
+ end
13
+
14
+
15
+
metadata CHANGED
@@ -1,13 +1,12 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: wrest
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: true
4
+ prerelease: false
5
5
  segments:
6
6
  - 1
7
7
  - 0
8
8
  - 0
9
- - beta6
10
- version: 1.0.0.beta6
9
+ version: 1.0.0
11
10
  platform: universal-java-1.6
12
11
  authors:
13
12
  - Sidu Ponnappa
@@ -16,14 +15,13 @@ autorequire:
16
15
  bindir: bin
17
16
  cert_chain: []
18
17
 
19
- date: 2010-09-21 00:00:00 +05:30
18
+ date: 2010-12-24 00:00:00 +05:30
20
19
  default_executable:
21
20
  dependencies:
22
21
  - !ruby/object:Gem::Dependency
23
22
  name: rspec
24
23
  prerelease: false
25
24
  requirement: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
25
  requirements:
28
26
  - - ~>
29
27
  - !ruby/object:Gem::Version
@@ -40,7 +38,6 @@ dependencies:
40
38
  name: activesupport
41
39
  prerelease: false
42
40
  requirement: &id002 !ruby/object:Gem::Requirement
43
- none: false
44
41
  requirements:
45
42
  - - ~>
46
43
  - !ruby/object:Gem::Version
@@ -55,7 +52,6 @@ dependencies:
55
52
  name: builder
56
53
  prerelease: false
57
54
  requirement: &id003 !ruby/object:Gem::Requirement
58
- none: false
59
55
  requirements:
60
56
  - - ~>
61
57
  - !ruby/object:Gem::Version
@@ -70,7 +66,6 @@ dependencies:
70
66
  name: json-jruby
71
67
  prerelease: false
72
68
  requirement: &id004 !ruby/object:Gem::Requirement
73
- none: false
74
69
  requirements:
75
70
  - - ~>
76
71
  - !ruby/object:Gem::Version
@@ -86,7 +81,6 @@ dependencies:
86
81
  name: nokogiri
87
82
  prerelease: false
88
83
  requirement: &id005 !ruby/object:Gem::Requirement
89
- none: false
90
84
  requirements:
91
85
  - - ~>
92
86
  - !ruby/object:Gem::Version
@@ -112,60 +106,69 @@ files:
112
106
  - bin/wrest
113
107
  - lib/wrest_no_ext.rb
114
108
  - lib/wrest.rb
115
- - lib/wrest/uri_template.rb
116
- - lib/wrest/version.rb
117
- - lib/wrest/test.rb
118
- - lib/wrest/curl.rb
119
- - lib/wrest/native.rb
120
109
  - lib/wrest/http_shared.rb
121
- - lib/wrest/uri.rb
122
- - lib/wrest/components.rb
110
+ - lib/wrest/native.rb
111
+ - lib/wrest/multipart.rb
112
+ - lib/wrest/xml_mini.rb
123
113
  - lib/wrest/exceptions.rb
114
+ - lib/wrest/curl.rb
124
115
  - lib/wrest/resource.rb
125
- - lib/wrest/multipart.rb
126
- - lib/wrest/resource/state.rb
127
- - lib/wrest/resource/base.rb
128
- - lib/wrest/resource/collection.rb
129
- - lib/wrest/core_ext/hash.rb
130
- - lib/wrest/core_ext/string.rb
131
- - lib/wrest/core_ext/hash/conversions.rb
132
- - lib/wrest/core_ext/string/conversions.rb
133
- - lib/wrest/native/session.rb
134
- - lib/wrest/native/redirection.rb
135
- - lib/wrest/native/response.rb
136
- - lib/wrest/native/options.rb
137
- - lib/wrest/native/get.rb
138
- - lib/wrest/native/connection_factory.rb
116
+ - lib/wrest/test.rb
117
+ - lib/wrest/uri_template.rb
118
+ - lib/wrest/uri.rb
119
+ - lib/wrest/components.rb
120
+ - lib/wrest/version.rb
121
+ - lib/wrest/components/translators.rb
122
+ - lib/wrest/components/container.rb
123
+ - lib/wrest/components/mutators.rb
124
+ - lib/wrest/components/mutators/xml_mini_type_caster.rb
125
+ - lib/wrest/components/mutators/base.rb
126
+ - lib/wrest/components/mutators/camel_to_snake_case.rb
127
+ - lib/wrest/components/mutators/xml_simple_type_caster.rb
128
+ - lib/wrest/components/translators/xml.rb
129
+ - lib/wrest/components/translators/content_types.rb
130
+ - lib/wrest/components/translators/json.rb
131
+ - lib/wrest/components/container/typecaster.rb
132
+ - lib/wrest/components/container/alias_accessors.rb
139
133
  - lib/wrest/native/request.rb
140
- - lib/wrest/native/post.rb
134
+ - lib/wrest/native/connection_factory.rb
141
135
  - lib/wrest/native/put_multipart.rb
142
- - lib/wrest/native/put.rb
143
136
  - lib/wrest/native/delete.rb
137
+ - lib/wrest/native/response.rb
138
+ - lib/wrest/native/get.rb
144
139
  - lib/wrest/native/post_multipart.rb
145
- - lib/wrest/curl/session.rb
140
+ - lib/wrest/native/put.rb
141
+ - lib/wrest/native/options.rb
142
+ - lib/wrest/native/session.rb
143
+ - lib/wrest/native/post.rb
144
+ - lib/wrest/native/redirection.rb
145
+ - lib/wrest/core_ext/hash.rb
146
+ - lib/wrest/core_ext/string.rb
147
+ - lib/wrest/core_ext/string/conversions.rb
148
+ - lib/wrest/core_ext/hash/conversions.rb
149
+ - lib/wrest/curl/request.rb
150
+ - lib/wrest/curl/delete.rb
146
151
  - lib/wrest/curl/response.rb
147
- - lib/wrest/curl/options.rb
148
152
  - lib/wrest/curl/get.rb
149
- - lib/wrest/curl/request.rb
150
- - lib/wrest/curl/post.rb
151
153
  - lib/wrest/curl/put.rb
152
- - lib/wrest/curl/delete.rb
153
- - lib/wrest/components/mutators.rb
154
- - lib/wrest/components/translators.rb
155
- - lib/wrest/components/container.rb
156
- - lib/wrest/components/translators/json.rb
157
- - lib/wrest/components/translators/xml.rb
158
- - lib/wrest/components/translators/content_types.rb
159
- - lib/wrest/components/container/alias_accessors.rb
160
- - lib/wrest/components/container/typecaster.rb
161
- - lib/wrest/components/mutators/camel_to_snake_case.rb
162
- - lib/wrest/components/mutators/xml_mini_type_caster.rb
163
- - lib/wrest/components/mutators/base.rb
164
- - lib/wrest/components/mutators/xml_simple_type_caster.rb
165
- - lib/wrest/http_shared/standard_tokens.rb
154
+ - lib/wrest/curl/options.rb
155
+ - lib/wrest/curl/session.rb
156
+ - lib/wrest/curl/post.rb
157
+ - lib/wrest/resource/base.rb
158
+ - lib/wrest/resource/collection.rb
159
+ - lib/wrest/resource/state.rb
160
+ - lib/wrest/xml_mini/libxml.rb
161
+ - lib/wrest/xml_mini/jdom.rb
162
+ - lib/wrest/xml_mini/nokogiri.rb
163
+ - lib/wrest/xml_mini/rexml.rb
164
+ - lib/wrest/xml_mini/rexml/xpath_filter.rb
165
+ - lib/wrest/xml_mini/libxml/xpath_filter.rb
166
+ - lib/wrest/xml_mini/jdom/xpath_filter.rb
167
+ - lib/wrest/xml_mini/nokogiri/xpath_filter.rb
168
+ - lib/wrest/test/request_patches.rb
166
169
  - lib/wrest/http_shared/standard_headers.rb
170
+ - lib/wrest/http_shared/standard_tokens.rb
167
171
  - lib/wrest/http_shared/headers.rb
168
- - lib/wrest/test/request_patches.rb
169
172
  - README.rdoc
170
173
  - CHANGELOG
171
174
  - LICENCE
@@ -179,7 +182,6 @@ rdoc_options:
179
182
  require_paths:
180
183
  - lib
181
184
  required_ruby_version: !ruby/object:Gem::Requirement
182
- none: false
183
185
  requirements:
184
186
  - - ">="
185
187
  - !ruby/object:Gem::Version
@@ -187,7 +189,6 @@ required_ruby_version: !ruby/object:Gem::Requirement
187
189
  - 0
188
190
  version: "0"
189
191
  required_rubygems_version: !ruby/object:Gem::Requirement
190
- none: false
191
192
  requirements:
192
193
  - - ">="
193
194
  - !ruby/object:Gem::Version
@@ -200,7 +201,7 @@ requirements:
200
201
  - To use multipart post, install the 'multipart-post' gem.
201
202
  - To use curl as the http engine, install the 'patron' gem. This feature is not available (and should be unneccessary) on jruby.
202
203
  rubyforge_project: wrest
203
- rubygems_version: 1.3.7
204
+ rubygems_version: 1.3.6
204
205
  signing_key:
205
206
  specification_version: 3
206
207
  summary: Wrest is an elegant, object oriented HTTP client library for 1.8, 1.9, JRuby and Rubinius.