riakrest 0.1.2 → 0.1.5

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.
@@ -4,7 +4,7 @@ describe "JiakResource default" do
4
4
  class Rsrc # :nodoc:
5
5
  include JiakResource
6
6
  server SERVER_URI
7
- jattr_accessor :f1, :f2
7
+ attr_accessor :f1, :f2
8
8
  end
9
9
 
10
10
  before do
@@ -16,7 +16,7 @@ describe "JiakResource default" do
16
16
  describe "class creation" do
17
17
  it "should respond to" do
18
18
  Rsrc.should respond_to(:server,:group)
19
- Rsrc.should respond_to(:jattr_reader,:jattr,:jattr_writer,:jattr_accessor)
19
+ Rsrc.should respond_to(:attr_reader,:attr,:attr_writer,:attr_accessor)
20
20
  Rsrc.should respond_to(:params,:auto_update,:keys)
21
21
  Rsrc.should respond_to(:schema,:push_schema,:server_schema?)
22
22
  Rsrc.should respond_to(:post,:put,:get,:delete)
@@ -63,15 +63,8 @@ describe "JiakResource default" do
63
63
 
64
64
  it "should have default settings" do
65
65
  @rsrc.jiak.should be_a Struct
66
- @rsrc.jiak.should respond_to(:object)
67
- @rsrc.jiak.should respond_to(:bucket,:key,:data,:links)
68
- @rsrc.jiak.should respond_to(:auto_update)
69
-
70
- @rsrc.jiak.bucket.should == @rsrc.jiak.object.bucket
71
- @rsrc.jiak.key.should == @rsrc.jiak.object.key
72
- @rsrc.jiak.data.should == @rsrc.jiak.object.data
73
- @rsrc.jiak.links.should == @rsrc.jiak.object.links
74
-
66
+ @rsrc.jiak.should respond_to(:object,:auto_update)
67
+
75
68
  @rsrc.jiak.object.should be_a JiakObject
76
69
  @rsrc.jiak.object.bucket.should be_a JiakBucket
77
70
  @rsrc.jiak.object.bucket.name.should eql @group
@@ -82,84 +75,83 @@ describe "JiakResource default" do
82
75
  end
83
76
 
84
77
  describe "JiakResource schema" do
85
- class People # :nodoc:
78
+ class Person # :nodoc:
86
79
  include JiakResource
87
80
  server SERVER_URI
88
81
  group 'schema'
89
- jattr_accessor :name, :age
82
+ attr_accessor :name, :age
90
83
  keygen { name }
91
84
  end
92
85
 
93
86
  it "should have data schema" do
94
87
  jiak_schema = JiakSchema.new([:name,:age])
95
- People.schema.should eql jiak_schema
88
+ Person.schema.should eql jiak_schema
96
89
  end
97
90
 
98
91
  it "should push/check server schema" do
99
- People.server_schema?.should be false
100
- People.push_schema
101
- People.server_schema?.should be true
92
+ Person.push_schema
93
+ Person.server_schema?.should be true
102
94
 
103
- People.push_schema(JiakSchema::WIDE_OPEN)
104
- People.server_schema?.should be false
95
+ Person.push_schema(JiakSchema::WIDE_OPEN)
96
+ Person.server_schema?.should be false
105
97
  end
106
98
  end
107
99
 
108
100
  describe "JiakResource default class-level auto-post/auto-update" do
109
- class People # :nodoc:
101
+ class Person # :nodoc:
110
102
  include JiakResource
111
103
  server SERVER_URI
112
104
  group 'people'
113
- jattr_accessor :name, :age
105
+ attr_accessor :name, :age
114
106
  keygen { name }
115
107
  end
116
108
 
117
109
  before do
118
110
  @name = 'p default'
119
- @p = People.new(:name => @name, :age => 10)
111
+ @p = Person.new(:name => @name, :age => 10)
120
112
  end
121
113
 
122
114
  it "should create instance without posting" do
123
- People.auto_post?.should be false
115
+ Person.auto_post?.should be false
124
116
 
125
- People.exist?(@name).should be false
117
+ Person.exist?(@name).should be false
126
118
  @p.local?.should be true
127
119
  @p.post
128
- People.get(@name).name.should eql @name
120
+ Person.get(@name).name.should eql @name
129
121
  @p.local?.should be false
