paul-resourceful 0.5.0 → 0.5.3

Sign up to get free protection for your applications and to get access to all the features.
data/Manifest CHANGED
@@ -1,30 +1,29 @@
1
- Manifest
2
- spec/spec.opts
3
- spec/simple_sinatra_server_spec.rb
4
- spec/simple_sinatra_server.rb
5
- spec/acceptance/header_spec.rb
6
- spec/acceptance/caching_spec.rb
7
- spec/acceptance/resource_spec.rb
8
- spec/acceptance/redirecting_spec.rb
9
- spec/acceptance/authorization_spec.rb
10
- spec/acceptance_shared_specs.rb
11
- spec/spec_helper.rb
12
- spec/old_acceptance_specs.rb
13
- README.markdown
14
- resourceful.gemspec
15
- lib/resourceful/cache_manager.rb
16
- lib/resourceful/exceptions.rb
1
+ lib/resourceful.rb
17
2
  lib/resourceful/net_http_adapter.rb
18
3
  lib/resourceful/stubbed_resource_proxy.rb
19
4
  lib/resourceful/header.rb
20
- lib/resourceful/authentication_manager.rb
21
- lib/resourceful/request.rb
22
- lib/resourceful/resource.rb
5
+ lib/resourceful/memcache_cache_manager.rb
23
6
  lib/resourceful/response.rb
24
7
  lib/resourceful/util.rb
25
- lib/resourceful/http_accessor.rb
26
8
  lib/resourceful/options_interpreter.rb
27
- lib/resourceful/memcache_cache_manager.rb
28
- lib/resourceful.rb
29
- Rakefile
9
+ lib/resourceful/cache_manager.rb
10
+ lib/resourceful/request.rb
11
+ lib/resourceful/resource.rb
12
+ lib/resourceful/exceptions.rb
13
+ lib/resourceful/http_accessor.rb
14
+ lib/resourceful/authentication_manager.rb
15
+ README.markdown
30
16
  MIT-LICENSE
17
+ Rakefile
18
+ Manifest
19
+ spec/simple_sinatra_server_spec.rb
20
+ spec/old_acceptance_specs.rb
21
+ spec/acceptance_shared_specs.rb
22
+ spec/spec_helper.rb
23
+ spec/simple_sinatra_server.rb
24
+ spec/acceptance/authorization_spec.rb
25
+ spec/acceptance/header_spec.rb
26
+ spec/acceptance/resource_spec.rb
27
+ spec/acceptance/caching_spec.rb
28
+ spec/acceptance/redirecting_spec.rb
29
+ spec/spec.opts
data/Rakefile CHANGED
@@ -12,8 +12,8 @@ begin
12
12
  p.email = "psadauskas@gmail.com"
13
13
 
14
14
  p.ignore_pattern = ["pkg/*", "tmp/*"]
15
- p.dependencies = ['addressable', 'httpauth', 'rspec', 'facets', 'andand']
16
- p.development_dependencies = ['thin', 'yard', 'sinatra']
15
+ p.dependencies = ['addressable', 'httpauth']
16
+ p.development_dependencies = ['thin', 'yard', 'sinatra', 'rspec']
17
17
  end
18
18
  rescue LoadError => e
19
19
  puts "install 'echoe' gem to be able to build the gem"
@@ -1,4 +1,4 @@
1
- require 'rubygems'
1
+ #require 'rubygems'
2
2
  require 'httpauth'
3
3
  require 'addressable/uri'
4
4
 
@@ -1,6 +1,4 @@
1
1
  require 'resourceful/header'
2
- require 'andand'
3
- require 'facets/kernel/returning'
4
2
  require 'digest/md5'
5
3
 
6
4
  module Resourceful
@@ -72,9 +70,9 @@ module Resourceful
72
70
  end
73
71
 
74
72
  def lookup(request)
75
- returning(@collection[request.uri.to_s][request]) do |response|
76
- response.authoritative = false if response
77
- end
73
+ response = @collection[request.uri.to_s][request]
74
+ response.authoritative = false if response
75
+ response
78
76
  end
79
77
 
80
78
  def store(request, response)
@@ -104,9 +102,9 @@ module Resourceful
104
102
  end
105
103
 
106
104
  def lookup(request)
107
- returning(cache_entries_for(request)[request]) do |response|
108
- response.authoritative = false if response
109
- end
105
+ response = cache_entries_for(request)[request]
106
+ response.authoritative = false if response
107
+ response
110
108
  end
111
109
 
112
110
  def store(request, response)
