wrest 1.0.2 → 1.1.0

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/lib/wrest/version.rb CHANGED
@@ -8,16 +8,5 @@
8
8
  # See the License for the specific language governing permissions and limitations under the License.
9
9
 
10
10
  module Wrest
11
- module VERSION
12
- unless defined? MAJOR
13
- MAJOR = 1
14
- MINOR = 0
15
- TINY = 2
16
- BUILD = nil
17
-
18
- STRING = [MAJOR, MINOR, TINY, BUILD].compact.join('.')
19
-
20
- SUMMARY = "wrest version #{STRING}"
21
- end
22
- end
11
+ VERSION = "1.1.0"
23
12
  end
metadata CHANGED
@@ -5,9 +5,9 @@ version: !ruby/object:Gem::Version
5
5
  prerelease:
6
6
  segments:
7
7
  - 1
8
+ - 1
8
9
  - 0
9
- - 2
10
- version: 1.0.2
10
+ version: 1.1.0
11
11
  platform: ruby
12
12
  authors:
13
13
  - Sidu Ponnappa
@@ -16,31 +16,87 @@ autorequire:
16
16
  bindir: bin
17
17
  cert_chain: []
18
18
 
19
- date: 2011-01-24 00:00:00 +05:30
19
+ date: 2011-01-28 00:00:00 +05:30
20
20
  default_executable:
21
21
  dependencies:
22
22
  - !ruby/object:Gem::Dependency
23
- name: rspec
23
+ name: rubyforge
24
24
  prerelease: false
25
25
  requirement: &id001 !ruby/object:Gem::Requirement
26
+ none: false
27
+ requirements:
28
+ - - ">="
29
+ - !ruby/object:Gem::Version
30
+ hash: 3
31
+ segments:
32
+ - 0
33
+ version: "0"
34
+ type: :development
35
+ version_requirements: *id001
36
+ - !ruby/object:Gem::Dependency
37
+ name: hanna
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: :development
49
+ version_requirements: *id002
50
+ - !ruby/object:Gem::Dependency
51
+ name: rspec
52
+ prerelease: false
53
+ requirement: &id003 !ruby/object:Gem::Requirement
26
54
  none: false
27
55
  requirements:
28
56
  - - ~>
29
57
  - !ruby/object:Gem::Version
30
- hash: 62196431
58
+ hash: 31
31
59
  segments:
32
60
  - 2
61
+ - 4
62
+ - 0
63
+ version: 2.4.0
64
+ type: :development
65
+ version_requirements: *id003
66
+ - !ruby/object:Gem::Dependency
67
+ name: sinatra
68
+ prerelease: false
69
+ requirement: &id004 !ruby/object:Gem::Requirement
70
+ none: false
71
+ requirements:
72
+ - - ~>
73
+ - !ruby/object:Gem::Version
74
+ hash: 23
75
+ segments:
76
+ - 1
33
77
  - 0
34
78
  - 0
35
- - beta
36
- - 22
37
- version: 2.0.0.beta.22
79
+ version: 1.0.0
38
80
  type: :development
39
- version_requirements: *id001
81
+ version_requirements: *id004
82
+ - !ruby/object:Gem::Dependency
83
+ name: metric_fu
84
+ prerelease: false
85
+ requirement: &id005 !ruby/object:Gem::Requirement
86
+ none: false
87
+ requirements:
88
+ - - ">="
89
+ - !ruby/object:Gem::Version
90
+ hash: 3
91
+ segments:
92
+ - 0
93
+ version: "0"
94
+ type: :development
95
+ version_requirements: *id005
40
96
  - !ruby/object:Gem::Dependency
41
97
  name: activesupport
42
98
  prerelease: false
43
- requirement: &id002 !ruby/object:Gem::Requirement
99
+ requirement: &id006 !ruby/object:Gem::Requirement
44
100
  none: false
45
101
  requirements:
46
102
  - - ~>
@@ -52,11 +108,11 @@ dependencies:
52
108
  - 0
53
109
  version: 3.0.0
54
110
  type: :runtime
55
- version_requirements: *id002
111
+ version_requirements: *id006
56
112
  - !ruby/object:Gem::Dependency
57
113
  name: builder
58
114
  prerelease: false
59
- requirement: &id003 !ruby/object:Gem::Requirement
115
+ requirement: &id007 !ruby/object:Gem::Requirement
60
116
  none: false
61
117
  requirements:
62
118
  - - ~>
@@ -68,11 +124,43 @@ dependencies:
68
124
  - 2