130
122
  @p.delete
131
123
  end
132
124
 
133
125
  it "should change local data without updating" do
134
126
  @p.post
135
- People.get(@name).age.should eql 10
127
+ Person.get(@name).age.should eql 10
136
128
  @p.age = 12
137
- People.get(@name).age.should eql 10
129
+ Person.get(@name).age.should eql 10
138
130
  @p.update
139
- People.get(@name).age.should eql 12
131
+ Person.get(@name).age.should eql 12
140
132
  @p.delete
141
133
  end
142
134
 
143
135
  it "should check if resource is local and if it exists on server" do
144
136
  name = 'p local'
145
- p = People.new(:name => name)
137
+ p = Person.new(:name => name)
146
138
  p.local?.should be true
147
- People.exist?(name).should be false
139
+ Person.exist?(name).should be false
148
140
 
149
141
  p.post
150
142
  p.local?.should be false
151
- People.exist?(name).should be true
143
+ Person.exist?(name).should be true
152
144
 
153
145
  p.delete
154
146
  end
155
147
  end
156
148
 
157
149
  describe "JiakResource class auto-post" do
158
- class People # :nodoc:
150
+ class Person # :nodoc:
159
151
  include JiakResource
160
152
  server SERVER_URI
161
153
  group 'people'
162
- jattr_accessor :name, :age
154
+ attr_accessor :name, :age
163
155
  keygen { name }
164
156
  end
165
157
 
@@ -169,21 +161,21 @@ describe "JiakResource class auto-post" do
169
161
 
170
162
  describe "false" do
171
163
  before do
172
- People.auto_post false
164
+ Person.auto_post false
173
165
  end
174
166
 
175
167
  it "should not auto-post, or auto-update a local object" do
176
- People.auto_post?.should be false
168
+ Person.auto_post?.should be false
177
169
 
178
- People.exist?(@name).should be false
170
+ Person.exist?(@name).should be false
179
171
 
180
- People.auto_update true
181
- p = People.new(:name => @name, :age => 10)
172
+ Person.auto_update true
173
+ p = Person.new(:name => @name, :age => 10)
182
174
  p.local?.should be true
183
175
  p.age = 12
184
176
  p.local?.should be true
185
177
 
186
- q = People.new(:name => 'q', :age => 20)
178
+ q = Person.new(:name => 'q', :age => 20)
187
179
 
188
180
  link_to_local = lambda {p.link(q,'link')}
189
181
  link_to_local.should raise_error(JiakResourceException,/local/)
@@ -198,11 +190,11 @@ describe "JiakResource class auto-post" do
198
190
  p.post
199
191
  p.local?.should be false
200
192
  p.age.should be 12
201
- People.get(@name).age.should be 12
202
- p.query(People,'link')[0].should eql q
193
+ Person.get(@name).age.should be 12
194
+ p.query([Person,'link'])[0].should eql q
203
195
 
204
196
  p.age = 10
205
- People.get(@name).age.should be 10
197
+ Person.get(@name).age.should be 10
206
198
 
207
199
  p.delete
208
200
  q.delete
@@ -211,21 +203,21 @@ describe "JiakResource class auto-post" do
211
203
 
212
204
  describe "true" do
213
205
  before do
214
- People.auto_post true
206
+ Person.auto_post true
215
207
  end
216
208
 
217
209
  it "should auto-post a new instance" do
218
- People.auto_post?.should be true
210
+ Person.auto_post?.should be true
219
211
 
220
- People.exist?(@name).should be false
221
- p = People.new(:name => @name, :age => 10)
222
- People.get(@name).name.should eql @name
212
+ Person.exist?(@name).should be false
213
+ p = Person.new(:name => @name, :age => 10)
214
+ Person.get(@name).name.should eql @name
223
215
  p.delete
224
216
  end
225
217
 
226
218
  it "should reject auto-post of a new instance with an existing key" do
227
- p = People.new(:name => @name, :age => 10)
228
- duplicate_key = lambda {People.new(:name => p.name, :age => 0)}
219
+ p = Person.new(:name => @name, :age => 10)
220
+ duplicate_key = lambda {Person.new(:name => p.name, :age => 0)}
229
221
  duplicate_key.should raise_error(JiakResourceException,/exist/)
