cachetastic 1.2.7.1 → 1.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -71,15 +71,7 @@ class Cachetastic::Adapters::File < Cachetastic::Adapters::Base
71
71
  def get_key_directoy(key, mkdir = true)
72
72
  hkey = self.hashed_keys[key.to_sym]
73
73
  if hkey.nil?
74
- hkey = key.to_s.hexdigest.hash
75
- hkey = hkey * -1 if hkey < 0
76
- hkey = hkey.to_s
77
- i = 0
78
- path = self.directory
79
- until i == hkey.length do
80
- path = File.join(path, hkey[i..i])
81
- i += 1
82
- end
74
+ path = File.join(self.directory, Cachetastic::Helpers::FileUtils.directory_from_key(key))
83
75
  self.hashed_keys[key.to_sym] = path
84
76
  hkey = path
85
77
  end
@@ -74,15 +74,7 @@ class Cachetastic::Adapters::HtmlFile < Cachetastic::Adapters::Base
74
74
  def get_key_directoy(key, mkdir = true)
75
75
  hkey = self.hashed_keys[key.to_sym]
76
76
  if hkey.nil?
77
- hkey = key.to_s.hexdigest.hash
78
- hkey = hkey * -1 if hkey < 0
79
- hkey = hkey.to_s
80
- i = 0
81
- path = self.directory
82
- until i == hkey.length do
83
- path = File.join(path, hkey[i..i])
84
- i += 1
85
- end
77
+ path = File.join(self.directory, Cachetastic::Helpers::FileUtils.directory_from_key(key))
86
78
  self.hashed_keys[key.to_sym] = path
87
79
  hkey = path
88
80
  end
@@ -109,9 +101,9 @@ class Cachetastic::Adapters::HtmlFile < Cachetastic::Adapters::Base
109
101
  end
110
102
 
111
103
  def store_object_to_html(so)
112
- x = "<!-- cachetastic: expires_at: #{so.expires_at} -->\n"
113
- x << "<!-- cachetastic: key: #{so.key} -->\n"
114
- x << so.value
104
+ x = so.value
105
+ x << "\n<!-- cachetastic: expires_at: #{so.expires_at} -->"
106
+ x << "\n<!-- cachetastic: key: #{so.key} -->"
115
107
  end
116
108
 
117
109
  STORE_FILE_NAME = "index.html"
data/lib/cachetastic.rb CHANGED
@@ -31,6 +31,7 @@ require 'caches/cachetastic_caches_page_cache'
31
31
  require 'caches/cachetastic_caches_rails_session_cache'
32
32
  require 'caches/cachetastic_caches_mack_session_cache'
33
33
  require 'errors/cachetastic_errors_unsupported_adapter'
34
+ require 'helpers/cachetastic_helpers_file_utils'
34
35
  require 'adapters/cachetastic_adapters_base'
35
36
  require 'adapters/cachetastic_adapters_store_object'
36
37
  require 'adapters/cachetastic_adapters_memcache'
@@ -0,0 +1,22 @@
1
+ require 'digest/md5'
2
+ require 'base64'
3
+
4
+ module Cachetastic
5
+ module Helpers
6
+ module FileUtils
7
+
8
+ def self.directory_from_key(key)
9
+ hkey = Base64.encode64(Digest::MD5.digest(key))
10
+ hkey.gsub!("==\n", "")
11
+ i = 0
12
+ path = ""
13
+ until i >= hkey.length do
14
+ path = File.join(path, hkey[i..i+2])
15
+ i += 3
16
+ end
17
+ path
18
+ end
19
+
20
+ end # FileUtils
21
+ end # Helpers
22
+ end # Cachetastic
@@ -2,4 +2,4 @@
2
2
  gem_name: cachetastic
3
3
  package: cachetastic
4
4
  project: magrathea
5
- version: 1.2.7.1
5
+ version: 1.3.0
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: cachetastic
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.7.1
4
+ version: 1.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - markbates
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2008-02-18 00:00:00 -05:00
13
+ date: 2008-02-27 00:00:00 -05:00
14
14
  default_executable:
15
15
  dependencies: []
16
16
 
@@ -40,6 +40,7 @@ files:
40
40
  - lib/cachetastic_logger.rb
41
41
  - lib/errors/cachetastic_errors_unsupported_adapter.rb
42
42
  - lib/helpers/cachetastic_helpers_active_record.rb
43
+ - lib/helpers/cachetastic_helpers_file_utils.rb
43
44
  - lib/rails_extensions/cachetastic_active_record_base.rb
44
45
  - lib/rails_extensions/cgi_session_cachetastic_store.rb
45
46
  - lib/tasks/rubyforge_config.yml