lru-cacher 1.3.5 → 1.3.6

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: cc7e12137a036160e14431fe97760a9c0880c6b8
4
- data.tar.gz: c4c587836cd9045a4f2cbaaac6b0b761c62fc9aa
3
+ metadata.gz: 44daf7c9f5110dd1173318feefb2a8e4bc298c20
4
+ data.tar.gz: 8ce2285a1b06a565ad5b15b6e951033c4b0b8992
5
5
  SHA512:
6
- metadata.gz: f2a512ea52d962c7f4c4325c1997eb5d92f4f9e975819b3a40b2adf739f6d0be867134c18cc280dc42bed44a6540a26c2d85dcb2319308b9c1c6d777d9faa369
7
- data.tar.gz: 88303fb1fbfa437f18d2e66ca93ddbb078c34cecbbe988955b82d6c04678a84ed4f62effc186b14754f2f4afe194f14b222146b5402a07f74f6c06634677575e
6
+ metadata.gz: a0a8c0a6738a80f9d62832a3458ba939d126c4a3f955acc15ec994f46c2988773bc2624ff43e3c2e12897da805059d2bb51978f360988615bd6df8935a0140b7
7
+ data.tar.gz: cd50abfc92997b01870c773ba1b0855bbc96572aef1969472464ef70bef9bae0fb143c2e2f386e4b70ada3943a0edbc0a9916a505f318d6f8ac5b7e9259ab641
@@ -1,3 +1,3 @@
1
1
  class LRUCacher
2
- VERSION = '1.3.5'
2
+ VERSION = '1.3.6'
3
3
  end
data/lib/lru-cacher.rb CHANGED
@@ -8,12 +8,16 @@ class LRUCacher
8
8
  end
9
9
 
10
10
  def set(key, value)
11
- new_node = LRUCacher::Node.new(value, key, @tail, nil)
12
- @head = new_node unless @tail
13
- @tail.next_node = new_node if @tail
14
- @tail = new_node
15
- @table[key] = new_node
16
- delete(@head.key) if @head && over_threshold?
11
+ if exists?(key)
12
+ @table[key].value = value
13
+ else
14
+ new_node = LRUCacher::Node.new(value, key, @tail, nil)
15
+ @head = new_node unless @tail
16
+ @tail.next_node = new_node if @tail
17
+ @tail = new_node
18
+ @table[key] = new_node
19
+ delete(@head.key) if @head && over_threshold?
20
+ end
17
21
  end
18
22
 
19
23
  def exists?(key)
@@ -44,8 +48,8 @@ class LRUCacher
44
48
  @tail.next_node = current_node
45
49
  @tail = current_node
46
50
  end
47
- current_node
48
51
  end
52
+ current_node
49
53
  end
50
54
 
51
55
  def delete(key)
metadata CHANGED
@@ -1,80 +1,80 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: lru-cacher
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.5
4
+ version: 1.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Manther
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2016-06-09 00:00:00.000000000 Z
11
+ date: 2016-06-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
- name: bundler
15
14
  requirement: !ruby/object:Gem::Requirement
16
15
  requirements:
17
16
  - - '>='
18
17
  - !ruby/object:Gem::Version
19
18
  version: '0'
20
- type: :development
19
+ name: bundler
21
20
  prerelease: false
21
+ type: :development
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - '>='
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
27
  - !ruby/object:Gem::Dependency
28
- name: rake
29
28
  requirement: !ruby/object:Gem::Requirement
30
29
  requirements:
31
30
  - - ~>
32
31
  - !ruby/object:Gem::Version
33
32
  version: '10.0'
34
- type: :development
33
+ name: rake
35
34
  prerelease: false
35
+ type: :development
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - ~>
39
39
  - !ruby/object:Gem::Version
40
40
  version: '10.0'
41
41
  - !ruby/object:Gem::Dependency
42
- name: rspec
43
42
  requirement: !ruby/object:Gem::Requirement
44
43
  requirements:
45
44
  - - '>='
46
45
  - !ruby/object:Gem::Version
47
46
  version: '0'
48
- type: :development
47
+ name: rspec
49
48
  prerelease: false
49
+ type: :development
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - '>='
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
55
  - !ruby/object:Gem::Dependency
56
- name: simplecov
57
56
  requirement: !ruby/object:Gem::Requirement
58
57
  requirements:
59
58
  - - ~>
60
59
  - !ruby/object:Gem::Version
61
60
  version: 0.10.0
62
- type: :development
61
+ name: simplecov
63
62
  prerelease: false
63
+ type: :development
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - ~>
67
67
  - !ruby/object:Gem::Version
68
68
  version: 0.10.0
69
69
  - !ruby/object:Gem::Dependency
70
- name: simplecov-rcov
71
70
  requirement: !ruby/object:Gem::Requirement
72
71
  requirements:
73
72
  - - ~>
74
73
  - !ruby/object:Gem::Version
75
74
  version: 0.2.3
76
- type: :development
75
+ name: simplecov-rcov
77
76
  prerelease: false
77
+ type: :development
78
78
  version_requirements: !ruby/object:Gem::Requirement
79
79
  requirements:
80
80
  - - ~>
@@ -106,7 +106,7 @@ homepage: https://github.com/Manther/lru-cache
106
106
  licenses:
107
107
  - MIT
108
108
  metadata: {}
109
- post_install_message:
109
+ post_install_message:
110
110
  rdoc_options: []
111
111
  require_paths:
112
112
  - lib
@@ -121,9 +121,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  - !ruby/object:Gem::Version
122
122
  version: '0'
123
123
  requirements: []
124
- rubyforge_project:
125
- rubygems_version: 2.0.14.1
126
- signing_key:
124
+ rubyforge_project:
125
+ rubygems_version: 2.4.8
126
+ signing_key:
127
127
  specification_version: 4
128
128
  summary: LRU Caching gem.
129
129
  test_files: []
130
+ has_rdoc: