ripple 0.6.1 → 0.7.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/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
|
-
|