@@ -161,7 +159,8 @@ module Resourceful
161
159
  # @return [Resourceful::Response]
162
160
  # The cached response for the specified request if one is available.
163
161
  def [](request)
164
- find { |an_entry| an_entry.valid_for?(request) }.andand.response
162
+ entry = find { |entry| entry.valid_for?(request) }
163
+ entry.response if entry
165
164
  end
166
165
 
167
166
  # Saves an entry into the collection. Replaces any existing ones that could
@@ -1,7 +1,6 @@
1
1
  require "resourceful/cache_manager"
2
2
 
3
3
  require 'memcache'
4
- require 'facets/kernel/returning'
5
4
 
6
5
  module Resourceful
7
6
  class MemcacheCacheManager < AbstractCacheManager
@@ -45,9 +44,10 @@ module Resourceful
45
44
  def store(request, response)
46
45
  return unless response.cachable?
47
46
 
48
- @memcache[request.to_mc_key] = returning(cache_entries_for(request)) do |entries|
49
- entries[request] = response
50
- end
47
+ entries = cache_entries_for(request)
48
+ entries[request] = response
49
+
50
+ @memcache[request.to_mc_key] = entries
51
51
  end
52
52
 
53
53
  # Invalidates a all cached entries for a uri.
@@ -86,7 +86,7 @@ module Resourceful
86
86
  @cached_response ||= begin
87
87
  @already_checked_cache = true
88
88
  resp = accessor.cache_manager.lookup(self)
89
- logger.info(" Retrieved from cache")
89
+ logger.info(" Retrieved from cache") if resp
90
90
  resp
91
91
  end
92
92
  end
@@ -162,7 +162,6 @@ module Resourceful
162
162
  # Perform the request, with no magic handling of anything.
163
163
  def perform!
164
164
  @request_time = Time.now
165
- logger.debug("DEBUG: Request Header: #{@header.inspect}")
166
165
 
167
166
  http_resp = NetHttpAdapter.make_request(@method, @resource.uri, @body, @header)
168
167
  @response = Resourceful::Response.new(uri, *http_resp)
@@ -1,7 +1,5 @@
1
1
  require 'net/http'
2
2
  require 'time'
3
- require 'rubygems'
4
- require 'facets/kernel/ergo'
5
3
  require 'zlib'
6
4
 
7
5
  module Resourceful
@@ -86,7 +84,8 @@ module Resourceful
86
84
  end
87
85
 
88
86
  def body
89
- case header['Content-Encoding'].ergo.first
87
+ encoding = header['Content-Encoding'] && header['Content-Encoding'].first
88
+ case encoding
90
89
  when nil
91
90
  # body is identity encoded; just return it
92
91
  @body
@@ -97,7 +96,7 @@ module Resourceful
97
96
  header.delete('Content-Encoding')
98
97
  @body
99
98
  else
100
- raise UnsupportedContentCoding, "Resourceful does not support #{header['Content-Encoding'].ergo.first} content coding"
99
+ raise UnsupportedContentCoding, "Resourceful does not support #{encoding} content coding"
101
100
  end
102
101
  end
103
102
 
data/lib/resourceful.rb CHANGED
@@ -12,7 +12,7 @@ require 'resourceful/http_accessor'
12
12
 
13
13
  # Resourceful is a library that provides a high level HTTP interface.
14
14
  module Resourceful
15
- VERSION = "0.5.0"
15
+ VERSION = "0.5.3"
16
16
  RESOURCEFUL_USER_AGENT_TOKEN = "Resourceful/#{VERSION}(Ruby/#{RUBY_VERSION})"
17
17
 
18
18
  end
data/resourceful.gemspec CHANGED
@@ -2,15 +2,15 @@
2
2
 
3
3
  Gem::Specification.new do |s|
4
4
  s.name = %q{resourceful}
5
- s.version = "0.5.0"
5
+ s.version = "0.5.3"
6
6
 
7
7
  s.required_rubygems_version = Gem::Requirement.new(">= 1.2") if s.respond_to? :required_rubygems_version=
8
8
  s.authors = ["Paul Sadauskas"]
9
- s.date = %q{2009-05-18}
9
+ s.date = %q{2009-07-15}
10
10
  s.description = %q{An HTTP library for Ruby that takes advantage of everything HTTP has to offer.}
11
11
  s.email = %q{psadauskas@gmail.com}
