rrod 1.0.0.alpha.1 → 1.0.0.alpha.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.
- checksums.yaml +4 -4
- data/Gemfile +5 -0
- data/README.md +11 -6
- data/lib/rrod/all.rb +4 -0
- data/lib/rrod/caster/nested_model.rb +1 -1
- data/lib/rrod/configuration.rb +2 -0
- data/lib/rrod/model.rb +5 -3
- data/lib/rrod/model/attribute.rb +8 -3
- data/lib/rrod/model/attribute_methods.rb +8 -3
- data/lib/rrod/model/callbacks.rb +26 -0
- data/lib/rrod/model/collection.rb +22 -4
- data/lib/rrod/model/finders.rb +37 -26
- data/lib/rrod/model/persistence.rb +5 -4
- data/lib/rrod/model/schema.rb +9 -3
- data/lib/rrod/model/serialization.rb +9 -0
- data/lib/rrod/model/timestamps.rb +19 -0
- data/lib/rrod/model/validations.rb +15 -0
- data/lib/rrod/model/validations/associated_validator.rb +29 -0
- data/lib/rrod/query.rb +1 -1
- data/lib/rrod/test_server/rspec.rb +3 -2
- data/lib/rrod/version.rb +1 -1
- data/spec/rrod/model/attribute_methods_spec.rb +15 -4
- data/spec/rrod/model/attribute_spec.rb +15 -2
- data/spec/rrod/model/callbacks_spec.rb +60 -0
- data/spec/rrod/model/collection_spec.rb +14 -5
- data/spec/rrod/model/finders_spec.rb +11 -10
- data/spec/rrod/model/schema_spec.rb +19 -1
- data/spec/rrod/model/timestamps_spec.rb +30 -0
- data/spec/rrod/model/validations/associated_validator_spec.rb +46 -0
- data/spec/rrod/model/validations_spec.rb +43 -45
- data/spec/rrod/query_spec.rb +1 -1
- data/spec/support/models/car.rb +3 -0
- data/spec/support/models/person.rb +25 -1
- data/spec/support/models/player.rb +6 -0
- data/spec/support/models/team.rb +5 -0
- metadata +39 -25
data/spec/rrod/query_spec.rb
CHANGED
data/spec/support/models/car.rb
CHANGED
@@ -16,6 +16,7 @@ end
|
|
16
16
|
|
17
17
|
class Pet
|
18
18
|
include Rrod::Model
|
19
|
+
nested_in :owner
|
19
20
|
|
20
21
|
attribute :name, String
|
21
22
|
attribute :species, String
|
@@ -29,7 +30,13 @@ end
|
|
29
30
|
class Person
|
30
31
|
include Rrod::Model
|
31
32
|
|
32
|
-
|
33
|
+
after_assignment :poke
|
34
|
+
before_validation :stuffs
|
35
|
+
before_save :other_stuffs
|
36
|
+
before_create :created!
|
37
|
+
before_update :updated!
|
38
|
+
|
39
|
+
attribute :name, String, presence: true
|
33
40
|
attribute :age, Integer, numericality: {min: 10}
|
34
41
|
attribute :gender, Symbol
|
35
42
|
|
@@ -38,4 +45,21 @@ class Person
|
|
38
45
|
attribute :pets, [Pet]
|
39
46
|
|
40
47
|
validates_length_of :pets, minimum: 1
|
48
|
+
|
49
|
+
private
|
50
|
+
|
51
|
+
def stuffs
|
52
|
+
'woo'
|
53
|
+
end
|
54
|
+
|
55
|
+
def other_stuffs
|
56
|
+
'moar wooo'
|
57
|
+
end
|
58
|
+
|
59
|
+
def poke
|
60
|
+
'poke'
|
61
|
+
end
|
62
|
+
|
63
|
+
def created! ; end
|
64
|
+
def updated! ; end
|
41
65
|
end
|
metadata
CHANGED
@@ -1,139 +1,139 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: rrod
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.0.alpha.
|
4
|
+
version: 1.0.0.alpha.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Adam Hunter
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2014-09-29 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: riak-client
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- - ~>
|
17
|
+
- - "~>"
|
18
18
|
- !ruby/object:Gem::Version
|
19
19
|
version: 1.4.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- - ~>
|
24
|
+
- - "~>"
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: 1.4.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: activemodel
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
30
30
|
requirements:
|
31
|
-
- -
|
31
|
+
- - ">="
|
32
32
|
- !ruby/object:Gem::Version
|
33
33
|
version: '3.2'
|
34
34
|
type: :runtime
|
35
35
|
prerelease: false
|
36
36
|
version_requirements: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- -
|
38
|
+
- - ">="
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '3.2'
|
41
41
|
- !ruby/object:Gem::Dependency
|
42
42
|
name: activesupport
|
43
43
|
requirement: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- -
|
45
|
+
- - ">="
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '3.2'
|
48
48
|
type: :runtime
|
49
49
|
prerelease: false
|
50
50
|
version_requirements: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- -
|
52
|
+
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '3.2'
|
55
55
|
- !ruby/object:Gem::Dependency
|
56
56
|
name: american_date
|
57
57
|
requirement: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- -
|
59
|
+
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
61
|
version: 1.1.0
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
|
-
- -
|
66
|
+
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
68
|
version: 1.1.0
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: thor
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
72
72
|
requirements:
|
73
|
-
- - ~>
|
73
|
+
- - "~>"
|
74
74
|
- !ruby/object:Gem::Version
|
75
75
|
version: '0.18'
|
76
76
|
type: :runtime
|
77
77
|
prerelease: false
|
78
78
|
version_requirements: !ruby/object:Gem::Requirement
|
79
79
|
requirements:
|
80
|
-
- - ~>
|
80
|
+
- - "~>"
|
81
81
|
- !ruby/object:Gem::Version
|
82
82
|
version: '0.18'
|
83
83
|
- !ruby/object:Gem::Dependency
|
84
84
|
name: pry
|
85
85
|
requirement: !ruby/object:Gem::Requirement
|
86
86
|
requirements:
|
87
|
-
- - ~>
|
87
|
+
- - "~>"
|
88
88
|
- !ruby/object:Gem::Version
|
89
89
|
version: '0.9'
|
90
90
|
type: :runtime
|
91
91
|
prerelease: false
|
92
92
|
version_requirements: !ruby/object:Gem::Requirement
|
93
93
|
requirements:
|
94
|
-
- - ~>
|
94
|
+
- - "~>"
|
95
95
|
- !ruby/object:Gem::Version
|
96
96
|
version: '0.9'
|
97
97
|
- !ruby/object:Gem::Dependency
|
98
98
|
name: bundler
|
99
99
|
requirement: !ruby/object:Gem::Requirement
|
100
100
|
requirements:
|
101
|
-
- - ~>
|
101
|
+
- - "~>"
|
102
102
|
- !ruby/object:Gem::Version
|
103
103
|
version: '1.3'
|
104
104
|
type: :development
|
105
105
|
prerelease: false
|
106
106
|
version_requirements: !ruby/object:Gem::Requirement
|
107
107
|
requirements:
|
108
|
-
- - ~>
|
108
|
+
- - "~>"
|
109
109
|
- !ruby/object:Gem::Version
|
110
110
|
version: '1.3'
|
111
111
|
- !ruby/object:Gem::Dependency
|
112
112
|
name: rspec
|
113
113
|
requirement: !ruby/object:Gem::Requirement
|
114
114
|
requirements:
|
115
|
-
- - ~>
|
115
|
+
- - "~>"
|
116
116
|
- !ruby/object:Gem::Version
|
117
117
|
version: '2.14'
|
118
118
|
type: :development
|
119
119
|
prerelease: false
|
120
120
|
version_requirements: !ruby/object:Gem::Requirement
|
121
121
|
requirements:
|
122
|
-
- - ~>
|
122
|
+
- - "~>"
|
123
123
|
- !ruby/object:Gem::Version
|
124
124
|
version: '2.14'
|
125
125
|
- !ruby/object:Gem::Dependency
|
126
126
|
name: rake
|
127
127
|
requirement: !ruby/object:Gem::Requirement
|
128
128
|
requirements:
|
129
|
-
- -
|
129
|
+
- - ">="
|
130
130
|
- !ruby/object:Gem::Version
|
131
131
|
version: '0'
|
132
132
|
type: :development
|
133
133
|
prerelease: false
|
134
134
|
version_requirements: !ruby/object:Gem::Requirement
|
135
135
|
requirements:
|
136
|
-
- -
|
136
|
+
- - ">="
|
137
137
|
- !ruby/object:Gem::Version
|
138
138
|
version: '0'
|
139
139
|
description: Riak Ruby Object Database
|
@@ -144,8 +144,8 @@ executables:
|
|
144
144
|
extensions: []
|
145
145
|
extra_rdoc_files: []
|
146
146
|
files:
|
147
|
-
- .gitignore
|
148
|
-
- .rspec
|
147
|
+
- ".gitignore"
|
148
|
+
- ".rspec"
|
149
149
|
- Gemfile
|
150
150
|
- LICENSE.txt
|
151
151
|
- README.md
|
@@ -160,11 +160,15 @@ files:
|
|
160
160
|
- lib/rrod/model.rb
|
161
161
|
- lib/rrod/model/attribute.rb
|
162
162
|
- lib/rrod/model/attribute_methods.rb
|
163
|
+
- lib/rrod/model/callbacks.rb
|
163
164
|
- lib/rrod/model/collection.rb
|
164
165
|
- lib/rrod/model/finders.rb
|
165
166
|
- lib/rrod/model/persistence.rb
|
166
167
|
- lib/rrod/model/schema.rb
|
167
168
|
- lib/rrod/model/serialization.rb
|
169
|
+
- lib/rrod/model/timestamps.rb
|
170
|
+
- lib/rrod/model/validations.rb
|
171
|
+
- lib/rrod/model/validations/associated_validator.rb
|
168
172
|
- lib/rrod/query.rb
|
169
173
|
- lib/rrod/test_server.rb
|
170
174
|
- lib/rrod/test_server/rspec.rb
|
@@ -175,11 +179,14 @@ files:
|
|
175
179
|
- spec/rrod/configuration_spec.rb
|
176
180
|
- spec/rrod/model/attribute_methods_spec.rb
|
177
181
|
- spec/rrod/model/attribute_spec.rb
|
182
|
+
- spec/rrod/model/callbacks_spec.rb
|
178
183
|
- spec/rrod/model/collection_spec.rb
|
179
184
|
- spec/rrod/model/finders_spec.rb
|
180
185
|
- spec/rrod/model/persistence_spec.rb
|
181
186
|
- spec/rrod/model/schema_spec.rb
|
182
187
|
- spec/rrod/model/serialization_spec.rb
|
188
|
+
- spec/rrod/model/timestamps_spec.rb
|
189
|
+
- spec/rrod/model/validations/associated_validator_spec.rb
|
183
190
|
- spec/rrod/model/validations_spec.rb
|
184
191
|
- spec/rrod/model_spec.rb
|
185
192
|
- spec/rrod/query_spec.rb
|
@@ -187,6 +194,8 @@ files:
|
|
187
194
|
- spec/spec_helper.rb
|
188
195
|
- spec/support/models/car.rb
|
189
196
|
- spec/support/models/person.rb
|
197
|
+
- spec/support/models/player.rb
|
198
|
+
- spec/support/models/team.rb
|
190
199
|
- spec/support/test_server.yml.example
|
191
200
|
homepage: https://github.com/adamhunter/rrod
|
192
201
|
licenses:
|
@@ -198,17 +207,17 @@ require_paths:
|
|
198
207
|
- lib
|
199
208
|
required_ruby_version: !ruby/object:Gem::Requirement
|
200
209
|
requirements:
|
201
|
-
- -
|
210
|
+
- - ">="
|
202
211
|
- !ruby/object:Gem::Version
|
203
212
|
version: '0'
|
204
213
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
205
214
|
requirements:
|
206
|
-
- -
|
215
|
+
- - ">"
|
207
216
|
- !ruby/object:Gem::Version
|
208
217
|
version: 1.3.1
|
209
218
|
requirements: []
|
210
219
|
rubyforge_project:
|
211
|
-
rubygems_version: 2.
|
220
|
+
rubygems_version: 2.2.2
|
212
221
|
signing_key:
|
213
222
|
specification_version: 4
|
214
223
|
summary: A persistence layer for your ruby objects, powered by Riak
|
@@ -217,11 +226,14 @@ test_files:
|
|
217
226
|
- spec/rrod/configuration_spec.rb
|
218
227
|
- spec/rrod/model/attribute_methods_spec.rb
|
219
228
|
- spec/rrod/model/attribute_spec.rb
|
229
|
+
- spec/rrod/model/callbacks_spec.rb
|
220
230
|
- spec/rrod/model/collection_spec.rb
|
221
231
|
- spec/rrod/model/finders_spec.rb
|
222
232
|
- spec/rrod/model/persistence_spec.rb
|
223
233
|
- spec/rrod/model/schema_spec.rb
|
224
234
|
- spec/rrod/model/serialization_spec.rb
|
235
|
+
- spec/rrod/model/timestamps_spec.rb
|
236
|
+
- spec/rrod/model/validations/associated_validator_spec.rb
|
225
237
|
- spec/rrod/model/validations_spec.rb
|
226
238
|
- spec/rrod/model_spec.rb
|
227
239
|
- spec/rrod/query_spec.rb
|
@@ -229,4 +241,6 @@ test_files:
|
|
229
241
|
- spec/spec_helper.rb
|
230
242
|
- spec/support/models/car.rb
|
231
243
|
- spec/support/models/person.rb
|
244
|
+
- spec/support/models/player.rb
|
245
|
+
- spec/support/models/team.rb
|
232
246
|
- spec/support/test_server.yml.example
|