nomo 0.0.33 → 0.0.34

Sign up to get free protection for your applications and to get access to all the features.
data/lib/nomo/model.rb CHANGED
@@ -19,7 +19,15 @@ module Nomo
19
19
  end
20
20
 
21
21
  def cache_key
22
- "#{super}.#{updated_at.to_f.to_s.split('.')[1]}"
22
+ case
23
+ when new_record?
24
+ "#{self.class.model_name.cache_key}/new"
25
+ when timestamp = self[:updated_at]
26
+ timestamp = timestamp.to_f
27
+ "#{self.class.model_name.cache_key}/#{id}-#{timestamp}"
28
+ else
29
+ "#{self.class.model_name.cache_key}/#{id}"
30
+ end
23
31
  end
24
32
 
25
33
  module ClassMethods
data/lib/nomo/page.rb CHANGED
@@ -9,12 +9,12 @@ module Nomo
9
9
  end
10
10
 
11
11
  def etag
12
- @etag ||= Digest::MD5.hexdigest("#{key}/#{last_modified}")
12
+ @etag ||= Digest::MD5.hexdigest("#{key}/#{last_modified.to_f}")
13
13
  end
14
14
 
15
15
  def last_modified
16
16
  if @last_modified.nil? && redis_last_modified = redis.get(key)
17
- @last_modified = redis_value_to_time(redis_last_modified)
17
+ @last_modified = Time.at(redis_last_modified.to_f).utc
18
18
  elsif @last_modified.nil?
19
19
  modify(publish: false)
20
20
  end
@@ -26,7 +26,7 @@ module Nomo
26
26
  @etag = nil
27
27
  @last_modified = Time.now.utc
28
28
 
29
- redis.set(key, time_to_redis_value(last_modified))
29
+ redis.set(key, last_modified.to_f)
30
30
  Nomo.publish_update(key) unless options[:publish].eql?(false) || !realtime?
31
31
  end
32
32
 
@@ -53,13 +53,5 @@ module Nomo
53
53
  def logger
54
54
  Nomo.logger
55
55
  end
56
-
57
- def time_to_redis_value(time)
58
- time.to_f.to_s
59
- end
60
-
61
- def redis_value_to_time(redis_value)
62
- Time.at(redis_value.to_f).utc
63
- end
64
56
  end
65
57
  end
data/lib/nomo/version.rb CHANGED
@@ -1,3 +1,3 @@
1
1
  module Nomo
2
- VERSION = "0.0.33"
2
+ VERSION = "0.0.34"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: nomo
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.33
4
+ version: 0.0.34
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,11 +9,11 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-07-16 00:00:00.000000000 Z
12
+ date: 2012-07-17 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: redis
16
- requirement: &70112842321420 !ruby/object:Gem::Requirement
16
+ requirement: &70168458396220 !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
19
  - - ! '>='
@@ -21,10 +21,10 @@ dependencies:
21
21
  version: '0'
22
22
  type: :runtime
23
23
  prerelease: false
24
- version_requirements: *70112842321420
24
+ version_requirements: *70168458396220
25
25
  - !ruby/object:Gem::Dependency
26
26
  name: redis-namespace
27
- requirement: &70112842321000 !ruby/object:Gem::Requirement
27
+ requirement: &70168458395800 !ruby/object:Gem::Requirement
28
28
  none: false
29
29
  requirements:
30
30
  - - ! '>='
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: '0'
33
33
  type: :runtime
34
34
  prerelease: false
35
- version_requirements: *70112842321000
35
+ version_requirements: *70168458395800
36
36
  description: 304 Not Modified Headers made easy.
37
37
  email:
38
38
  - sausman@stackd.com