230
222
  p.delete
231
223
  end
@@ -233,11 +225,11 @@ describe "JiakResource class auto-post" do
233
225
  end
234
226
 
235
227
  describe "JiakResource class auto-update" do
236
- class Dogs # :nodoc:
228
+ class Dog # :nodoc:
237
229
  include JiakResource
238
230
  server SERVER_URI
239
231
  group 'dogs'
240
- jattr_accessor :name, :age
232
+ attr_accessor :name, :age
241
233
  keygen { name }
242
234
  auto_manage
243
235
  end
@@ -246,92 +238,92 @@ describe "JiakResource class auto-update" do
246
238
  @pname = 'p auto-update'
247
239
  @c1name = 'c1 auto-update'
248
240
  @c2name = 'c2 auto-update'
249
- @p = Dogs.new(:name => @pname, :age => 10)
250
- @c1 = Dogs.new(:name => @cname, :age => 4)
251
- @c2 = Dogs.new(:name => @cname, :age => 4)
241
+ @p = Dog.new(:name => @pname, :age => 10)
242
+ @c1 = Dog.new(:name => @cname, :age => 4)
243
+ @c2 = Dog.new(:name => @cname, :age => 4)
252
244
  end
253
245
 
254
246
  after do
255
247
  @p.delete
256
248
  @c1.delete
257
249
  @c2.delete
258
- Dogs.auto_update true
250
+ Dog.auto_update true
259
251
  end
260
252
 
261
253
  it "should auto-update local changes" do
262
- Dogs.get(@pname).age.should eql 10
254
+ Dog.get(@pname).age.should eql 10
263
255
  @p.age = 12
264
- Dogs.get(@pname).age.should eql 12
256
+ Dog.get(@pname).age.should eql 12
265
257
 
266
- Dogs.get(@pname).name.should eql @pname
258
+ Dog.get(@pname).name.should eql @pname
267
259
  @p.name = @pname.upcase
268
- Dogs.get(@pname).name.should eql @pname.upcase
260
+ Dog.get(@pname).name.should eql @pname.upcase
269
261
 
270
- @p.query(Dogs,'pup').size.should eql 0
262
+ @p.query([Dog,'pup']).size.should eql 0
271
263
  @p.link(@c1,'pup')
272
- @p.query(Dogs,'pup').size.should eql 1
264
+ @p.query([Dog,'pup']).size.should eql 1
273
265
 
274
- [@c1,@c2].each {|c| c.query(Dogs,'sibling').size.should eql 0}
266
+ [@c1,@c2].each {|c| c.query([Dog,'sibling']).size.should eql 0}
275
267
  @c1.bi_link(@c2,'sibling')
276
- [@c1,@c2].each {|c| c.query(Dogs,'sibling').size.should eql 1}
268
+ [@c1,@c2].each {|c| c.query([Dog,'sibling']).size.should eql 1}
277
269
  end
278
270
 
279
271
  it "should allow instance level override of class level auto-update true" do
280
272
  @p.auto_update?.should be nil
281
273
 
282
- Dogs.get(@pname).age.should eql 10
274
+ Dog.get(@pname).age.should eql 10
283
275
  @p.auto_update = false
284
276
  @p.auto_update?.should be false
285
277
  @p.age = 12
286
- Dogs.get(@pname).age.should eql 10
278
+ Dog.get(@pname).age.should eql 10
287
279
  @p.update
288
- Dogs.get(@pname).age.should eql 12
280
+ Dog.get(@pname).age.should eql 12
289
281
 
290
- [@c1,@c2].each {|c| c.query(Dogs,'sibling').size.should eql 0}
282
+ [@c1,@c2].each {|c| c.query([Dog,'sibling']).size.should eql 0}
291
283
  @c2.auto_update = false
292
284
  @c1.bi_link(@c2,'sibling')
293
- @c1.query(Dogs,'sibling').size.should eql 1
294
- @c2.query(Dogs,'sibling').size.should eql 0
285
+ @c1.query([Dog,'sibling']).size.should eql 1
286
+ @c2.query([Dog,'sibling']).size.should eql 0
295
287
  end
296
288
 
297
289
  it "should allow instance level override of class level auto-update false" do
298
- Dogs.auto_update false
290
+ Dog.auto_update false
299
291
 
300
- Dogs.get(@pname).age.should eql 10
292
+ Dog.get(@pname).age.should eql 10
301
293
  @p.auto_update = true
302
294
  @p.auto_update?.should be true
303
295
  @p.age = 12
304
- Dogs.get(@pname).age.should eql 12
296
+ Dog.get(@pname).age.should eql 12
305
297
 
306
- [@c1,@c2].each {|c| c.query(Dogs,'sibling').size.should eql 0}
298
+ [@c1,@c2].each {|c| c.query([Dog,'sibling']).size.should eql 0}
307
299
  @c2.auto_update = true
308
300
  @c1.bi_link(@c2,'sibling')
309
- @c1.query(Dogs,'sibling').size.should eql 0
310
- @c2.query(Dogs,'sibling').size.should eql 1
301
+ @c1.query([Dog,'sibling']).size.should eql 0
302
+ @c2.query([Dog,'sibling']).size.should eql 1
311
303
  end
312
304
 
313
305
  it "should allow instance level deferring back to class level" do
314
- Dogs.get(@pname).age.should eql 10
306
+ Dog.get(@pname).age.should eql 10
315
307
  @p.auto_update = false
316
308
  @p.age = 12
317
- Dogs.get(@pname).age.should eql 10
309
+ Dog.get(@pname).age.should eql 10
318
310
  @p.update
319
- Dogs.get(@pname).age.should eql 12
311
+ Dog.get(@pname).age.should eql 12
320
312
 
321
313
  @p.auto_update = nil
322
314
  @p.auto_update?.should be nil
323
315
  @p.age = 10
324
- Dogs.get(@pname).age.should eql 10
316
+ Dog.get(@pname).age.should eql 10
325
317
  end
326
318
 
327
319
  end
328
320
 
329
321
  describe "JiakResource simple" do
330
- class Dogs # :nodoc:
322
+ class Dog # :nodoc:
331
323
  include JiakResource
332
324
  server SERVER_URI
333
325
  group 'dogs'
334
- jattr_accessor :name, :age
326
+ attr_accessor :name, :age
335
327
  keygen { name }
336
328
  auto_manage
337
329
  end
@@ -340,9 +332,9 @@ describe "JiakResource simple" do
340
332
  @pname = 'p'
341
333
  @c1name = 'c1'
342
334
  @c2name = 'c2'
343
- @p = Dogs.new(:name => @pname, :age => 10)
344
- @c1 = Dogs.new(:name => @c1name, :age => 4)
345
- @c2 = Dogs.new(:name => @c2name, :age => 4)
335
+ @p = Dog.new(:name => @pname, :age => 10)
336
+ @c1 = Dog.new(:name => @c1name, :age => 4)
337
+ @c2 = Dog.new(:name => @c2name, :age => 4)
346
338
  end
347
339
 
348
340
  after do
@@ -352,50 +344,49 @@ describe "JiakResource simple" do
352
344
  end
353
345
 
354
346
  it "should do basic interaction and single-step relationships" do
355
- Dogs.exist?(@pname).should be true
356
- Dogs.get(@pname).should eql @p
347
+ Dog.exist?(@pname).should be true
348
+ Dog.get(@pname).should eql @p
357
349
 
358
350
  @p.name.should eql @pname
359
351
  @p.age.should eql 10
360
352
 
361
353
  @p.age = 11
362
- @p = Dogs.get(@pname)
354
+ @p = Dog.get(@pname)
363
355
  @p.age.should eql 11
364
356
 
365
357
  [@c1,@c2].each {|c| @p.link(c,'pup')}
366
- pups = @p.query(Dogs,'pup')
358
+ pups = @p.query([Dog,'pup'])
367
359
  pups.size.should eql 2
368
360
  same_elements = pups.map {|c| c.name}.same_elements?([@c1.name,@c2.name])
369
361
  same_elements.should be true
370
362
 
371
363
  @c1.bi_link(@c2,'sibling')
