ripple 0.6.1 → 0.7.0
Sign up to get free protection for your applications and to get access to all the features.
- data/Rakefile +61 -48
- data/lib/ripple.rb +5 -1
- data/lib/ripple/core_ext/casting.rb +3 -0
- data/lib/ripple/document.rb +6 -2
- data/lib/ripple/document/associations.rb +154 -0
- data/lib/ripple/document/{persistence/callbacks.rb → associations/embedded.rb} +20 -24
- data/lib/ripple/document/associations/instantiators.rb +41 -0
- data/lib/{riak/util/translation.rb → ripple/document/associations/linked.rb} +14 -11
- data/lib/ripple/document/associations/many.rb +52 -0
- data/lib/ripple/document/associations/many_embedded_proxy.rb +49 -0
- data/lib/{riak/i18n.rb → ripple/document/associations/one.rb} +18 -2
- data/lib/ripple/document/associations/one_embedded_proxy.rb +41 -0
- data/lib/ripple/document/associations/proxy.rb +125 -0
- data/lib/ripple/document/attribute_methods.rb +8 -1
- data/lib/ripple/document/attribute_methods/read.rb +4 -0
- data/lib/ripple/document/attribute_methods/write.rb +4 -0
- data/lib/ripple/document/bucket_access.rb +1 -1
- data/lib/ripple/document/callbacks.rb +75 -0
- data/lib/ripple/document/finders.rb +50 -3
- data/lib/ripple/document/persistence.rb +14 -6
- data/lib/ripple/document/validations.rb +35 -7
- data/lib/ripple/document/validations/associated_validator.rb +37 -0
- data/lib/ripple/embedded_document.rb +8 -2
- data/lib/{riak/map_reduce_error.rb → ripple/embedded_document/conversion.rb} +19 -5
- data/lib/{riak/invalid_response.rb → ripple/embedded_document/finders.rb} +17 -8
- data/lib/ripple/embedded_document/persistence.rb +75 -13
- data/lib/ripple/locale/en.yml +7 -1
- data/{spec/riak/net_http_backend_spec.rb → lib/ripple/railtie.rb} +17 -13
- data/spec/fixtures/config.yml +3 -0
- data/spec/integration/ripple/associations_spec.rb +81 -0
- data/spec/integration/ripple/persistence_spec.rb +54 -0
- data/spec/ripple/associations/many_embedded_proxy_spec.rb +124 -0
- data/spec/ripple/associations/one_embedded_proxy_spec.rb +130 -0
- data/spec/ripple/associations/proxy_spec.rb +78 -0
- data/spec/ripple/associations_spec.rb +111 -0
- data/spec/ripple/attribute_methods_spec.rb +37 -16
- data/spec/ripple/bucket_access_spec.rb +3 -14
- data/spec/ripple/callbacks_spec.rb +53 -9
- data/spec/ripple/document_spec.rb +22 -6
- data/spec/ripple/embedded_document/conversion_spec.rb +35 -0
- data/spec/{riak/headers_spec.rb → ripple/embedded_document/finders_spec.rb} +17 -14
- data/spec/ripple/embedded_document/persistence_spec.rb +86 -0
- data/spec/ripple/embedded_document_spec.rb +1 -26
- data/spec/ripple/finders_spec.rb +66 -30
- data/spec/ripple/persistence_spec.rb +33 -21
- data/spec/ripple/properties_spec.rb +1 -7
- data/spec/ripple/ripple_spec.rb +10 -0
- data/spec/ripple/timestamps_spec.rb +12 -19
- data/spec/ripple/validations_spec.rb +48 -6
- data/spec/spec_helper.rb +4 -10
- data/spec/support/associations/proxies.rb +16 -0
- data/spec/support/integration.rb +4 -0
- data/spec/support/mocks.rb +3 -0
- data/spec/support/models/address.rb +8 -0
- data/spec/support/models/box.rb +6 -0
- data/spec/support/models/cardboard_box.rb +3 -0
- data/spec/support/models/clock.rb +6 -0
- data/spec/support/models/customer.rb +4 -0
- data/spec/support/models/email.rb +4 -0
- data/spec/support/models/family.rb +14 -0
- data/spec/support/models/favorite.rb +4 -0
- data/spec/support/models/invoice.rb +6 -0
- data/spec/support/models/late_invoice.rb +3 -0
- data/spec/support/models/note.rb +4 -0
- data/spec/support/models/page.rb +4 -0
- data/spec/support/models/paid_invoice.rb +4 -0
- data/spec/support/models/tree.rb +3 -0
- data/spec/support/models/user.rb +6 -0
- data/spec/support/models/widget.rb +6 -0
- metadata +111 -138
- data/.document +0 -5
- data/.gitignore +0 -26
- data/CONTRIBUTORS.textile +0 -5
- data/LICENSE +0 -13
- data/README.textile +0 -128
- data/RELEASE_NOTES.textile +0 -68
- data/VERSION +0 -1
- data/lib/riak.rb +0 -46
- data/lib/riak/bucket.rb +0 -157
- data/lib/riak/client.rb +0 -139
- data/lib/riak/client/curb_backend.rb +0 -82
- data/lib/riak/client/http_backend.rb +0 -209
- data/lib/riak/client/net_http_backend.rb +0 -49
- data/lib/riak/failed_request.rb +0 -37
- data/lib/riak/link.rb +0 -73
- data/lib/riak/locale/en.yml +0 -37
- data/lib/riak/map_reduce.rb +0 -248
- data/lib/riak/robject.rb +0 -258
- data/lib/riak/util/escape.rb +0 -12
- data/lib/riak/util/fiber1.8.rb +0 -48
- data/lib/riak/util/headers.rb +0 -44
- data/lib/riak/util/multipart.rb +0 -52
- data/lib/riak/walk_spec.rb +0 -117
- data/ripple.gemspec +0 -169
- data/spec/fixtures/cat.jpg +0 -0
- data/spec/fixtures/multipart-blank.txt +0 -7
- data/spec/fixtures/multipart-with-body.txt +0 -16
- data/spec/riak/bucket_spec.rb +0 -230
- data/spec/riak/client_spec.rb +0 -174
- data/spec/riak/curb_backend_spec.rb +0 -50
- data/spec/riak/escape_spec.rb +0 -17
- data/spec/riak/http_backend_spec.rb +0 -131
- data/spec/riak/link_spec.rb +0 -82
- data/spec/riak/map_reduce_spec.rb +0 -352
- data/spec/riak/multipart_spec.rb +0 -36
- data/spec/riak/object_spec.rb +0 -532
- data/spec/riak/walk_spec_spec.rb +0 -208
- data/spec/spec.opts +0 -1
- data/spec/support/http_backend_implementation_examples.rb +0 -215
- data/spec/support/mock_server.rb +0 -58
data/lib/riak/util/escape.rb
DELETED
@@ -1,12 +0,0 @@
|
|
1
|
-
module Riak
|
2
|
-
module Util
|
3
|
-
module Escape
|
4
|
-
# URI-escapes bucket or key names that may contain slashes for use in URLs.
|
5
|
-
# @param [String] bucket_or_key the bucket or key name
|
6
|
-
# @return [String] the escaped path segment
|
7
|
-
def escape(bucket_or_key)
|
8
|
-
URI.escape(bucket_or_key).gsub("/", "%2F")
|
9
|
-
end
|
10
|
-
end
|
11
|
-
end
|
12
|
-
end
|
data/lib/riak/util/fiber1.8.rb
DELETED
@@ -1,48 +0,0 @@
|
|
1
|
-
# Poor Man's Fiber (API compatible Thread based Fiber implementation for Ruby 1.8)
|
2
|
-
# (c) 2008 Aman Gupta (tmm1)
|
3
|
-
|
4
|
-
unless defined? Fiber
|
5
|
-
require 'thread'
|
6
|
-
|
7
|
-
class FiberError < StandardError; end
|
8
|
-
|
9
|
-
class Fiber
|
10
|
-
def initialize
|
11
|
-
raise ArgumentError, 'new Fiber requires a block' unless block_given?
|
12
|
-
|
13
|
-
@yield = Queue.new
|
14
|
-
@resume = Queue.new
|
15
|
-
|
16
|
-
@thread = Thread.new{ @yield.push [ *yield(*@resume.pop) ] }
|
17
|
-
@thread.abort_on_exception = true
|
18
|
-
@thread[:fiber] = self
|
19
|
-
end
|
20
|
-
attr_reader :thread
|
21
|
-
|
22
|
-
def resume *args
|
23
|
-
raise FiberError, 'dead fiber called' unless @thread.alive?
|
24
|
-
@resume.push(args)
|
25
|
-
result = @yield.pop
|
26
|
-
result.size > 1 ? result : result.first
|
27
|
-
end
|
28
|
-
|
29
|
-
def yield *args
|
30
|
-
@yield.push(args)
|
31
|
-
result = @resume.pop
|
32
|
-
result.size > 1 ? result : result.first
|
33
|
-
end
|
34
|
-
|
35
|
-
def self.yield *args
|
36
|
-
raise FiberError, "can't yield from root fiber" unless fiber = Thread.current[:fiber]
|
37
|
-
fiber.yield(*args)
|
38
|
-
end
|
39
|
-
|
40
|
-
def self.current
|
41
|
-
Thread.current[:fiber] or raise FiberError, 'not inside a fiber'
|
42
|
-
end
|
43
|
-
|
44
|
-
def inspect
|
45
|
-
"#<#{self.class}:0x#{self.object_id.to_s(16)}>"
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
data/lib/riak/util/headers.rb
DELETED
@@ -1,44 +0,0 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
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
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
require 'riak'
|
15
|
-
|
16
|
-
module Riak
|
17
|
-
module Util
|
18
|
-
# Represents headers from an HTTP response
|
19
|
-
class Headers
|
20
|
-
include Net::HTTPHeader
|
21
|
-
|
22
|
-
def initialize
|
23
|
-
initialize_http_header({})
|
24
|
-
end
|
25
|
-
|
26
|
-
# Parse a single header line into its key and value
|
27
|
-
# @param [String] chunk a single header line
|
28
|
-
def self.parse(chunk)
|
29
|
-
line = chunk.strip
|
30
|
-
# thanks Net::HTTPResponse
|
31
|
-
return [nil,nil] if chunk =~ /\AHTTP(?:\/(\d+\.\d+))?\s+(\d\d\d)\s*(.*)\z/in
|
32
|
-
m = /\A([^:]+):\s*/.match(line)
|
33
|
-
[m[1], m.post_match] rescue [nil, nil]
|
34
|
-
end
|
35
|
-
|
36
|
-
# Parses a header line and adds it to the header collection
|
37
|
-
# @param [String] chunk a single header line
|
38
|
-
def parse(chunk)
|
39
|
-
key, value = self.class.parse(chunk)
|
40
|
-
add_field(key, value) if key && value
|
41
|
-
end
|
42
|
-
end
|
43
|
-
end
|
44
|
-
end
|
data/lib/riak/util/multipart.rb
DELETED
@@ -1,52 +0,0 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
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
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
require 'riak'
|
15
|
-
|
16
|
-
module Riak
|
17
|
-
module Util
|
18
|
-
# Utility methods for handling multipart/mixed responses
|
19
|
-
module Multipart
|
20
|
-
extend self
|
21
|
-
# Parses a multipart/mixed body into its constituent parts, including nested multipart/mixed sections
|
22
|
-
# @param [String] data the multipart body data
|
23
|
-
# @param [String] boundary the boundary string given in the Content-Type header
|
24
|
-
def parse(data, boundary)
|
25
|
-
contents = data.match(/\n--#{Regexp.escape(boundary)}--\n/).pre_match rescue ""
|
26
|
-
contents.split(/\n--#{Regexp.escape(boundary)}\n/).reject(&:blank?).map do |part|
|
27
|
-
headers = Headers.new
|
28
|
-
if md = part.match(/\r?\n\r?\n/)
|
29
|
-
body = md.post_match
|
30
|
-
md.pre_match.split(/\r?\n/).each do |line|
|
31
|
-
headers.parse(line)
|
32
|
-
end
|
33
|
-
|
34
|
-
if headers["content-type"] =~ /multipart\/mixed/
|
35
|
-
boundary = extract_boundary(headers.to_hash["content-type"].first)
|
36
|
-
parse(body, boundary)
|
37
|
-
else
|
38
|
-
{:headers => headers.to_hash, :body => body}
|
39
|
-
end
|
40
|
-
end
|
41
|
-
end.compact
|
42
|
-
end
|
43
|
-
|
44
|
-
# Extracts the boundary string from a Content-Type header that is a multipart type
|
45
|
-
# @param [String] header_string the Content-Type header
|
46
|
-
# @return [String] the boundary string separating each part
|
47
|
-
def extract_boundary(header_string)
|
48
|
-
$1 if header_string =~ /boundary=([A-Za-z0-9\'()+_,-.\/:=?]+)/
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
data/lib/riak/walk_spec.rb
DELETED
@@ -1,117 +0,0 @@
|
|
1
|
-
# Copyright 2010 Sean Cribbs, Sonian Inc., and Basho Technologies, Inc.
|
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
|
6
|
-
#
|
7
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
8
|
-
#
|
9
|
-
# Unless required by applicable law or agreed to in writing, software
|
10
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
11
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
12
|
-
# See the License for the specific language governing permissions and
|
13
|
-
# limitations under the License.
|
14
|
-
require 'riak'
|
15
|
-
|
16
|
-
module Riak
|
17
|
-
|
18
|
-
# The specification of how to follow links from one object to another in Riak,
|
19
|
-
# when using the link-walker resource.
|
20
|
-
# Example link-walking operation:
|
21
|
-
# GET /riak/artists/REM/albums,_,_/tracks,_,1
|
22
|
-
# This operation would have two WalkSpecs:
|
23
|
-
# Riak::WalkSpec.new({:bucket => 'albums'})
|
24
|
-
# Riak::WalkSpec.new({:bucket => 'tracks', :result => true})
|
25
|
-
class WalkSpec
|
26
|
-
include Util::Translation
|
27
|
-
include Util::Escape
|
28
|
-
|
29
|
-
# @return [String] The bucket followed links should be restricted to. "_" represents all buckets.
|
30
|
-
attr_accessor :bucket
|
31
|
-
|
32
|
-
# @return [String] The "riaktag" or "rel" that followed links should be restricted to. "_" represents all tags.
|
33
|
-
attr_accessor :tag
|
34
|
-
|
35
|
-
# @return [Boolean] Whether objects should be returned from this phase of link walking. Default is false.
|
36
|
-
attr_accessor :keep
|
37
|
-
|
38
|
-
# Normalize a list of walk specs into WalkSpec objects.
|
39
|
-
def self.normalize(*params)
|
40
|
-
params.flatten!
|
41
|
-
specs = []
|
42
|
-
while params.length > 0
|
43
|
-
param = params.shift
|
44
|
-
case param
|
45
|
-
when Hash
|
46
|
-
specs << new(param)
|
47
|
-
when WalkSpec
|
48
|
-
specs << param
|
49
|
-
else
|
50
|
-
if params.length >= 2
|
51
|
-
specs << new(param, params.shift, params.shift)
|
52
|
-
else
|
53
|
-
raise ArgumentError, t("too_few_arguments", :params => params.inspect)
|
54
|
-
end
|
55
|
-
end
|
56
|
-
end
|
57
|
-
specs
|
58
|
-
end
|
59
|
-
|
60
|
-
# Creates a walk-spec for use in finding other objects in Riak.
|
61
|
-
# @overload initialize(hash)
|
62
|
-
# Creates a walk-spec from a hash.
|
63
|
-
# @param [Hash] hash options for the walk-spec
|
64
|
-
# @option hash [String] :bucket ("_") the bucket the links should point to (default '_' is all)
|
65
|
-
# @option hash [String] :tag ("_") the tag to filter links by (default '_' is all)
|
66
|
-
# @option hash [Boolean] :keep (false) whether to return results from following this link specification
|
67
|
-
# @overload initialize(bucket, tag, keep)
|
68
|
-
# Creates a walk-spec from a bucket-tag-result triple.
|
69
|
-
# @param [String] bucket the bucket the links should point to (default '_' is all)
|
70
|
-
# @param [String] tag the tag to filter links by (default '_' is all)
|
71
|
-
# @param [Boolean] keep whether to return results from following this link specification
|
72
|
-
# @see {Riak::RObject#walk}
|
73
|
-
def initialize(*args)
|
74
|
-
args.flatten!
|
75
|
-
case args.size
|
76
|
-
when 1
|
77
|
-
hash = args.first
|
78
|
-
raise ArgumentError, t("hash_type", :hash => hash.inspect) unless Hash === hash
|
79
|
-
assign(hash[:bucket], hash[:tag], hash[:keep])
|
80
|
-
when 3
|
81
|
-
assign(*args)
|
82
|
-
else
|
83
|
-
raise ArgumentError, t("wrong_argument_count_walk_spec")
|
84
|
-
end
|
85
|
-
end
|
86
|
-
|
87
|
-
# Converts the walk-spec into the form required by the link-walker resource URL
|
88
|
-
def to_s
|
89
|
-
b = @bucket && escape(@bucket) || '_'
|
90
|
-
t = @tag && escape(@tag) || '_'
|
91
|
-
"#{b},#{t},#{@keep ? '1' : '_'}"
|
92
|
-
end
|
93
|
-
|
94
|
-
def ==(other)
|
95
|
-
other.is_a?(WalkSpec) && other.bucket == bucket && other.tag == tag && other.keep == keep
|
96
|
-
end
|
97
|
-
|
98
|
-
def ===(other)
|
99
|
-
self == other || case other
|
100
|
-
when WalkSpec
|
101
|
-
other.keep == keep &&
|
102
|
-
(bucket == "_" || bucket == other.bucket) &&
|
103
|
-
(tag == "_" || tag == other.tag)
|
104
|
-
when Link
|
105
|
-
(bucket == "_" || bucket == other.url.split("/")[2]) &&
|
106
|
-
(tag == "_" || tag == other.rel)
|
107
|
-
end
|
108
|
-
end
|
109
|
-
|
110
|
-
private
|
111
|
-
def assign(bucket, tag, result)
|
112
|
-
@bucket = bucket || "_"
|
113
|
-
@tag = tag || "_"
|
114
|
-
@keep = result || false
|
115
|
-
end
|
116
|
-
end
|
117
|
-
end
|
data/ripple.gemspec
DELETED
@@ -1,169 +0,0 @@
|
|
1
|
-
# Generated by jeweler
|
2
|
-
# DO NOT EDIT THIS FILE DIRECTLY
|
3
|
-
# Instead, edit Jeweler::Tasks in Rakefile, and run the gemspec command
|
4
|
-
# -*- encoding: utf-8 -*-
|
5
|
-
|
6
|
-
Gem::Specification.new do |s|
|
7
|
-
s.name = %q{ripple}
|
8
|
-
s.version = "0.6.1"
|
9
|
-
|
10
|
-
s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
|
11
|
-
s.authors = ["Sean Cribbs"]
|
12
|
-
s.date = %q{2010-03-17}
|
13
|
-
s.description = %q{ripple is a rich Ruby client for Riak, Basho's distributed database. It includes all the basics of accessing and manipulating Riak buckets and objects, and an object mapper library for building a rich domain on top of Riak.}
|
14
|
-
s.email = %q{seancribbs@gmail.com}
|
15
|
-
s.extra_rdoc_files = [
|
16
|
-
"LICENSE",
|
17
|
-
"README.textile"
|
18
|
-
]
|
19
|
-
s.files = [
|
20
|
-
".document",
|
21
|
-
".gitignore",
|
22
|
-
"CONTRIBUTORS.textile",
|
23
|
-
"LICENSE",
|
24
|
-
"README.textile",
|
25
|
-
"RELEASE_NOTES.textile",
|
26
|
-
"Rakefile",
|
27
|
-
"VERSION",
|
28
|
-
"lib/riak.rb",
|
29
|
-
"lib/riak/bucket.rb",
|
30
|
-
"lib/riak/client.rb",
|
31
|
-
"lib/riak/client/curb_backend.rb",
|
32
|
-
"lib/riak/client/http_backend.rb",
|
33
|
-
"lib/riak/client/net_http_backend.rb",
|
34
|
-
"lib/riak/failed_request.rb",
|
35
|
-
"lib/riak/i18n.rb",
|
36
|
-
"lib/riak/invalid_response.rb",
|
37
|
-
"lib/riak/link.rb",
|
38
|
-
"lib/riak/locale/en.yml",
|
39
|
-
"lib/riak/map_reduce.rb",
|
40
|
-
"lib/riak/map_reduce_error.rb",
|
41
|
-
"lib/riak/robject.rb",
|
42
|
-
"lib/riak/util/escape.rb",
|
43
|
-
"lib/riak/util/fiber1.8.rb",
|
44
|
-
"lib/riak/util/headers.rb",
|
45
|
-
"lib/riak/util/multipart.rb",
|
46
|
-
"lib/riak/util/translation.rb",
|
47
|
-
"lib/riak/walk_spec.rb",
|
48
|
-
"lib/ripple.rb",
|
49
|
-
"lib/ripple/core_ext/casting.rb",
|
50
|
-
"lib/ripple/document.rb",
|
51
|
-
"lib/ripple/document/attribute_methods.rb",
|
52
|
-
"lib/ripple/document/attribute_methods/dirty.rb",
|
53
|
-
"lib/ripple/document/attribute_methods/query.rb",
|
54
|
-
"lib/ripple/document/attribute_methods/read.rb",
|
55
|
-
"lib/ripple/document/attribute_methods/write.rb",
|
56
|
-
"lib/ripple/document/bucket_access.rb",
|
57
|
-
"lib/ripple/document/finders.rb",
|
58
|
-
"lib/ripple/document/persistence.rb",
|
59
|
-
"lib/ripple/document/persistence/callbacks.rb",
|
60
|
-
"lib/ripple/document/properties.rb",
|
61
|
-
"lib/ripple/document/timestamps.rb",
|
62
|
-
"lib/ripple/document/validations.rb",
|
63
|
-
"lib/ripple/embedded_document.rb",
|
64
|
-
"lib/ripple/embedded_document/persistence.rb",
|
65
|
-
"lib/ripple/i18n.rb",
|
66
|
-
"lib/ripple/locale/en.yml",
|
67
|
-
"lib/ripple/property_type_mismatch.rb",
|
68
|
-
"lib/ripple/translation.rb",
|
69
|
-
"ripple.gemspec",
|
70
|
-
"spec/fixtures/cat.jpg",
|
71
|
-
"spec/fixtures/multipart-blank.txt",
|
72
|
-
"spec/fixtures/multipart-with-body.txt",
|
73
|
-
"spec/riak/bucket_spec.rb",
|
74
|
-
"spec/riak/client_spec.rb",
|
75
|
-
"spec/riak/curb_backend_spec.rb",
|
76
|
-
"spec/riak/escape_spec.rb",
|
77
|
-
"spec/riak/headers_spec.rb",
|
78
|
-
"spec/riak/http_backend_spec.rb",
|
79
|
-
"spec/riak/link_spec.rb",
|
80
|
-
"spec/riak/map_reduce_spec.rb",
|
81
|
-
"spec/riak/multipart_spec.rb",
|
82
|
-
"spec/riak/net_http_backend_spec.rb",
|
83
|
-
"spec/riak/object_spec.rb",
|
84
|
-
"spec/riak/walk_spec_spec.rb",
|
85
|
-
"spec/ripple/attribute_methods_spec.rb",
|
86
|
-
"spec/ripple/bucket_access_spec.rb",
|
87
|
-
"spec/ripple/callbacks_spec.rb",
|
88
|
-
"spec/ripple/core_ext_spec.rb",
|
89
|
-
"spec/ripple/document_spec.rb",
|
90
|
-
"spec/ripple/embedded_document_spec.rb",
|
91
|
-
"spec/ripple/finders_spec.rb",
|
92
|
-
"spec/ripple/persistence_spec.rb",
|
93
|
-
"spec/ripple/properties_spec.rb",
|
94
|
-
"spec/ripple/ripple_spec.rb",
|
95
|
-
"spec/ripple/timestamps_spec.rb",
|
96
|
-
"spec/ripple/validations_spec.rb",
|
97
|
-
"spec/spec.opts",
|
98
|
-
"spec/spec_helper.rb",
|
99
|
-
"spec/support/http_backend_implementation_examples.rb",
|
100
|
-
"spec/support/mock_server.rb"
|
101
|
-
]
|
102
|
-
s.homepage = %q{http://seancribbs.github.com/ripple}
|
103
|
-
s.rdoc_options = ["--charset=UTF-8"]
|
104
|
-
s.require_paths = ["lib"]
|
105
|
-
s.requirements = ["`gem install curb` for better HTTP performance"]
|
106
|
-
s.rubygems_version = %q{1.3.6}
|
107
|
-
s.summary = %q{ripple is a rich Ruby client for Riak, Basho's distributed database.}
|
108
|
-
s.test_files = [
|
109
|
-
"spec/riak/bucket_spec.rb",
|
110
|
-
"spec/riak/client_spec.rb",
|
111
|
-
"spec/riak/curb_backend_spec.rb",
|
112
|
-
"spec/riak/escape_spec.rb",
|
113
|
-
"spec/riak/headers_spec.rb",
|
114
|
-
"spec/riak/http_backend_spec.rb",
|
115
|
-
"spec/riak/link_spec.rb",
|
116
|
-
"spec/riak/map_reduce_spec.rb",
|
117
|
-
"spec/riak/multipart_spec.rb",
|
118
|
-
"spec/riak/net_http_backend_spec.rb",
|
119
|
-
"spec/riak/object_spec.rb",
|
120
|
-
"spec/riak/walk_spec_spec.rb",
|
121
|
-
"spec/ripple/attribute_methods_spec.rb",
|
122
|
-
"spec/ripple/bucket_access_spec.rb",
|
123
|
-
"spec/ripple/callbacks_spec.rb",
|
124
|
-
"spec/ripple/core_ext_spec.rb",
|
125
|
-
"spec/ripple/document_spec.rb",
|
126
|
-
"spec/ripple/embedded_document_spec.rb",
|
127
|
-
"spec/ripple/finders_spec.rb",
|
128
|
-
"spec/ripple/persistence_spec.rb",
|
129
|
-
"spec/ripple/properties_spec.rb",
|
130
|
-
"spec/ripple/ripple_spec.rb",
|
131
|
-
"spec/ripple/timestamps_spec.rb",
|
132
|
-
"spec/ripple/validations_spec.rb",
|
133
|
-
"spec/spec_helper.rb",
|
134
|
-
"spec/support/http_backend_implementation_examples.rb",
|
135
|
-
"spec/support/mock_server.rb"
|
136
|
-
]
|
137
|
-
|
138
|
-
if s.respond_to? :specification_version then
|
139
|
-
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
140
|
-
s.specification_version = 3
|
141
|
-
|
142
|
-
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
143
|
-
s.add_development_dependency(%q<rspec>, [">= 1.3"])
|
144
|
-
s.add_development_dependency(%q<fakeweb>, [">= 1.2"])
|
145
|
-
s.add_development_dependency(%q<rack>, [">= 1.0"])
|
146
|
-
s.add_development_dependency(%q<yard>, [">= 0.5.2"])
|
147
|
-
s.add_development_dependency(%q<curb>, [">= 0.6"])
|
148
|
-
s.add_runtime_dependency(%q<activesupport>, ["~> 3.0.0.beta"])
|
149
|
-
s.add_runtime_dependency(%q<activemodel>, ["~> 3.0.0.beta"])
|
150
|
-
else
|
151
|
-
s.add_dependency(%q<rspec>, [">= 1.3"])
|
152
|
-
s.add_dependency(%q<fakeweb>, [">= 1.2"])
|
153
|
-
s.add_dependency(%q<rack>, [">= 1.0"])
|
154
|
-
s.add_dependency(%q<yard>, [">= 0.5.2"])
|
155
|
-
s.add_dependency(%q<curb>, [">= 0.6"])
|
156
|
-
s.add_dependency(%q<activesupport>, ["~> 3.0.0.beta"])
|
157
|
-
s.add_dependency(%q<activemodel>, ["~> 3.0.0.beta"])
|
158
|
-
end
|
159
|
-
else
|
160
|
-
s.add_dependency(%q<rspec>, [">= 1.3"])
|
161
|
-
s.add_dependency(%q<fakeweb>, [">= 1.2"])
|
162
|
-
s.add_dependency(%q<rack>, [">= 1.0"])
|
163
|
-
s.add_dependency(%q<yard>, [">= 0.5.2"])
|
164
|
-
s.add_dependency(%q<curb>, [">= 0.6"])
|
165
|
-
s.add_dependency(%q<activesupport>, ["~> 3.0.0.beta"])
|
166
|
-
s.add_dependency(%q<activemodel>, ["~> 3.0.0.beta"])
|
167
|
-
end
|
168
|
-
end
|
169
|
-
|