ripple 0.8.1 → 0.8.2
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
CHANGED
@@ -11,10 +11,10 @@ gemspec = Gem::Specification.new do |gem|
|
|
11
11
|
gem.email = "seancribbs@gmail.com"
|
12
12
|
gem.homepage = "http://seancribbs.github.com/ripple"
|
13
13
|
gem.authors = ["Sean Cribbs"]
|
14
|
-
gem.add_development_dependency "rspec", "~>2.0.0
|
15
|
-
gem.add_dependency "riak-client", version
|
16
|
-
gem.add_dependency "activesupport", "3.0.0"
|
17
|
-
gem.add_dependency "activemodel", "3.0.0"
|
14
|
+
gem.add_development_dependency "rspec", "~>2.0.0"
|
15
|
+
gem.add_dependency "riak-client", "~>#{version}"
|
16
|
+
gem.add_dependency "activesupport", "~>3.0.0"
|
17
|
+
gem.add_dependency "activemodel", "~>3.0.0"
|
18
18
|
|
19
19
|
files = FileList["**/*"]
|
20
20
|
files.exclude /\.DS_Store/
|
@@ -27,6 +27,7 @@ gemspec = Gem::Specification.new do |gem|
|
|
27
27
|
files.exclude /^pkg/
|
28
28
|
files.exclude 'ripple.gemspec'
|
29
29
|
files.exclude 'Gemfile'
|
30
|
+
files.exclude 'spec/support/test_server.yml'
|
30
31
|
|
31
32
|
gem.files = files.to_a
|
32
33
|
|
@@ -19,10 +19,15 @@ module Ripple
|
|
19
19
|
|
20
20
|
def initialize(*args)
|
21
21
|
super
|
22
|
-
|
22
|
+
lazy_load_validates_associated
|
23
23
|
end
|
24
24
|
|
25
25
|
protected
|
26
|
+
|
27
|
+
def lazy_load_validates_associated
|
28
|
+
return if @owner.class.validators_on(@reflection.name).any? {|v| Ripple::Validations::AssociatedValidator === v}
|
29
|
+
@owner.class.validates @reflection.name, :associated => true
|
30
|
+
end
|
26
31
|
|
27
32
|
def assign_references(docs)
|
28
33
|
Array(docs).each do |doc|
|
@@ -62,10 +62,8 @@ class String
|
|
62
62
|
end
|
63
63
|
end
|
64
64
|
|
65
|
-
|
66
|
-
|
67
|
-
extend self
|
68
|
-
def ripple_cast(value)
|
65
|
+
boolean_cast = proc do
|
66
|
+
def self.ripple_cast(value)
|
69
67
|
case value
|
70
68
|
when NilClass
|
71
69
|
nil
|
@@ -83,15 +81,14 @@ module ::Boolean
|
|
83
81
|
end
|
84
82
|
end
|
85
83
|
|
86
|
-
|
87
|
-
|
88
|
-
|
84
|
+
unless defined?(::Boolean)
|
85
|
+
# Stand-in for true/false property types.
|
86
|
+
module ::Boolean; end
|
89
87
|
end
|
90
88
|
|
91
|
-
|
92
|
-
|
93
|
-
|
94
|
-
end
|
89
|
+
::Boolean.module_eval(&boolean_cast)
|
90
|
+
TrueClass.module_eval(&boolean_cast)
|
91
|
+
FalseClass.module_eval(&boolean_cast)
|
95
92
|
|
96
93
|
# @private
|
97
94
|
class Time
|
@@ -20,9 +20,8 @@ module Ripple
|
|
20
20
|
module Validations
|
21
21
|
class AssociatedValidator < ActiveModel::EachValidator
|
22
22
|
def validate_each(record, attribute, value)
|
23
|
-
|
24
|
-
|
25
|
-
end
|
23
|
+
return if (value.is_a?(Array) ? value : [value]).collect{ |r| r.nil? || r.valid? }.all?
|
24
|
+
record.errors.add(attribute, :invalid, options.merge(:value => value))
|
26
25
|
end
|
27
26
|
end
|
28
27
|
|
@@ -127,4 +127,9 @@ describe Ripple::Associations::ManyEmbeddedProxy do
|
|
127
127
|
lambda { @user.addresses = @address }.should raise_error
|
128
128
|
lambda { @user.addresses = [@note] }.should raise_error
|
129
129
|
end
|
130
|
+
|
131
|
+
it "should not add the associated validator multiple times" do
|
132
|
+
#$stderr.puts User.validators.collect(&:inspect)
|
133
|
+
User.validators_on(:addresses).count.should eq(1)
|
134
|
+
end
|
130
135
|
end
|
metadata
CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
|
|
5
5
|
segments:
|
6
6
|
- 0
|
7
7
|
- 8
|
8
|
-
-
|
9
|
-
version: 0.8.
|
8
|
+
- 2
|
9
|
+
version: 0.8.2
|
10
10
|
platform: ruby
|
11
11
|
authors:
|
12
12
|
- Sean Cribbs
|
@@ -14,7 +14,7 @@ autorequire:
|
|
14
14
|
bindir: bin
|
15
15
|
cert_chain: []
|
16
16
|
|
17
|
-
date: 2010-10-
|
17
|
+
date: 2010-10-22 00:00:00 -04:00
|
18
18
|
default_executable:
|
19
19
|
dependencies:
|
20
20
|
- !ruby/object:Gem::Dependency
|
@@ -29,9 +29,7 @@ dependencies:
|
|
29
29
|
- 2
|
30
30
|
- 0
|
31
31
|
- 0
|
32
|
-
|
33
|
-
- 18
|
34
|
-
version: 2.0.0.beta.18
|
32
|
+
version: 2.0.0
|
35
33
|
type: :development
|
36
34
|
version_requirements: *id001
|
37
35
|
- !ruby/object:Gem::Dependency
|
@@ -40,13 +38,13 @@ dependencies:
|
|
40
38
|
requirement: &id002 !ruby/object:Gem::Requirement
|
41
39
|
none: false
|
42
40
|
requirements:
|
43
|
-
- -
|
41
|
+
- - ~>
|
44
42
|
- !ruby/object:Gem::Version
|
45
43
|
segments:
|
46
44
|
- 0
|
47
45
|
- 8
|
48
|
-
-
|
49
|
-
version: 0.8.
|
46
|
+
- 2
|
47
|
+
version: 0.8.2
|
50
48
|
type: :runtime
|
51
49
|
version_requirements: *id002
|
52
50
|
- !ruby/object:Gem::Dependency
|
@@ -55,7 +53,7 @@ dependencies:
|
|
55
53
|
requirement: &id003 !ruby/object:Gem::Requirement
|
56
54
|
none: false
|
57
55
|
requirements:
|
58
|
-
- -
|
56
|
+
- - ~>
|
59
57
|
- !ruby/object:Gem::Version
|
60
58
|
segments:
|
61
59
|
- 3
|
@@ -70,7 +68,7 @@ dependencies:
|
|
70
68
|
requirement: &id004 !ruby/object:Gem::Requirement
|
71
69
|
none: false
|
72
70
|
requirements:
|
73
|
-
- -
|
71
|
+
- - ~>
|
74
72
|
- !ruby/object:Gem::Version
|
75
73
|
segments:
|
76
74
|
- 3
|
@@ -186,7 +184,6 @@ files:
|
|
186
184
|
- spec/support/models/wheel.rb
|
187
185
|
- spec/support/models/widget.rb
|
188
186
|
- spec/support/test_server.rb
|
189
|
-
- spec/support/test_server.yml
|
190
187
|
has_rdoc: true
|
191
188
|
homepage: http://seancribbs.github.com/ripple
|
192
189
|
licenses: []
|