69
125
  version: 2.1.2
70
126
  type: :runtime
71
- version_requirements: *id003
127
+ version_requirements: *id007
128
+ - !ruby/object:Gem::Dependency
129
+ name: i18n
130
+ prerelease: false
131
+ requirement: &id008 !ruby/object:Gem::Requirement
132
+ none: false
133
+ requirements:
134
+ - - ">="
135
+ - !ruby/object:Gem::Version
136
+ hash: 13
137
+ segments:
138
+ - 0
139
+ - 4
140
+ - 1
141
+ version: 0.4.1
142
+ type: :runtime
143
+ version_requirements: *id008
144
+ - !ruby/object:Gem::Dependency
145
+ name: tzinfo
146
+ prerelease: false
147
+ requirement: &id009 !ruby/object:Gem::Requirement
148
+ none: false
149
+ requirements:
150
+ - - ">="
151
+ - !ruby/object:Gem::Version
152
+ hash: 61
153
+ segments:
154
+ - 0
155
+ - 3
156
+ - 23
157
+ version: 0.3.23
158
+ type: :runtime
159
+ version_requirements: *id009
72
160
  - !ruby/object:Gem::Dependency
73
161
  name: json
74
162
  prerelease: false
75
- requirement: &id004 !ruby/object:Gem::Requirement
163
+ requirement: &id010 !ruby/object:Gem::Requirement
76
164
  none: false
77
165
  requirements:
78
166
  - - ~>
@@ -84,7 +172,7 @@ dependencies:
84
172
  - 6
85
173
  version: 1.4.6
86
174
  type: :runtime
87
- version_requirements: *id004
175
+ version_requirements: *id010
88
176
  description: Wrest is a HTTP and REST client library which allows you to quickly build well encapsulated, object oriented wrappers around any web service.
89
177
  email:
90
178
  - sidu@c42.in
@@ -95,12 +183,15 @@ extensions: []
95
183
  extra_rdoc_files:
96
184
  - README.rdoc
97
185
  files:
186
+ - bin/wrest.compiled.rbc
98
187
  - bin/wrest_shell.rb
188
+ - bin/wrest_shell.rbc
99
189
  - bin/wrest
100
190
  - lib/wrest_no_ext.rb
101
191
  - lib/wrest.rb
102
192
  - lib/wrest/http_shared.rb
103
193
  - lib/wrest/components/translators.rb
194
+ - lib/wrest/components/cache_store/memcached.rb
104
195
  - lib/wrest/components/container.rb
105
196
  - lib/wrest/components/mutators/xml_mini_type_caster.rb
106
197
  - lib/wrest/components/mutators/base.rb
@@ -112,6 +203,7 @@ files:
112
203
  - lib/wrest/components/mutators.rb
113
204
  - lib/wrest/components/container/typecaster.rb
114
205
  - lib/wrest/components/container/alias_accessors.rb
206
+ - lib/wrest/cache_proxy.rb
115
207
  - lib/wrest/native/request.rb
116
208
  - lib/wrest/native/connection_factory.rb
117
209
  - lib/wrest/native/put_multipart.rb
@@ -139,14 +231,11 @@ files:
139
231
  - lib/wrest/curl/options.rb
140
232
  - lib/wrest/curl/session.rb
141
233
  - lib/wrest/curl/post.rb
142
- - lib/wrest/resource/base.rb
143
- - lib/wrest/resource/collection.rb
144
- - lib/wrest/resource/state.rb
145
234
  - lib/wrest/multipart.rb
146
235
  - lib/wrest/xml_mini.rb
147
236
  - lib/wrest/exceptions.rb
237
+ - lib/wrest/hash_with_case_insensitive_access.rb
148
238
  - lib/wrest/curl.rb
149
- - lib/wrest/resource.rb
150
239
  - lib/wrest/test.rb
151
240
  - lib/wrest/uri_template.rb
152
241
  - lib/wrest/xml_mini/rexml/xpath_filter.rb
@@ -198,6 +287,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
198
287
  - 7
199
288
  version: 1.3.7
200
289
  requirements:
290
+ - To use Memcached as caching back-end, install the 'dalli' gem.
201
291
  - To use multipart post, install the 'multipart-post' gem.
202
292
  - To use curl as the http engine, install the 'patron' gem. This feature is not available (and should be unneccessary) on jruby.
203
293
  rubyforge_project: wrest
