ripple 0.5.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/.document +5 -0
- data/.gitignore +26 -0
- data/LICENSE +13 -0
- data/README.textile +126 -0
- data/RELEASE_NOTES.textile +24 -0
- data/Rakefile +61 -0
- data/VERSION +1 -0
- data/lib/riak.rb +45 -0
- data/lib/riak/bucket.rb +105 -0
- data/lib/riak/client.rb +138 -0
- data/lib/riak/client/curb_backend.rb +63 -0
- data/lib/riak/client/http_backend.rb +209 -0
- data/lib/riak/client/net_http_backend.rb +49 -0
- data/lib/riak/failed_request.rb +37 -0
- data/lib/riak/i18n.rb +15 -0
- data/lib/riak/invalid_response.rb +25 -0
- data/lib/riak/link.rb +54 -0
- data/lib/riak/locale/en.yml +37 -0
- data/lib/riak/map_reduce.rb +240 -0
- data/lib/riak/map_reduce_error.rb +20 -0
- data/lib/riak/robject.rb +234 -0
- data/lib/riak/util/headers.rb +44 -0
- data/lib/riak/util/multipart.rb +52 -0
- data/lib/riak/util/translation.rb +29 -0
- data/lib/riak/walk_spec.rb +113 -0
- data/lib/ripple.rb +48 -0
- data/lib/ripple/core_ext/casting.rb +96 -0
- data/lib/ripple/document.rb +60 -0
- data/lib/ripple/document/attribute_methods.rb +111 -0
- data/lib/ripple/document/attribute_methods/dirty.rb +52 -0
- data/lib/ripple/document/attribute_methods/query.rb +49 -0
- data/lib/ripple/document/attribute_methods/read.rb +38 -0
- data/lib/ripple/document/attribute_methods/write.rb +36 -0
- data/lib/ripple/document/bucket_access.rb +38 -0
- data/lib/ripple/document/finders.rb +84 -0
- data/lib/ripple/document/persistence.rb +93 -0
- data/lib/ripple/document/persistence/callbacks.rb +48 -0
- data/lib/ripple/document/properties.rb +85 -0
- data/lib/ripple/document/validations.rb +44 -0
- data/lib/ripple/embedded_document.rb +38 -0
- data/lib/ripple/embedded_document/persistence.rb +46 -0
- data/lib/ripple/i18n.rb +15 -0
- data/lib/ripple/locale/en.yml +16 -0
- data/lib/ripple/property_type_mismatch.rb +23 -0
- data/lib/ripple/translation.rb +24 -0
- data/ripple.gemspec +159 -0
- data/spec/fixtures/cat.jpg +0 -0
- data/spec/fixtures/multipart-blank.txt +7 -0
- data/spec/fixtures/multipart-with-body.txt +16 -0
- data/spec/riak/bucket_spec.rb +141 -0
- data/spec/riak/client_spec.rb +169 -0
- data/spec/riak/curb_backend_spec.rb +50 -0
- data/spec/riak/headers_spec.rb +34 -0
- data/spec/riak/http_backend_spec.rb +136 -0
- data/spec/riak/link_spec.rb +50 -0
- data/spec/riak/map_reduce_spec.rb +347 -0
- data/spec/riak/multipart_spec.rb +36 -0
- data/spec/riak/net_http_backend_spec.rb +28 -0
- data/spec/riak/object_spec.rb +444 -0
- data/spec/riak/walk_spec_spec.rb +208 -0
- data/spec/ripple/attribute_methods_spec.rb +149 -0
- data/spec/ripple/bucket_access_spec.rb +48 -0
- data/spec/ripple/callbacks_spec.rb +86 -0
- data/spec/ripple/document_spec.rb +35 -0
- data/spec/ripple/embedded_document_spec.rb +52 -0
- data/spec/ripple/finders_spec.rb +146 -0
- data/spec/ripple/persistence_spec.rb +89 -0
- data/spec/ripple/properties_spec.rb +195 -0
- data/spec/ripple/ripple_spec.rb +43 -0
- data/spec/ripple/validations_spec.rb +64 -0
- data/spec/spec.opts +1 -0
- data/spec/spec_helper.rb +32 -0
- data/spec/support/http_backend_implementation_examples.rb +215 -0
- data/spec/support/mock_server.rb +58 -0
- metadata +221 -0
@@ -0,0 +1,48 @@
|
|
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 'ripple'
|
15
|
+
|
16
|
+
module Ripple
|
17
|
+
module Document
|
18
|
+
module Persistence
|
19
|
+
module Callbacks
|
20
|
+
extend ActiveSupport::Concern
|
21
|
+
|
22
|
+
included do
|
23
|
+
extend ActiveModel::Callbacks
|
24
|
+
define_model_callbacks :create, :update, :save, :destroy
|
25
|
+
end
|
26
|
+
|
27
|
+
module InstanceMethods
|
28
|
+
# @private
|
29
|
+
def save
|
30
|
+
state = new? ? :create : :update
|
31
|
+
run_callbacks(:save) do
|
32
|
+
run_callbacks(state) do
|
33
|
+
super
|
34
|
+
end
|
35
|
+
end
|
36
|
+
end
|
37
|
+
|
38
|
+
# @private
|
39
|
+
def destroy
|
40
|
+
run_callbacks(:destroy) do
|
41
|
+
super
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,85 @@
|
|
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 'ripple'
|
15
|
+
require 'ripple/core_ext/casting'
|
16
|
+
|
17
|
+
module Ripple
|
18
|
+
module Document
|
19
|
+
# Adds the ability to declare properties on your Ripple::Document class.
|
20
|
+
# Properties will automatically generate accessor (get/set/query) methods and
|
21
|
+
# handle type-casting between your Ruby type and JSON-compatible types.
|
22
|
+
module Properties
|
23
|
+
# @private
|
24
|
+
def inherited(subclass)
|
25
|
+
super
|
26
|
+
subclass.properties.merge!(properties)
|
27
|
+
end
|
28
|
+
|
29
|
+
# @return [Hash] the properties defined on the document
|
30
|
+
def properties
|
31
|
+
@properties ||= {}.with_indifferent_access
|
32
|
+
end
|
33
|
+
|
34
|
+
def property(key, type, options={})
|
35
|
+
prop = Property.new(key, type, options)
|
36
|
+
properties[prop.key] = prop
|
37
|
+
end
|
38
|
+
end
|
39
|
+
|
40
|
+
# Encapsulates a single property on your Ripple::Document class.
|
41
|
+
class Property
|
42
|
+
# @return [Symbol] the key of this property in the Document
|
43
|
+
attr_reader :key
|
44
|
+
# @return [Class] the Ruby type of property.
|
45
|
+
attr_reader :type
|
46
|
+
# @return [Hash] configuration options
|
47
|
+
attr_reader :options
|
48
|
+
|
49
|
+
# Create a new document property.
|
50
|
+
# @param [String, Symbol] key the key of the property
|
51
|
+
# @param [Class] type the Ruby type of the property. Use {Boolean} for true or false types.
|
52
|
+
# @param [Hash] options configuration options
|
53
|
+
# @option options [Object, Proc] :default (nil) a default value for the property, or a lambda to evaluate when providing the default.
|
54
|
+
def initialize(key, type, options={})
|
55
|
+
@options = options.to_options
|
56
|
+
@key = key.to_sym
|
57
|
+
@type = type
|
58
|
+
end
|
59
|
+
|
60
|
+
# @return [Object] The default value for this property if defined, or nil.
|
61
|
+
def default
|
62
|
+
if default = options[:default]
|
63
|
+
type_cast(default.respond_to?(:call) ? default.call : default)
|
64
|
+
end
|
65
|
+
end
|
66
|
+
|
67
|
+
# @return [Hash] options appropriate for the validates class method
|
68
|
+
def validation_options
|
69
|
+
@options.dup.except(:default)
|
70
|
+
end
|
71
|
+
|
72
|
+
# Attempt to coerce the passed value into this property's type
|
73
|
+
# @param [Object] value the value to coerce
|
74
|
+
# @return [Object] the value coerced into this property's type
|
75
|
+
# @raise [PropertyTypeMismatch] if the value cannot be coerced into the property's type
|
76
|
+
def type_cast(value)
|
77
|
+
if @type.respond_to?(:ripple_cast)
|
78
|
+
@type.ripple_cast(value)
|
79
|
+
else
|
80
|
+
value
|
81
|
+
end
|
82
|
+
end
|
83
|
+
end
|
84
|
+
end
|
85
|
+
end
|
@@ -0,0 +1,44 @@
|
|
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 'ripple'
|
15
|
+
|
16
|
+
module Ripple
|
17
|
+
module Document
|
18
|
+
module Validations
|
19
|
+
extend ActiveSupport::Concern
|
20
|
+
include ActiveModel::Validations
|
21
|
+
|
22
|
+
module ClassMethods
|
23
|
+
# @private
|
24
|
+
def property(key, type, options={})
|
25
|
+
prop = super
|
26
|
+
validates key, prop.validation_options unless prop.validation_options.blank?
|
27
|
+
end
|
28
|
+
end
|
29
|
+
|
30
|
+
module InstanceMethods
|
31
|
+
# @private
|
32
|
+
def save
|
33
|
+
valid? && super
|
34
|
+
end
|
35
|
+
|
36
|
+
# @private
|
37
|
+
def valid?
|
38
|
+
@_on_validate = new? ? :create : :update
|
39
|
+
super
|
40
|
+
end
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
@@ -0,0 +1,38 @@
|
|
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 'ripple'
|
15
|
+
|
16
|
+
module Ripple
|
17
|
+
module EmbeddedDocument
|
18
|
+
extend ActiveSupport::Concern
|
19
|
+
extend ActiveSupport::Autoload
|
20
|
+
|
21
|
+
autoload :Persistence
|
22
|
+
include Translation
|
23
|
+
|
24
|
+
included do
|
25
|
+
extend ActiveModel::Naming
|
26
|
+
extend Document::Properties
|
27
|
+
include Persistence
|
28
|
+
include Document::AttributeMethods
|
29
|
+
include Document::Validations
|
30
|
+
end
|
31
|
+
|
32
|
+
module ClassMethods
|
33
|
+
def embeddable?
|
34
|
+
!included_modules.include?(Document)
|
35
|
+
end
|
36
|
+
end
|
37
|
+
end
|
38
|
+
end
|
@@ -0,0 +1,46 @@
|
|
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 'ripple'
|
15
|
+
|
16
|
+
module Ripple
|
17
|
+
module EmbeddedDocument
|
18
|
+
module Persistence
|
19
|
+
extend ActiveSupport::Concern
|
20
|
+
|
21
|
+
included do
|
22
|
+
attr_accessor :_root_document
|
23
|
+
end
|
24
|
+
|
25
|
+
module InstanceMethods
|
26
|
+
# Delegates to the root document
|
27
|
+
def new?
|
28
|
+
if @_root_document
|
29
|
+
@_root_document.new?
|
30
|
+
else
|
31
|
+
super
|
32
|
+
end
|
33
|
+
end
|
34
|
+
|
35
|
+
# Delegates to the root document
|
36
|
+
def save
|
37
|
+
if @_root_document
|
38
|
+
@_root_document.save
|
39
|
+
else
|
40
|
+
super
|
41
|
+
end
|
42
|
+
end
|
43
|
+
end
|
44
|
+
end
|
45
|
+
end
|
46
|
+
end
|
data/lib/ripple/i18n.rb
ADDED
@@ -0,0 +1,15 @@
|
|
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 'active_support/i18n'
|
15
|
+
I18n.load_path << File.expand_path("../locale/en.yml", __FILE__)
|
@@ -0,0 +1,16 @@
|
|
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
|
+
en:
|
15
|
+
ripple:
|
16
|
+
property_type_mismatch: "Cannot cast {{value}} into a {{class}}"
|
@@ -0,0 +1,23 @@
|
|
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 'ripple'
|
15
|
+
|
16
|
+
module Ripple
|
17
|
+
class PropertyTypeMismatch < StandardError
|
18
|
+
include Translation
|
19
|
+
def initialize(klass, value)
|
20
|
+
super t("property_type_mismatch", :class => klass, :value => value.inspect)
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,24 @@
|
|
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 'ripple'
|
15
|
+
|
16
|
+
module Ripple
|
17
|
+
module Translation
|
18
|
+
include Riak::Util::Translation
|
19
|
+
|
20
|
+
def i18n_scope
|
21
|
+
:ripple
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
data/ripple.gemspec
ADDED
@@ -0,0 +1,159 @@
|
|
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.5.0"
|
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-02-10}
|
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
|
+
"LICENSE",
|
23
|
+
"README.textile",
|
24
|
+
"RELEASE_NOTES.textile",
|
25
|
+
"Rakefile",
|
26
|
+
"VERSION",
|
27
|
+
"lib/riak.rb",
|
28
|
+
"lib/riak/bucket.rb",
|
29
|
+
"lib/riak/client.rb",
|
30
|
+
"lib/riak/client/curb_backend.rb",
|
31
|
+
"lib/riak/client/http_backend.rb",
|
32
|
+
"lib/riak/client/net_http_backend.rb",
|
33
|
+
"lib/riak/failed_request.rb",
|
34
|
+
"lib/riak/i18n.rb",
|
35
|
+
"lib/riak/invalid_response.rb",
|
36
|
+
"lib/riak/link.rb",
|
37
|
+
"lib/riak/locale/en.yml",
|
38
|
+
"lib/riak/map_reduce.rb",
|
39
|
+
"lib/riak/map_reduce_error.rb",
|
40
|
+
"lib/riak/robject.rb",
|
41
|
+
"lib/riak/util/headers.rb",
|
42
|
+
"lib/riak/util/multipart.rb",
|
43
|
+
"lib/riak/util/translation.rb",
|
44
|
+
"lib/riak/walk_spec.rb",
|
45
|
+
"lib/ripple.rb",
|
46
|
+
"lib/ripple/core_ext/casting.rb",
|
47
|
+
"lib/ripple/document.rb",
|
48
|
+
"lib/ripple/document/attribute_methods.rb",
|
49
|
+
"lib/ripple/document/attribute_methods/dirty.rb",
|
50
|
+
"lib/ripple/document/attribute_methods/query.rb",
|
51
|
+
"lib/ripple/document/attribute_methods/read.rb",
|
52
|
+
"lib/ripple/document/attribute_methods/write.rb",
|
53
|
+
"lib/ripple/document/bucket_access.rb",
|
54
|
+
"lib/ripple/document/finders.rb",
|
55
|
+
"lib/ripple/document/persistence.rb",
|
56
|
+
"lib/ripple/document/persistence/callbacks.rb",
|
57
|
+
"lib/ripple/document/properties.rb",
|
58
|
+
"lib/ripple/document/validations.rb",
|
59
|
+
"lib/ripple/embedded_document.rb",
|
60
|
+
"lib/ripple/embedded_document/persistence.rb",
|
61
|
+
"lib/ripple/i18n.rb",
|
62
|
+
"lib/ripple/locale/en.yml",
|
63
|
+
"lib/ripple/property_type_mismatch.rb",
|
64
|
+
"lib/ripple/translation.rb",
|
65
|
+
"ripple.gemspec",
|
66
|
+
"spec/fixtures/cat.jpg",
|
67
|
+
"spec/fixtures/multipart-blank.txt",
|
68
|
+
"spec/fixtures/multipart-with-body.txt",
|
69
|
+
"spec/riak/bucket_spec.rb",
|
70
|
+
"spec/riak/client_spec.rb",
|
71
|
+
"spec/riak/curb_backend_spec.rb",
|
72
|
+
"spec/riak/headers_spec.rb",
|
73
|
+
"spec/riak/http_backend_spec.rb",
|
74
|
+
"spec/riak/link_spec.rb",
|
75
|
+
"spec/riak/map_reduce_spec.rb",
|
76
|
+
"spec/riak/multipart_spec.rb",
|
77
|
+
"spec/riak/net_http_backend_spec.rb",
|
78
|
+
"spec/riak/object_spec.rb",
|
79
|
+
"spec/riak/walk_spec_spec.rb",
|
80
|
+
"spec/ripple/attribute_methods_spec.rb",
|
81
|
+
"spec/ripple/bucket_access_spec.rb",
|
82
|
+
"spec/ripple/callbacks_spec.rb",
|
83
|
+
"spec/ripple/document_spec.rb",
|
84
|
+
"spec/ripple/embedded_document_spec.rb",
|
85
|
+
"spec/ripple/finders_spec.rb",
|
86
|
+
"spec/ripple/persistence_spec.rb",
|
87
|
+
"spec/ripple/properties_spec.rb",
|
88
|
+
"spec/ripple/ripple_spec.rb",
|
89
|
+
"spec/ripple/validations_spec.rb",
|
90
|
+
"spec/spec.opts",
|
91
|
+
"spec/spec_helper.rb",
|
92
|
+
"spec/support/http_backend_implementation_examples.rb",
|
93
|
+
"spec/support/mock_server.rb"
|
94
|
+
]
|
95
|
+
s.homepage = %q{http://seancribbs.github.com/ripple}
|
96
|
+
s.rdoc_options = ["--charset=UTF-8"]
|
97
|
+
s.require_paths = ["lib"]
|
98
|
+
s.requirements = ["`gem install curb` for better HTTP performance"]
|
99
|
+
s.rubygems_version = %q{1.3.5}
|
100
|
+
s.summary = %q{ripple is a rich Ruby client for Riak, Basho's distributed database.}
|
101
|
+
s.test_files = [
|
102
|
+
"spec/riak/bucket_spec.rb",
|
103
|
+
"spec/riak/client_spec.rb",
|
104
|
+
"spec/riak/curb_backend_spec.rb",
|
105
|
+
"spec/riak/headers_spec.rb",
|
106
|
+
"spec/riak/http_backend_spec.rb",
|
107
|
+
"spec/riak/link_spec.rb",
|
108
|
+
"spec/riak/map_reduce_spec.rb",
|
109
|
+
"spec/riak/multipart_spec.rb",
|
110
|
+
"spec/riak/net_http_backend_spec.rb",
|
111
|
+
"spec/riak/object_spec.rb",
|
112
|
+
"spec/riak/walk_spec_spec.rb",
|
113
|
+
"spec/ripple/attribute_methods_spec.rb",
|
114
|
+
"spec/ripple/bucket_access_spec.rb",
|
115
|
+
"spec/ripple/callbacks_spec.rb",
|
116
|
+
"spec/ripple/document_spec.rb",
|
117
|
+
"spec/ripple/embedded_document_spec.rb",
|
118
|
+
"spec/ripple/finders_spec.rb",
|
119
|
+
"spec/ripple/persistence_spec.rb",
|
120
|
+
"spec/ripple/properties_spec.rb",
|
121
|
+
"spec/ripple/ripple_spec.rb",
|
122
|
+
"spec/ripple/validations_spec.rb",
|
123
|
+
"spec/spec_helper.rb",
|
124
|
+
"spec/support/http_backend_implementation_examples.rb",
|
125
|
+
"spec/support/mock_server.rb"
|
126
|
+
]
|
127
|
+
|
128
|
+
if s.respond_to? :specification_version then
|
129
|
+
current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
|
130
|
+
s.specification_version = 3
|
131
|
+
|
132
|
+
if Gem::Version.new(Gem::RubyGemsVersion) >= Gem::Version.new('1.2.0') then
|
133
|
+
s.add_development_dependency(%q<rspec>, [">= 1.3"])
|
134
|
+
s.add_development_dependency(%q<fakeweb>, [">= 1.2"])
|
135
|
+
s.add_development_dependency(%q<rack>, [">= 1.0"])
|
136
|
+
s.add_development_dependency(%q<yard>, [">= 0.5.2"])
|
137
|
+
s.add_development_dependency(%q<curb>, [">= 0.6"])
|
138
|
+
s.add_runtime_dependency(%q<activesupport>, ["= 3.0.0.beta"])
|
139
|
+
s.add_runtime_dependency(%q<activemodel>, ["= 3.0.0.beta"])
|
140
|
+
else
|
141
|
+
s.add_dependency(%q<rspec>, [">= 1.3"])
|
142
|
+
s.add_dependency(%q<fakeweb>, [">= 1.2"])
|
143
|
+
s.add_dependency(%q<rack>, [">= 1.0"])
|
144
|
+
s.add_dependency(%q<yard>, [">= 0.5.2"])
|
145
|
+
s.add_dependency(%q<curb>, [">= 0.6"])
|
146
|
+
s.add_dependency(%q<activesupport>, ["= 3.0.0.beta"])
|
147
|
+
s.add_dependency(%q<activemodel>, ["= 3.0.0.beta"])
|
148
|
+
end
|
149
|
+
else
|
150
|
+
s.add_dependency(%q<rspec>, [">= 1.3"])
|
151
|
+
s.add_dependency(%q<fakeweb>, [">= 1.2"])
|
152
|
+
s.add_dependency(%q<rack>, [">= 1.0"])
|
153
|
+
s.add_dependency(%q<yard>, [">= 0.5.2"])
|
154
|
+
s.add_dependency(%q<curb>, [">= 0.6"])
|
155
|
+
s.add_dependency(%q<activesupport>, ["= 3.0.0.beta"])
|
156
|
+
s.add_dependency(%q<activemodel>, ["= 3.0.0.beta"])
|
157
|
+
end
|
158
|
+
end
|
159
|
+
|