prefixed_cache_store 0.0.1 → 0.1.1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ae20416193b23bdb080fdbb7ccebbb9eb5912f4
4
- data.tar.gz: 9c88a5ff0f2a52f573f2ed7b1166651547f6b6c3
3
+ metadata.gz: 666a5779f05420890e01fae317d1d9112313d64f
4
+ data.tar.gz: 6d59f1ff6a0718eb973b10c4d0cef7b53b8d5a98
5
5
  SHA512:
6
- metadata.gz: c60c6c9af8e90303dfab957406a6d54a29fe3d5b653f81f5cf841d9897624627dcae7150a2526f965916df82d9c612053a2e0137a02ab75044565a1fdae07e9c
7
- data.tar.gz: 58e34568ae7ee5720af4347280dd73ab95417352cb453eea74469d86db535f68daebafd8f089ee5801886674eefc484e2670ee45c31a74483ab15625ed829d59
6
+ metadata.gz: c637194e6cb2b226facac0d987fc6288cd6b72fa0e40cfebd3f0fd182bd54531bacb59375538e7adc3223d95b0aae0e85fbe81baa8c4bc1373d7c299d1d0cd87
7
+ data.tar.gz: 819cfb4ed6aefab1a2a9899df8e012fe47868ddeac0ff91080639f10314d458a0d1a13bd1a84dd3896fea321420b9cc0844f2e068cc47a34145f74fa97d3bb10
@@ -5,7 +5,7 @@ require 'forwardable'
5
5
  # for the namespace and the version number that can be ratched up to "unlink" all the related keys.
6
6
  # It assumes that the keys are being evicted automatically if they do not get used often.
7
7
  class PrefixedCacheStore
8
- VERSION = '0.0.1'
8
+ VERSION = '0.1.1'
9
9
 
10
10
  RETAIN_PREFIX_FOR_SECONDS = 10
11
11
 
@@ -76,7 +76,12 @@ class PrefixedCacheStore
76
76
  @last_prefix = nil # Then make sure the cached version number will not be used
77
77
  get_and_set_current_version
78
78
  end
79
-
79
+
80
+ # Returns the current version that has been set for this store
81
+ def current_version_number
82
+ get_and_set_current_version
83
+ end
84
+
80
85
  private
81
86
 
82
87
  def bump_version!
@@ -0,0 +1,62 @@
1
+ # Generated by jeweler
2
+ # DO NOT EDIT THIS FILE DIRECTLY
3
+ # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
+ # -*- encoding: utf-8 -*-
5
+ # stub: prefixed_cache_store 0.1.1 ruby lib
6
+
7
+ Gem::Specification.new do |s|
8
+ s.name = "prefixed_cache_store"
9
+ s.version = "0.1.1"
10
+
11
+ s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Julik Tarkhanov"]
14
+ s.date = "2014-10-28"
15
+ s.description = "Allows you to expire parts of your cache separately"
16
+ s.email = "me@julik.nl"
17
+ s.extra_rdoc_files = [
18
+ "LICENSE.txt",
19
+ "README.md"
20
+ ]
21
+ s.files = [
22
+ ".document",
23
+ ".travis.yml",
24
+ "Gemfile",
25
+ "LICENSE.txt",
26
+ "README.md",
27
+ "Rakefile",
28
+ "lib/prefixed_cache_store.rb",
29
+ "prefixed_cache_store.gemspec",
30
+ "spec/prefixed_cache_store_spec.rb",
31
+ "spec/spec_helper.rb"
32
+ ]
33
+ s.homepage = "http://github.com/julik/prefixed_cache_store"
34
+ s.licenses = ["MIT"]
35
+ s.rubygems_version = "2.2.2"
36
+ s.summary = "Namespaced versioned cache wrapper for ActiveSupport"
37
+
38
+ if s.respond_to? :specification_version then
39
+ s.specification_version = 4
40
+
41
+ if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
+ s.add_development_dependency(%q<activesupport>, ["~> 3"])
43
+ s.add_development_dependency(%q<rspec>, ["~> 3.1"])
44
+ s.add_development_dependency(%q<bundler>, ["~> 1.0"])
45
+ s.add_development_dependency(%q<jeweler>, ["~> 2.0.1"])
46
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
47
+ else
48
+ s.add_dependency(%q<activesupport>, ["~> 3"])
49
+ s.add_dependency(%q<rspec>, ["~> 3.1"])
50
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
51
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
52
+ s.add_dependency(%q<simplecov>, [">= 0"])
53
+ end
54
+ else
55
+ s.add_dependency(%q<activesupport>, ["~> 3"])
56
+ s.add_dependency(%q<rspec>, ["~> 3.1"])
57
+ s.add_dependency(%q<bundler>, ["~> 1.0"])
58
+ s.add_dependency(%q<jeweler>, ["~> 2.0.1"])
59
+ s.add_dependency(%q<simplecov>, [">= 0"])
60
+ end
61
+ end
62
+
@@ -79,6 +79,7 @@ describe PrefixedCacheStore do
79
79
  it 'performs multi-reads' do
80
80
  some_store = ActiveSupport::Cache::MemoryStore.new
81
81
  subject = described_class.new(some_store, 'pre')
82
+ expect(subject.current_version_number).to eq(0)
82
83
 
83
84
  subject.write('record1', 'John')
84
85
  subject.write('record2', 'Jake')
@@ -90,6 +91,7 @@ describe PrefixedCacheStore do
90
91
  expect(some_store.read("pre-0-record1")).to eq('John')
91
92
  expect(some_store.read("pre-0-record2")).to eq('Jake')
92
93
  expect(some_store.read("pre-0-record3")).to eq('Mary')
94
+
93
95
  end
94
96
  end
95
97
 
@@ -98,6 +100,8 @@ describe PrefixedCacheStore do
98
100
  some_store = ActiveSupport::Cache::MemoryStore.new
99
101
  subject = described_class.new(some_store, 'pre')
100
102
 
103
+ expect(subject.current_version_number).to eq(0)
104
+
101
105
  subject.write('record1', 'John')
102
106
  expect(subject.read('record1')).to eq('John')
103
107
 
@@ -109,6 +113,8 @@ describe PrefixedCacheStore do
109
113
  subject.write('record1', 'Jake')
110
114
  expect(subject.read('record1')).to eq('Jake')
111
115
 
116
+
117
+ expect(subject.current_version_number).to eq(1)
112
118
  expect(some_store.read("pre-version")).to eq(1)
113
119
  expect(some_store.read("pre-0-record1")).to eq('John')
114
120
  expect(some_store.read("pre-1-record1")).to eq('Jake')
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: prefixed_cache_store
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.1.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Julik Tarkhanov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-10-26 00:00:00.000000000 Z
11
+ date: 2014-10-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -95,6 +95,7 @@ files:
95
95
  - README.md
96
96
  - Rakefile
97
97
  - lib/prefixed_cache_store.rb
98
+ - prefixed_cache_store.gemspec
98
99
  - spec/prefixed_cache_store_spec.rb
99
100
  - spec/spec_helper.rb
100
101
  homepage: http://github.com/julik/prefixed_cache_store