@@ -1,18 +0,0 @@
1
- # Copyright 2009 Sidu Ponnappa
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
- # Unless required by applicable law or agreed to in writing, software distributed under the License
7
- # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
- # See the License for the specific language governing permissions and limitations under the License.
9
-
10
- module Wrest
11
- # Wrest::Resource is a re-implementation
12
- # of ActiveResource using Wrest::Components
13
- # and with some of the rough edges removed
14
- module Resource
15
- end
16
- end
17
-
18
- require "#{Wrest::Root}/wrest/resource/base"
@@ -1,101 +0,0 @@
1
- # Copyright 2009 Sidu Ponnappa
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
- # Unless required by applicable law or agreed to in writing, software distributed under the License
7
- # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
- # See the License for the specific language governing permissions and limitations under the License.
9
-
10
- module Wrest::Resource #:nodoc:
11
- # Resource::Base is the equivalent of ActiveResource::Base.
12
- # It is a REST client targetted at Rails REST apps.
13
- #
14
- # Note that it is currently incomplete.
15
- class Base
16
- include Wrest::Components::Container
17
-
18
- always_has :id
19
- typecast :id => as_integer
20
- attr_reader :attributes
21
-
22
- def ==(other)
23
- return true if self.equal?(other)
24
- return false unless other.class == self.class
25
- return self.attributes == other.attributes
26
- end
27
-
28
- def hash
29
- id.hash
30
- end
31
-
32
- def to_xml(options={})
33
- attributes.to_xml({:root => self.class.resource_name.gsub('_', '-')}.merge(options))
34
- end
35
-
36
- class << self
37
- def inherited(klass)
38
- klass.set_resource_name klass.name
39
- end
40
-
41
- # Allows the resource name to be configured and creates
42
- # a getter method for it.
43
- # This is a useful feature when using anonymous classes like
44
- # we often do while writing tests.
45
- # By default, the resource name is set to the name of the class.
46
- def set_resource_name(resource_name)
47
- self.class_eval "def self.resource_name; '#{resource_name.to_s.underscore}';end"
48
- end
49
-
50
- # Allows the host url at which the resource is found to be configured
51
- # and creates a getter method for it.
52
- # For example in the url
53
- # http://localhost:3000/users/1/settings
54
- # you would set
55
- # http://localhost:3000
56
- # as the host url.
57
- def set_host(host)
58
- self.class_eval "def self.host; '#{host}';end"
59
- end
60
-
61
- def set_default_format(format)
62
- self.class_eval "def self.default_format; '#{format.to_s}';end"
63
- end
64
-
65
- def set_redirect_handler(method_object)
66
- end
67
-
68
- def resource_collection_name
69
- @resource_collection_name ||= "#{resource_name.underscore.pluralize}"
70
- end
71
-
72
- def find_one_uri_template
73
- @find_one_template ||= Wrest::UriTemplate.new(':host/:resource_collection_name/:id.:format')
74
- end
75
-
76
- def find(id)
77
- response = find_one_uri_template.to_uri(
78
- :host => host,
79
- :resource_collection_name => resource_collection_name,
80
- :id => id,
81
- :format => default_format
82
- ).get
83
- self.new(response.deserialise.mutate_using(
84
- Wrest::Components::Mutators.chain(:xml_mini_type_caster, :camel_to_snake_case)
85
- ).shift.last)
86
- end
87
-
88
- def create(attributes = {})
89
- response = Wrest::UriTemplate.new(':host/:resource_collection_name.:format').to_uri(
90
- :host => host,
91
- :resource_collection_name => resource_collection_name,
92
- :format => default_format
93
- ).post(self.new(attributes).to_xml, 'Content-Type' => "application/#{default_format}")
94
-
95
- self.new(response.deserialise.mutate_using(
96
- Wrest::Components::Mutators.chain(:xml_mini_type_caster, :camel_to_snake_case)
97
- ).shift.last)
98
- end
99
- end
100
- end
101
- end
@@ -1,12 +0,0 @@
1
- # Copyright 2009 Sidu Ponnappa
2
-
3
- # Licensed under the Apache License, Version 2.0 (the "License");
4
- # you may not use this file except in compliance with the License.
5
- # You may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6
- # Unless required by applicable law or agreed to in writing, software distributed under the License
7
- # is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
8
- # See the License for the specific language governing permissions and limitations under the License.
9
-
10
- # Understands how to contain a collection of Wrest::Resources
11
- class Wrest::Resource::Collection
12
- end
@@ -1,6 +0,0 @@
1
- module Wrest
2
- module Resource
3
- class State
4
- end
5
- end
6
- end