paul-resourceful 0.5.0 → 0.5.3

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/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: