Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Browse files

Package for 0.11.2 release

  • Loading branch information...
commit a0534741ff52679aaf591436f0d4cf64400db993 1 parent ced6a26
@jcrosby authored
View
8 CHANGES
@@ -1,3 +1,11 @@
+0.11.2
+- Added Location header for 201s
+- Fixed JSON response for DELETE operations
+- Updated MD5 dependency for Ruby 1.9 (Andreas Haller)
+- Updated spec setup for RSpec 1.2 (Andreas Haller)
+- Updated gem dependencies for Rack, OpenID, and JSON
+- Other minor fixes
+
0.11.1
- Added a block option for configuring OpenID bypassed routes (Devlin Daley)
- Added write locks for Tokyo Tyrant Tables
View
2  README
@@ -17,7 +17,7 @@ In a rackup file called config.ru:
require 'cloudkit'
expose :notes, :todos
-The above creates a versioned HTTP service using JSON to represent two types of resource collections -- Notes and ToDos.
+The above creates a versioned HTTP/REST service using JSON to represent two types of resource collections -- Notes and ToDos.
In a different rackup file:
View
4 TODO
@@ -2,18 +2,16 @@
- openid sreg
- oauth token management
- oauth consumer registration
-- acls i.e. allowed methods per user per uri
-- jsonpath
- jsonquery
- jsonschema
- user lookup via a block for integration with existing stores
- custom templates for openid / oauth
Backlog
+- acls i.e. allowed methods per user per uri
- method filtering on collections
- js functions as observers (validation, mapping, etc.)
- complete user data export
-- batch updates (post, put, delete)
- expect header/100-continue
- deployable gem + admin app
- cappuccino adapter
View
10 cloudkit.gemspec
@@ -2,8 +2,8 @@ Gem::Specification.new do |s|
s.specification_version = 2 if s.respond_to? :specification_version=
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
s.name = "cloudkit"
- s.version = "0.11.1"
- s.date = "2008-03-24"
+ s.version = "0.11.2"
+ s.date = "2008-05-05"
s.summary = "An Open Web JSON Appliance."
s.description = "An Open Web JSON Appliance."
s.authors = ["Jon Crosby"]
@@ -77,9 +77,9 @@ Gem::Specification.new do |s|
s.test_files = s.files.select {|path| path =~ /^spec\/.*_spec.rb/}
s.rubyforge_project = "cloudkit"
s.rubygems_version = "1.1.1"
- s.add_dependency 'rack', '~> 0.9'
+ s.add_dependency 'rack', '>= 1.0'
s.add_dependency 'uuid', '= 2.0.1'
s.add_dependency 'oauth', '~> 0.3'
- s.add_dependency 'ruby-openid', '= 2.1.2'
- s.add_dependency 'json', '= 1.1.3'
+ s.add_dependency 'ruby-openid', '~> 2.1'
+ s.add_dependency 'json', '~> 1.1'
end
View
4 doc/curl.html
@@ -38,13 +38,13 @@
</p>
<p>
-If you already have the gem, make sure you're running the latest version (0.11.1):
+If you already have the gem, make sure you're running the latest version (0.11.2):
<div class="code">
$ gem list cloudkit<br/>
cloudkit (0.10.0) &lt;-- need to upgrade<br/>
$ gem update cloudkit<br/>
$ gem list cloudkit<br/>
- cloudkit (0.11.1, 0.10.0) &lt;-- 0.11.1 is now in the list
+ cloudkit (0.11.2, 0.10.0) &lt;-- 0.11.2 is now in the list
</div>
</p>
View
2  doc/index.html
@@ -24,7 +24,7 @@
</div>
<div class="meta">
<p class="wrapper">
- Version 0.11.1 released with Tokyo Cabinet support. Install with <em>gem install cloudkit</em>.
+ Version 0.11.2 released with Tokyo Cabinet support. Install with <em>gem install cloudkit</em>.
</p>
</div>
<div class="wrapper intro-row">
View
2  lib/cloudkit.rb
@@ -34,7 +34,7 @@
include CloudKit::Constants
module CloudKit
- VERSION = '0.11.1'
+ VERSION = '0.11.2'
# Sets up the storage adapter. Defaults to development-time
# CloudKit::MemoryTable. Also supports Rufus Tokyo Table instances. See the
View
2  lib/cloudkit/oauth_filter.rb
@@ -9,7 +9,7 @@ module CloudKit
# /oauth/authorized_request_tokens/{id}
# /oauth/access_tokens
#
- # Responds to the following URIs are part of OAuth Discovery:
+ # Responds to the following URIs as part of OAuth Discovery:
# /oauth
# /oauth/meta
#
View
9 lib/cloudkit/openid_filter.rb
@@ -6,8 +6,17 @@ module CloudKit
# The root URI, "/", is always bypassed. More URIs can also be bypassed using
# the :allow option:
#
+ # use Rack::Session::Pool
# use OpenIDFilter, :allow => ['/foo', '/bar']
#
+ # In addition to the :allow option, a block can also be used for more complex
+ # decisions:
+ #
+ # use Rack::Session::Pool
+ # use OpenIDFilter, :allow => ['/foo'] do |url|
+ # bar(url) # some method returning true or false
+ # end
+ #
# Responds to the following URIs:
# /login
# /logout
View
2  lib/cloudkit/rack/builder.rb
@@ -4,7 +4,7 @@ class Builder
# Extends Rack::Builder's to_app method to detect if the last piece of
# middleware in the stack is a CloudKit shortcut (contain or expose), adding
- # adding a default developer page at the root and a 404 everywhere else.
+ # a default developer page at the root and a 404 everywhere else.
def to_app
default_app = lambda do |env|
if (env['PATH_INFO'] == '/')
View
2  lib/cloudkit/service.rb
@@ -1,7 +1,7 @@
module CloudKit
# A CloudKit Service is Rack middleware providing a REST/HTTP 1.1 interface to
- # a Store. Its primary purpose is initialize and adapt a Store for use in a
+ # a Store. Its primary purpose is to initialize and adapt a Store for use in a
# Rack middleware stack.
#
# ==Examples
View
4 lib/cloudkit/store/resource.rb
@@ -1,8 +1,8 @@
module CloudKit
# A CloudKit::Resource represents a "resource" in the REST/HTTP sense of the
- # word. It encapsulates a JSON document and its metadata such as it URI, ETag,
- # Last-Modified date, remote user, and its historical versions.
+ # word. It encapsulates a JSON document and its metadata such as its URI, ETag,
+ # Last-Modified date, remote user, and historical versions.
class Resource
attr_reader :uri, :etag, :last_modified, :json, :remote_user
View
2  lib/cloudkit/uri.rb
@@ -1,6 +1,6 @@
module CloudKit
- # A CloudKit::URI wraps a URI string, added methods useful for routing
+ # A CloudKit::URI wraps a URI string, adding methods useful for routing
# in CloudKit as well as caching URI components for future comparisons.
class URI
View
2  spec/openid_filter_spec.rb
@@ -34,6 +34,8 @@
request = Rack::MockRequest.new(openid_app)
response = request.get('/bar')
response.status.should == 200
+ response = request.get('/foo')
+ response.status.should == 200
end
it "should redirect to the login page if authorization is required" do

0 comments on commit a053474

Please sign in to comment.
Something went wrong with that request. Please try again.