12
- s.extra_rdoc_files = ["README.markdown", "lib/resourceful/cache_manager.rb", "lib/resourceful/exceptions.rb", "lib/resourceful/net_http_adapter.rb", "lib/resourceful/stubbed_resource_proxy.rb", "lib/resourceful/header.rb", "lib/resourceful/authentication_manager.rb", "lib/resourceful/request.rb", "lib/resourceful/resource.rb", "lib/resourceful/response.rb", "lib/resourceful/util.rb", "lib/resourceful/http_accessor.rb", "lib/resourceful/options_interpreter.rb", "lib/resourceful/memcache_cache_manager.rb", "lib/resourceful.rb"]
13
- s.files = ["Manifest", "spec/spec.opts", "spec/simple_sinatra_server_spec.rb", "spec/simple_sinatra_server.rb", "spec/acceptance/header_spec.rb", "spec/acceptance/caching_spec.rb", "spec/acceptance/resource_spec.rb", "spec/acceptance/redirecting_spec.rb", "spec/acceptance/authorization_spec.rb", "spec/acceptance_shared_specs.rb", "spec/spec_helper.rb", "spec/old_acceptance_specs.rb", "README.markdown", "resourceful.gemspec", "lib/resourceful/cache_manager.rb", "lib/resourceful/exceptions.rb", "lib/resourceful/net_http_adapter.rb", "lib/resourceful/stubbed_resource_proxy.rb", "lib/resourceful/header.rb", "lib/resourceful/authentication_manager.rb", "lib/resourceful/request.rb", "lib/resourceful/resource.rb", "lib/resourceful/response.rb", "lib/resourceful/util.rb", "lib/resourceful/http_accessor.rb", "lib/resourceful/options_interpreter.rb", "lib/resourceful/memcache_cache_manager.rb", "lib/resourceful.rb", "Rakefile", "MIT-LICENSE"]
12
+ s.extra_rdoc_files = ["lib/resourceful.rb", "lib/resourceful/net_http_adapter.rb", "lib/resourceful/stubbed_resource_proxy.rb", "lib/resourceful/header.rb", "lib/resourceful/memcache_cache_manager.rb", "lib/resourceful/response.rb", "lib/resourceful/util.rb", "lib/resourceful/options_interpreter.rb", "lib/resourceful/cache_manager.rb", "lib/resourceful/request.rb", "lib/resourceful/resource.rb", "lib/resourceful/exceptions.rb", "lib/resourceful/http_accessor.rb", "lib/resourceful/authentication_manager.rb", "README.markdown"]
13
+ s.files = ["lib/resourceful.rb", "lib/resourceful/net_http_adapter.rb", "lib/resourceful/stubbed_resource_proxy.rb", "lib/resourceful/header.rb", "lib/resourceful/memcache_cache_manager.rb", "lib/resourceful/response.rb", "lib/resourceful/util.rb", "lib/resourceful/options_interpreter.rb", "lib/resourceful/cache_manager.rb", "lib/resourceful/request.rb", "lib/resourceful/resource.rb", "lib/resourceful/exceptions.rb", "lib/resourceful/http_accessor.rb", "lib/resourceful/authentication_manager.rb", "README.markdown", "MIT-LICENSE", "Rakefile", "Manifest", "spec/simple_sinatra_server_spec.rb", "spec/old_acceptance_specs.rb", "spec/acceptance_shared_specs.rb", "spec/spec_helper.rb", "spec/simple_sinatra_server.rb", "spec/acceptance/authorization_spec.rb", "spec/acceptance/header_spec.rb", "spec/acceptance/resource_spec.rb", "spec/acceptance/caching_spec.rb", "spec/acceptance/redirecting_spec.rb", "spec/spec.opts", "resourceful.gemspec"]
14
14
  s.homepage = %q{http://github.com/paul/resourceful}
15
15
  s.rdoc_options = ["--line-numbers", "--inline-source", "--title", "Resourceful", "--main", "README.markdown"]
16
16
  s.require_paths = ["lib"]
@@ -25,30 +25,24 @@ Gem::Specification.new do |s|
25
25
  if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
26
26
  s.add_runtime_dependency(%q<addressable>, [">= 0"])
27
27
  s.add_runtime_dependency(%q<httpauth>, [">= 0"])
28
- s.add_runtime_dependency(%q<rspec>, [">= 0"])
29
- s.add_runtime_dependency(%q<facets>, [">= 0"])
30
- s.add_runtime_dependency(%q<andand>, [">= 0"])
31
28
  s.add_development_dependency(%q<thin>, [">= 0"])
32
29
  s.add_development_dependency(%q<yard>, [">= 0"])
33
30
  s.add_development_dependency(%q<sinatra>, [">= 0"])
31
+ s.add_development_dependency(%q<rspec>, [">= 0"])
34
32
  else
35
33
  s.add_dependency(%q<addressable>, [">= 0"])
36
34
  s.add_dependency(%q<httpauth>, [">= 0"])
37
- s.add_dependency(%q<rspec>, [">= 0"])
38
- s.add_dependency(%q<facets>, [">= 0"])
39
- s.add_dependency(%q<andand>, [">= 0"])
40
35
  s.add_dependency(%q<thin>, [">= 0"])
41
36
  s.add_dependency(%q<yard>, [">= 0"])
42
37
  s.add_dependency(%q<sinatra>, [">= 0"])
38
+ s.add_dependency(%q<rspec>, [">= 0"])
43
39
  end
44
40
  else
45
41
  s.add_dependency(%q<addressable>, [">= 0"])
46
42
  s.add_dependency(%q<httpauth>, [">= 0"])
47
- s.add_dependency(%q<rspec>, [">= 0"])
48
- s.add_dependency(%q<facets>, [">= 0"])
49
- s.add_dependency(%q<andand>, [">= 0"])
50
43
  s.add_dependency(%q<thin>, [">= 0"])
51
44
  s.add_dependency(%q<yard>, [">= 0"])
52
45
  s.add_dependency(%q<sinatra>, [">= 0"])
46
+ s.add_dependency(%q<rspec>, [">= 0"])
53
47
  end
54
48
  end
@@ -1,6 +1,7 @@
1
1
 
2
2
  require File.dirname(__FILE__) + '/../spec_helper'
3
3
  require 'resourceful'
4
+ require 'addressable/template'
4
5
 
5
6
  describe Resourceful do
6
7
 
@@ -29,8 +30,8 @@ describe Resourceful do
29
30
  end
30
31
 
31
32
  def uri_for_code(code, params = {})
32
- uri = Addressable::URI.expand_template("http://localhost:3000/code/{code}",
33
- "code" => code.to_s)
33
+ template = Addressable::Template.new("http://localhost:3000/code/{code}")
34
+ uri = template.expand("code" => code.to_s)
34
35
 
35
36
  uri_plus_params(uri, params)
36
37
  end
@@ -13,7 +13,8 @@ end
13
13
 
14
14
  def set_request_header_in_body!
15
15
  response['Content-Type'] ||= "application/yaml"
16
- request.env.to_yaml
16
+ headers = request.env.reject { |k,v| !v.is_a?(String) }
17
+ headers.to_yaml
17
18
  end
18
19
 
19
20
  get '/' do
@@ -63,7 +63,7 @@ end
63
63
  describe "/code/nnn" do
64
64
  it 'should respond with the code provided in the url' do
65
65
  # Just try a handful
66
- [100, 200, 201, 301, 302, 304, 403, 404, 500].each do |code|
66
+ [200, 201, 301, 302, 304, 403, 404, 500].each do |code|
67
67
  get "/code/#{code}"
68
68
  @response.status.should == code
69
69
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: paul-resourceful
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.5.0
4
+ version: 0.5.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Sadauskas
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-05-18 00:00:00 -07:00
12
+ date: 2009-07-15 00:00:00 -07:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -33,28 +33,8 @@ dependencies:
33
33
  version: "0"
34
34
  version:
35
35
  - !ruby/object:Gem::Dependency
36
- name: rspec
37
- type: :runtime
38
- version_requirement:
39
- version_requirements: !ruby/object:Gem::Requirement
40
- requirements:
41
- - - ">="
42
- - !ruby/object:Gem::Version
43
- version: "0"
44
- version:
45
- - !ruby/object:Gem::Dependency
46
- name: facets
47
- type: :runtime
48
- version_requirement:
49
- version_requirements: !ruby/object:Gem::Requirement
50
- requirements:
51
- - - ">="
52
- - !ruby/object:Gem::Version
53
- version: "0"
54
- version:
55
- - !ruby/object:Gem::Dependency
56
- name: andand
57
- type: :runtime
36
+ name: thin
37
+ type: :development
58
38
  version_requirement:
59
39
  version_requirements: !ruby/object:Gem::Requirement
60
40
  requirements:
@@ -63,7 +43,7 @@ dependencies:
63
43
  version: "0"
64
44
  version:
65
45
  - !ruby/object:Gem::Dependency
66
- name: thin
46
+ name: yard
67
47
  type: :development
68
48
  version_requirement:
69
49
  version_requirements: !ruby/object:Gem::Requirement
@@ -73,7 +53,7 @@ dependencies:
73
53
  version: "0"
74
54
  version:
75
55
  - !ruby/object:Gem::Dependency
76
- name: yard
56
+ name: sinatra
77
57
  type: :development
78
58
  version_requirement:
79
59
  version_requirements: !ruby/object:Gem::Requirement
@@ -83,7 +63,7 @@ dependencies:
83
63
  version: "0"
84
64
  version:
85
65
  - !ruby/object:Gem::Dependency
86
- name: sinatra
66
+ name: rspec
87
67
  type: :development
88
68
  version_requirement:
89
69
  version_requirements: !ruby/object:Gem::Requirement
@@ -99,52 +79,52 @@ executables: []
99
79
  extensions: []
100
80
 
101
81
  extra_rdoc_files:
102
- - README.markdown
103
- - lib/resourceful/cache_manager.rb
104
- - lib/resourceful/exceptions.rb
82
+ - lib/resourceful.rb
105
83
  - lib/resourceful/net_http_adapter.rb
106
84
  - lib/resourceful/stubbed_resource_proxy.rb
107
85
  - lib/resourceful/header.rb
108
- - lib/resourceful/authentication_manager.rb
109
- - lib/resourceful/request.rb
110
- - lib/resourceful/resource.rb
86
+ - lib/resourceful/memcache_cache_manager.rb
111
87
  - lib/resourceful/response.rb
112
88
  - lib/resourceful/util.rb
113
- - lib/resourceful/http_accessor.rb
114
89
  - lib/resourceful/options_interpreter.rb
115
- - lib/resourceful/memcache_cache_manager.rb
116
- - lib/resourceful.rb
117
- files:
118
- - Manifest
119
- - spec/spec.opts
120
- - spec/simple_sinatra_server_spec.rb
121
- - spec/simple_sinatra_server.rb
122
- - spec/acceptance/header_spec.rb
123
- - spec/acceptance/caching_spec.rb
124
- - spec/acceptance/resource_spec.rb
125
- - spec/acceptance/redirecting_spec.rb
126
- - spec/acceptance/authorization_spec.rb
127
- - spec/acceptance_shared_specs.rb
128
- - spec/spec_helper.rb
129
- - spec/old_acceptance_specs.rb
130
- - README.markdown
131
- - resourceful.gemspec
132
90
  - lib/resourceful/cache_manager.rb
91
+ - lib/resourceful/request.rb
92
+ - lib/resourceful/resource.rb
133
93
  - lib/resourceful/exceptions.rb
94
+ - lib/resourceful/http_accessor.rb
95
+ - lib/resourceful/authentication_manager.rb
96
+ - README.markdown
97
+ files:
98
+ - lib/resourceful.rb
134
99
  - lib/resourceful/net_http_adapter.rb
135
100
  - lib/resourceful/stubbed_resource_proxy.rb
136
101
  - lib/resourceful/header.rb
137
- - lib/resourceful/authentication_manager.rb
138
- - lib/resourceful/request.rb
139
- - lib/resourceful/resource.rb
102
+ - lib/resourceful/memcache_cache_manager.rb
140
103
  - lib/resourceful/response.rb
141
104
  - lib/resourceful/util.rb
142
- - lib/resourceful/http_accessor.rb
143
105
  - lib/resourceful/options_interpreter.rb
144
- - lib/resourceful/memcache_cache_manager.rb
145
- - lib/resourceful.rb
146
- - Rakefile
106
+ - lib/resourceful/cache_manager.rb
107
+ - lib/resourceful/request.rb
108
+ - lib/resourceful/resource.rb
109
+ - lib/resourceful/exceptions.rb
110
+ - lib/resourceful/http_accessor.rb
111
+ - lib/resourceful/authentication_manager.rb
112
+ - README.markdown
147
113
  - MIT-LICENSE
114
+ - Rakefile
115
+ - Manifest
116
+ - spec/simple_sinatra_server_spec.rb
117
+ - spec/old_acceptance_specs.rb
118
+ - spec/acceptance_shared_specs.rb
119
+ - spec/spec_helper.rb
120
+ - spec/simple_sinatra_server.rb
121
+ - spec/acceptance/authorization_spec.rb
122
+ - spec/acceptance/header_spec.rb
123
+ - spec/acceptance/resource_spec.rb
124
+ - spec/acceptance/caching_spec.rb
125
+ - spec/acceptance/redirecting_spec.rb
126
+ - spec/spec.opts
127
+ - resourceful.gemspec
148
128
  has_rdoc: false
149
129
  homepage: http://github.com/paul/resourceful
150
130
  post_install_message: