redis_object 1.2.2 → 1.2.3

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,15 +1,15 @@
1
1
  ---
2
2
  !binary "U0hBMQ==":
3
3
  metadata.gz: !binary |-
4
- OGRkODFlNTE1NmI1NDI0Njc0MjQxMzlmNTFiOTA0MGViZWMzYWNjMQ==
4
+ YzUwMjBmYTE3ZDljZGMxMmE4MzBlNmQ5ZDQxNmUxNTAyMDU0ZGEzZA==
5
5
  data.tar.gz: !binary |-
6
- MDdhZDJiZmZkYWZjNzg2ZmIxOGY0NDFjNjRkY2RkOTIzMDZhYTQwOA==
6
+ ZjRkOTMzMzI0ZGMwOWY1NDY0ZWUzMjg4ODhjZjc5NjVlYWRjNjY5Mw==
7
7
  !binary "U0hBNTEy":
8
8
  metadata.gz: !binary |-
9
- YzE0YWQxNjYxNjM4YjExNTAwNjZiMzM5OTliNzkyYTljYTRjYjAzMTMyOTg3
10
- M2JkOTBlMThhZGVjNDM5ZjA5NjFmMWY1NTkzMDAyNTkxMzFhYzJmNjhhNGJk
11
- YTk3Yjk1YzY0MzRiMWRmOTQ5ZDdjMGVmMThkNmMwMmI1Nzk5NzE=
9
+ Yjk2NWJhOGNlZTQ3ZWVkYzAzMTJkNDZmMTA0NDA1ZDNmN2Y3MmJkMGNjMWIw
10
+ MzMzZmU1NTc1MmZkMTkzYTdlMDgzZjNkMGVlOGNhMzZiOWY4YjQ2YTVlNjVj
11
+ YjAxOTNkMGY0NTgwZWE2MWZkNDk5Yzk4NTcxMzA1ZjUzM2Y2NWM=
12
12
  data.tar.gz: !binary |-
13
- YzRhNjY2MjEzYzQ3MjY5OTAxYzcxYjU1MzA5ZmQ4ZGVkNTRlMGU0ZTgxOWIy
14
- ZGY5NWNlZTQxNGJhYzFlZTkwYmE2ZTU0MGExYWU4ZDFjODdmYjI1ZGVjYzYx
15
- YzU1NzdhYTI2NzA1MDNkNTZkYTIzMDFiMGU5YTQ2ODc0ZDRhZTE=
13
+ NWYyMmYxNzk2ZGJiYTQxOTYxYTM3NmNkOTg2MzY2NDJhNDFlOTUxNzQwZWMy
14
+ YmU3MTMyZDA4M2Y2N2QxMmI3OGQ3OWRhYjIyNDA2OTIzYTMxMjhlMWFhNWFm
15
+ MzNhOGRhMWRjN2MxMzQ4YWE1ODRlZTVkNTRhOGE2YmQ1ZDA4YWE=
data/Gemfile CHANGED
@@ -1,8 +1,10 @@
1
1
  source "http://rubygems.org"
2
2
 
3
- gem 'rake'
4
- gem 'rspec'
5
- gem 'coveralls', require: false
3
+ group :test do
4
+ gem 'rake'
5
+ gem 'rspec'
6
+ gem 'coveralls', require: false
7
+ end
6
8
 
7
9
  # Specify your gem's dependencies in redis_object.gemspec
8
10
  gemspec
data/lib/redis_object.rb CHANGED
@@ -33,12 +33,12 @@ module Seabright
33
33
  include Seabright::Types
34
34
  include Seabright::DefaultValues
35
35
  include Seabright::Collections
36
+ include Seabright::Triggers
36
37
  include Seabright::Indices
37
38
  include Seabright::Views
38
39
  include Seabright::ViewCaching
39
40
  include Seabright::Timestamps
40
41
  include Seabright::History
41
- include Seabright::Triggers
42
42
  include Seabright::Benchmark
43
43
 
44
44
  end
@@ -177,10 +177,10 @@ module Seabright
177
177
  super if sym == :class
178
178
  if sym.to_s =~ SetPattern
179
179
  return super if args.size > 1
180
- set(sym.to_s.gsub(SetPattern,'').to_sym,*args)
180
+ send(:set,sym.to_s.gsub(SetPattern,'').to_sym,*args)
181
181
  else
182
182
  return super if !args.empty?
183
- get(sym)
183
+ send(:get,sym)
184
184
  end
185
185
  end
186
186
 
@@ -34,8 +34,6 @@ module Seabright
34
34
 
35
35
  def cache_view(name,opts=true)
36
36
  cached_views[name.to_sym] = opts
37
- intercept_views_for_caching!
38
- set_up_invalidation!
39
37
  end