372
- [@c1,@c2].each {|c| c.query(Dogs,'sibling').size.should eql 1}
373
- @c1.query(Dogs,'sibling')[0].should eql @c2
374
- @c2.query(Dogs,'sibling')[0].should eql @c1
364
+ [@c1,@c2].each {|c| c.query([Dog,'sibling']).size.should eql 1}
365
+ @c1.query([Dog,'sibling'])[0].should eql @c2
366
+ @c2.query([Dog,'sibling'])[0].should eql @c1
375
367
 
376
368
  @c1.remove_link(@c2,'sibling')
377
- @c1.query(Dogs,'sibling').size.should eql 0
378
- @c2.query(Dogs,'sibling').size.should eql 1
369
+ @c1.query([Dog,'sibling']).size.should eql 0
370
+ @c2.query([Dog,'sibling']).size.should eql 1
379
371
 
380
372
  [@c1,@c2].each {|c| c.link(@p,'parent')}
381
373
 
382
- @c1.query(Dogs).size.should eql 1
383
- @c2.query(Dogs).size.should eql 2
384
- @c2.query(Dogs,'sibling').size.should eql 1
385
- @c2.query(Dogs,'parent').size.should eql 1
374
+ @c1.query([Dog,QueryLink::ANY]).size.should eql 1
375
+ @c2.query([Dog,QueryLink::ANY]).size.should eql 2
376
+ @c2.query([Dog,'sibling']).size.should eql 1
377
+ @c2.query([Dog,'parent']).size.should eql 1
386
378
  end
387
379
  end
388
380
 
389
381
  describe "JiakResource complex" do
390
- class Parents # :nodoc:
382
+ class Parent # :nodoc:
391
383
  include JiakResource
392
384
  server SERVER_URI
393
- jattr_accessor :name
385
+ attr_accessor :name
394
386
  keygen { name }
395
387
  end
396
388
 
397
- Children = Parents.dup
398
- Children.group 'children'
389
+ (Child = Parent.dup).group 'child'
399
390
 
400
391
  it "should do multi-step relationships" do
401
392
  # relationships
@@ -416,12 +407,12 @@ describe "JiakResource complex" do
416
407
 
417
408
  # store data and relationships
418
409
  parent_children.each do |pname,cnames|
419
- p = Parents.new(:name => pname).post
410
+ p = Parent.new(:name => pname).post
420
411
  cnames.each do |cname|
421
412
  begin
422
- c = Children.get(cname)
413
+ c = Child.get(cname)
423
414
  rescue
424
- c = Children.new(:name => cname)
415
+ c = Child.new(:name => cname)
425
416
  end
426
417
  c.link(p,'parent')
427
418
  c.put
@@ -430,13 +421,13 @@ describe "JiakResource complex" do
430
421
  p.update
431
422
  end
432
423
 
433
- parents = parent_children.keys.map {|p| Parents.get(p)}
434
- children = child_parents.keys.map {|c| Children.get(c)}
424
+ parents = parent_children.keys.map {|p| Parent.get(p)}
425
+ children = child_parents.keys.map {|c| Child.get(c)}
435
426
  c0,c1,c2,c3,c4 = children
436
427
 
437
428
  # siblings
438
429
  c0s,c1s,c2s,c3s,c4s = children.map do |c|
439
- c.query(Parents,'parent',Children,'child').delete_if{|s| s.eql?(c)}
430
+ c.query([Parent,'parent',Child,'child']).delete_if{|s| s.eql?(c)}
440
431
  end
441
432
  c0s.size.should eql 2
442
433
  c1s.size.should eql 2
@@ -450,25 +441,26 @@ describe "JiakResource complex" do
450
441
  same_elements.should be true
451
442
 
452
443
  # c3's step-sibling's other parent?
453
- c3sp = c3.query(Parents,'parent',Children,'child',Parents,'parent')
454
- c3.query(Parents,'parent').each {|p| c3sp.delete_if{|sp| p.eql?(sp)}}
444
+ c3sp = c3.query([Parent,'parent',Child,'child',Parent,'parent'])
445
+ c3.query([Parent,'parent']).each {|p| c3sp.delete_if{|sp| p.eql?(sp)}}
455
446
  c3sp[0].name.should eql parents[1].name
456
447
 
457
448
  # add sibling links
458
- Children.auto_update true
449
+ Child.auto_update true
459
450
  children.each do |c|
