kasket 1.0.3.beta1 → 1.0.3.beta2
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.
- data/README.rdoc +1 -1
- data/lib/kasket.rb +2 -2
- data/lib/kasket/configuration_mixin.rb +1 -1
- data/test/configuration_mixin_test.rb +15 -9
- metadata +5 -7
data/README.rdoc
CHANGED
data/lib/kasket.rb
CHANGED
@@ -37,7 +37,7 @@ module Kasket
|
|
37
37
|
key = attribute_value_pairs.map do |attribute, value|
|
38
38
|
column = columns_hash[attribute.to_s]
|
39
39
|
value = nil if value.blank?
|
40
|
-
attribute.to_s + '=' + connection.quote(column.type_cast(value), column)
|
40
|
+
attribute.to_s + '=' + connection.quote(column.type_cast(value), column).downcase
|
41
41
|
end.join('/')
|
42
42
|
|
43
43
|
if key.size > (250 - kasket_key_prefix.size) || key =~ /\s/
|
@@ -2,28 +2,34 @@ require File.expand_path("helper", File.dirname(__FILE__))
|
|
2
2
|
require "digest/md5"
|
3
3
|
|
4
4
|
class ConfigurationMixinTest < ActiveSupport::TestCase
|
5
|
-
|
5
|
+
|
6
6
|
context "Generating cache keys" do
|
7
|
-
|
8
|
-
should "not choke on empty numeric attributes" do
|
9
|
-
expected_cache_key = "kasket-#{Kasket::Version::STRING}/posts/version=3558/blog_id=
|
7
|
+
|
8
|
+
should "not choke on empty numeric attributes" do
|
9
|
+
expected_cache_key = "kasket-#{Kasket::Version::STRING}/posts/version=3558/blog_id=null"
|
10
10
|
query_attributes = [ [:blog_id, ''] ]
|
11
|
-
|
11
|
+
|
12
12
|
assert_equal expected_cache_key, Post.kasket_key_for(query_attributes)
|
13
13
|
end
|
14
14
|
|
15
15
|
should "not generate keys longer that 255" do
|
16
16
|
very_large_number = (1..999).to_a.join
|
17
17
|
query_attributes = [ [:blog_id, very_large_number] ]
|
18
|
-
|
18
|
+
|
19
19
|
assert(Post.kasket_key_for(query_attributes).size < 255)
|
20
20
|
end
|
21
21
|
|
22
22
|
should "not generate keys with spaces" do
|
23
23
|
query_attributes = [ [:title, 'this key has speces'] ]
|
24
|
-
|
24
|
+
|
25
25
|
assert(!(Post.kasket_key_for(query_attributes) =~ /\s/))
|
26
26
|
end
|
27
|
+
|
28
|
+
should "downcase string attributes" do
|
29
|
+
query_attributes = [ [:title, 'ThIs'] ]
|
30
|
+
expected_cache_key = "kasket-#{Kasket::Version::STRING}/posts/version=3558/title='this'"
|
31
|
+
|
32
|
+
assert_equal expected_cache_key, Post.kasket_key_for(query_attributes)
|
33
|
+
end
|
27
34
|
end
|
28
|
-
|
29
|
-
end
|
35
|
+
end
|
metadata
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: kasket
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: -3005910022
|
5
5
|
prerelease: 6
|
6
6
|
segments:
|
7
7
|
- 1
|
8
8
|
- 0
|
9
9
|
- 3
|
10
10
|
- beta
|
11
|
-
-
|
12
|
-
version: 1.0.3.
|
11
|
+
- 2
|
12
|
+
version: 1.0.3.beta2
|
13
13
|
platform: ruby
|
14
14
|
authors:
|
15
15
|
- Mick Staugaard
|
@@ -18,8 +18,7 @@ autorequire:
|
|
18
18
|
bindir: bin
|
19
19
|
cert_chain: []
|
20
20
|
|
21
|
-
date:
|
22
|
-
default_executable:
|
21
|
+
date: 2012-03-13 00:00:00 Z
|
23
22
|
dependencies:
|
24
23
|
- !ruby/object:Gem::Dependency
|
25
24
|
name: activerecord
|
@@ -158,7 +157,6 @@ files:
|
|
158
157
|
- test/read_mixin_test.rb
|
159
158
|
- test/test_models.rb
|
160
159
|
- test/transaction_test.rb
|
161
|
-
has_rdoc: true
|
162
160
|
homepage: http://github.com/staugaard/kasket
|
163
161
|
licenses: []
|
164
162
|
|
@@ -190,7 +188,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
190
188
|
requirements: []
|
191
189
|
|
192
190
|
rubyforge_project:
|
193
|
-
rubygems_version: 1.
|
191
|
+
rubygems_version: 1.8.17
|
194
192
|
signing_key:
|
195
193
|
specification_version: 3
|
196
194
|
summary: A write back caching layer on active record
|