40
38
  alias_method :cache_named_view, :cache_view
41
39
 
@@ -175,7 +173,27 @@ module Seabright
175
173
  end
176
174
  end
177
175
 
178
- trigger_on_update :invalidated_by_update!
176
+ def invalidated_by(obj,chain)
177
+ invalidate_cached_views!
178
+ end
179
+
180
+ def invalidated_set(cmd,k,v)
181
+ ret = send("uninvalidated_#{cmd}".to_sym,k,v)
182
+ invalidated_by_update!
183
+ ret
184
+ end
185
+
186
+ alias_method :uninvalidated_set, :set unless method_defined?(:uninvalidated_set)
187
+ def set(k,v)
188
+ invalidated_set(:set,k,v)
189
+ end
190
+
191
+ alias_method :uninvalidated_setnx, :setnx unless method_defined?(:uninvalidated_setnx)
192
+ def setnx(k,v)
193
+ invalidated_set(:setnx,k,v)
194
+ end
195
+
196
+ # trigger_on_update :invalidated_by_update!
179
197
  trigger_on_reference :invalidated_by_reference!
180
198
 
181
199
  end
@@ -202,7 +220,6 @@ module Seabright
202
220
 
203
221
  def invalidate_upstream(*args)
204
222
  @upstream_invalidations = (@upstream_invalidations || []) + args
205
- set_up_invalidation!
206
223
  end
207
224
 
208
225
  def upstream_invalidations
@@ -219,7 +236,6 @@ module Seabright
219
236
 
220
237
  def invalidate_downstream(*args)
221
238
  @downstream_invalidations = (@downstream_invalidations || []) + args
222
- set_up_invalidation!
223
239
  end
224
240
 
225
241
  def downstream_invalidations
@@ -252,6 +268,8 @@ module Seabright
252
268
 
253
269
  def self.included(base)
254
270
  base.extend(ClassMethods)
271
+ base.intercept_views_for_caching!
272
+ base.set_up_invalidation!
255
273
  end
256
274
 
257
275
  end
@@ -1,5 +1,5 @@
1
1
  module Seabright
2
2
  class RedisObject
3
- VERSION = "1.2.2"
3
+ VERSION = "1.2.3"
4
4
  end
5
5
  end
@@ -26,9 +26,9 @@ module ScriptCacheSpec
26
26
  GenericObject.recently_created.first.id.should eq("5")
27
27
  GenericObject.indexed(:created_at,-1,false).to_a.last.id.should eq("4")
28
28
 
29
- $ScriptSHAMap.keys.count.should eq(1)
29
+ cnt = $ScriptSHAMap.keys.count
30
30
  RedisObject.untrack_script :RevScript
31
- $ScriptSHAMap.keys.count.should eq(0)
31
+ $ScriptSHAMap.keys.count.should eq(cnt-1)
32
32
 
33
33
  end
34
34
 
@@ -34,7 +34,7 @@ module ViewCachingSpec
34
34
 
35
35
  class Container < RedisObject
36
36
 
37
- invalidate_downstream :TypedObject
37
+ invalidate_downstream :typed_objects
38
38
 
39
39
  end
40
40
 
@@ -96,9 +96,9 @@ module ViewCachingSpec
96
96
  @obj.view_is_cached?(:aggregated).should eq(true)
97
97
 
98
98
  @obj.set(:demolisher, "smash")
99
- #
100
- # @obj.view_is_cached?(:aggregated).should eq(false)
99
+ sleep 1
101
100
 
101
+ @obj.view_is_cached?(:aggregated).should eq(false)
102
102
 
103
103
  end
104
104
 
@@ -109,20 +109,18 @@ module ViewCachingSpec
109
109
  @obj.view_is_cached?(:aggregated).should eq(true)
110
110
 
111
111
  @baby.set(:demolisher, "smash")
112
+ sleep 1
112
113
 
113
- # sleep 1
114
- #
115
- # TypedObject.find(@obj.id).view_is_cached?(:aggregated).should eq(false)
114
+ TypedObject.find(@obj.id).view_is_cached?(:aggregated).should eq(false)
116
115
 
117
116
  @obj.view_as_hash(:aggregated).should be_a(Hash)
118
117
 
119
118
  @obj.view_is_cached?(:aggregated).should eq(true)
120
119
 
121
120
  @dad.set(:demolisher, "smash")
121
+ sleep 1
122
122
 
123
- # sleep 1
124
- #
125
- # TypedObject.find(@obj.id).view_is_cached?(:aggregated).should eq(false)
123
+ TypedObject.find(@obj.id).view_is_cached?(:aggregated).should eq(false)
126
124
 
127
125
  end
128
126
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: redis_object
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - John Bragg