460
- siblings = c.query(Parents,'parent',Children,'child').delete_if{|s| s.eql?(c)}
451
+ siblings =
452
+ c.query([Parent,'parent',Child,'child']).delete_if{|s| s.eql?(c)}
461
453
  siblings.each {|s| c.link(s,'sibling')}
462
454
  end
463
- c0.query(Children,'sibling').size.should eql 2
464
- c1.query(Children,'sibling').size.should eql 2
465
- c2.query(Children,'sibling').size.should eql 3
466
- c3.query(Children,'sibling').size.should eql 1
467
- c4.query(Children,'sibling').size.should eql 0
468
-
469
- parents.each {|p| p.delete}
455
+ sibling_query = [Child,'sibling']
456
+ c0.query(sibling_query).size.should eql 2
457
+ c1.query(sibling_query).size.should eql 2
458
+ c2.query(sibling_query).size.should eql 3
459
+ c3.query(sibling_query).size.should eql 1
460
+ c4.query(sibling_query).size.should eql 0
461
+
462
+ parents.each {|p| p.delete}
470
463
  children.each {|c| c.delete}
471
464
  end
472
465
  end
473
466
 
474
- # CxINC Many more tests to go
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: riakrest
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - Paul Rogers
@@ -9,7 +9,7 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2009-11-29 00:00:00 -08:00
12
+ date: 2009-12-11 00:00:00 -08:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
@@ -88,10 +88,13 @@ files:
88
88
  - README.rdoc
89
89
  - Rakefile
90
90
  - VERSION
91
- - examples/auto_update_data.rb
91
+ - examples/auto_manage_data.rb
92
92
  - examples/auto_update_links.rb
93
93
  - examples/basic_client.rb
94
94
  - examples/basic_resource.rb
95
+ - examples/basic_resource_pov.rb
96
+ - examples/buoy.rb
97
+ - examples/buoy_pov.rb
95
98
  - examples/example_helper.rb
96
99
  - examples/linked_resources.rb
97
100
  - lib/riakrest.rb
@@ -105,6 +108,7 @@ files:
105
108
  - lib/riakrest/core/jiak_schema.rb
106
109
  - lib/riakrest/core/query_link.rb
107
110
  - lib/riakrest/resource/jiak_resource.rb
111
+ - lib/riakrest/resource/jiak_resource_pov.rb
108
112
  - spec/core/exceptions_spec.rb
109
113
  - spec/core/jiak_bucket_spec.rb
110
114
  - spec/core/jiak_client_spec.rb
@@ -155,9 +159,12 @@ test_files:
155
159
  - spec/resource/jiak_resource_spec.rb
156
160
  - spec/riakrest_spec.rb
157
161
  - spec/spec_helper.rb
158
- - examples/auto_update_data.rb
162
+ - examples/auto_manage_data.rb
159
163
  - examples/auto_update_links.rb
160
164
  - examples/basic_client.rb
161
165
  - examples/basic_resource.rb
166
+ - examples/basic_resource_pov.rb
167
+ - examples/buoy.rb
168
+ - examples/buoy_pov.rb
162
169
  - examples/example_helper.rb
163
170
  - examples/linked_resources.rb
@@ -1,38 +0,0 @@
1
- require File.dirname(__FILE__) + '/example_helper.rb'
2
-
3
- class People
4
- include JiakResource
5
- server SERVER_URI
6
- jattr_accessor :name, :age
7
- keygen { name }
8
- auto_manage
9
- end
10
-
11
- remy = People.new(:name => 'remy', :age => 10)
12
- puts People.get('remy').name # => "remy"
13
-
14
- remy.name = "Remy"
15
- puts People.get('remy').name # => "Remy"
16
- remy.age = 12
17
- puts People.get('remy').age # => 12
18
-
19
- People.auto_update false
20
- remy.auto_update = true
21
- puts People.get('remy').age # => 12
22
- remy.age = 10
23
- puts People.get('remy').age # => 10
24
-
25
- People.auto_update true
26
- remy.auto_update = false
27
- remy.age = 12
28
- puts People.get('remy').age # => 10
29
- remy.update
30
- puts People.get('remy').age # => 12
31
-
32
- remy.auto_update = nil
33
- remy.age = 10
34
- puts People.get('remy').age # => 10
35
-
36
- remy.delete
37
-
38
-