fifo-cache 0.1.1 → 0.1.2

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: a984c0e92c7e6056b233c82e00a714ec8fa7f468
4
+ data.tar.gz: e1a97f47decbc910a4d878b93735e6b3591ba501
5
+ SHA512:
6
+ metadata.gz: 32c2f2b81fa9fe64cab34640cfd25ca149182b1f6378d0c237501ead5a4f2668aeb4b69c62fc5ce118c962a446e1205079f7dace3b75ea36f240f909dfca3936
7
+ data.tar.gz: f1a5a30752fc568ccdf5e1321eee4d2abe0c8c4114c8f67c5864097ff72bd3deeda57ca285aa69c9ea48d9202f5ff6a0555e6a4bb5fe365ec6205ee7650f95e1
data/Gemfile CHANGED
@@ -1,8 +1,8 @@
1
1
  source "http://rubygems.org"
2
+
2
3
  # Add dependencies required to use your gem here.
3
4
  # Example:
4
5
  gem "depq", ">= 0.4"
5
- gem "hash-utils", ">= 0.7.0"
6
6
 
7
7
  # Add dependencies to develop your gem here.
8
8
  # Include everything needed to run rake, tests, features, etc.
@@ -1,52 +1,50 @@
1
1
  GEM
2
2
  remote: http://rubygems.org/
3
3
  specs:
4
- addressable (2.3.5)
4
+ addressable (2.3.8)
5
5
  builder (3.2.2)
6
- depq (0.6)
7
- faraday (0.8.8)
8
- multipart-post (~> 1.2.0)
9
- git (1.2.6)
10
- github_api (0.10.1)
11
- addressable
12
- faraday (~> 0.8.1)
13
- hashie (>= 1.2)
14
- multi_json (~> 1.4)
15
- nokogiri (~> 1.5.2)
6
+ depq (0.7)
7
+ descendants_tracker (0.0.4)
8
+ thread_safe (~> 0.3, >= 0.3.1)
9
+ faraday (0.9.1)
10
+ multipart-post (>= 1.2, < 3)
11
+ git (1.2.9.1)
12
+ github_api (0.12.3)
13
+ addressable (~> 2.3)
14
+ descendants_tracker (~> 0.0.4)
15
+ faraday (~> 0.8, < 0.10)
16
+ hashie (>= 3.3)
17
+ multi_json (>= 1.7.5, < 2.0)
18
+ nokogiri (~> 1.6.3)
16
19
  oauth2
17
- hash-utils (2.1.2)
18
- ruby-version (>= 0.4.0)
19
- hashie (2.0.5)
20
- highline (1.6.19)
21
- httpauth (0.2.0)
22
- jeweler (1.8.8)
20
+ hashie (3.4.2)
21
+ highline (1.7.2)
22
+ jeweler (2.0.1)
23
23
  builder
24
- bundler (~> 1.0)
24
+ bundler (>= 1.0)
25
25
  git (>= 1.2.5)
26
- github_api (= 0.10.1)
26
+ github_api
27
27
  highline (>= 1.6.15)
28
- nokogiri (= 1.5.10)
28
+ nokogiri (>= 1.5.10)
29
29
  rake
30
30
  rdoc
31
- json (1.8.0)
32
- jwt (0.1.8)
33
- multi_json (>= 1.5)
34
- multi_json (1.8.2)
31
+ jwt (1.5.1)
32
+ mini_portile (0.6.2)
33
+ multi_json (1.11.2)
35
34
  multi_xml (0.5.5)
36
- multipart-post (1.2.0)
37
- nokogiri (1.5.10)
38
- oauth2 (0.9.2)
39
- faraday (~> 0.8)
40
- httpauth (~> 0.2)
41
- jwt (~> 0.1.4)
42
- multi_json (~> 1.0)
35
+ multipart-post (2.0.0)
36
+ nokogiri (1.6.6.2)
37
+ mini_portile (~> 0.6.0)
38
+ oauth2 (1.0.0)
39
+ faraday (>= 0.8, < 0.10)
40
+ jwt (~> 1.0)
41
+ multi_json (~> 1.3)
43
42
  multi_xml (~> 0.5)
44
43
  rack (~> 1.2)
45
- rack (1.5.2)
46
- rake (10.1.0)
47
- rdoc (4.0.1)
48
- json (~> 1.4)
49
- ruby-version (0.4.3)
44
+ rack (1.6.4)
45
+ rake (10.4.2)
46
+ rdoc (4.2.0)
47
+ thread_safe (0.3.5)
50
48
 
51
49
  PLATFORMS
52
50
  ruby
@@ -54,5 +52,7 @@ PLATFORMS
54
52
  DEPENDENCIES
55
53
  bundler (>= 1.0.0)
56
54
  depq (>= 0.4)
57
- hash-utils (>= 0.7.0)
58
55
  jeweler (>= 1.5.2)
56
+
57
+ BUNDLED WITH
58
+ 1.10.5
@@ -1,5 +1,4 @@
1
- Copyright (c) 2010 - 2013 Martin Kozák (martinkozak@martinkozak.net)
2
- (c) 2013 Martin Poljak (martin@poljak.cz)
1
+ Copyright (c) 2010 - 2015 Martin Poljak (martin@poljak.cz)
3
2
 
4
3
  Permission is hereby granted, free of charge, to any person obtaining
5
4
  a copy of this software and associated documentation files (the
data/README.md CHANGED
@@ -23,28 +23,34 @@ higher than 1 according dynamics of your application.
23
23
 
24
24
  Usage is simple (examples here are for demonstration purposes written
25
25
  without factor set):
26
-
27
- require "fifocache"
28
-
29
- cache = Fifocache::new(3, :puts => true) # or 300000, od sure :-)
30
- cache[:alfa] = 'alfa'
31
- cache[:beta] = 'beta'
32
- cache[:gama] = 'gama'
33
- cache[:delta] = 'delta' # in this moment, :alfa is removed
26
+
27
+ ```ruby
28
+ require "fifocache"
29
+
30
+ cache = Fifocache::new(3, :puts => true) # or 300000, od sure :-)
31
+ cache[:alfa] = 'alfa'
32
+ cache[:beta] = 'beta'
33
+ cache[:gama] = 'gama'
34
+ cache[:delta] = 'delta' # in this moment, :alfa is removed
35
+ ```
34
36
 
35
37
  But multiple addings are tracked, so subsequent call:
36
38
 
37
- cache[:beta] = 'beta' # :beta, :gama, :delta in cache
38
- cache[:alfa] = 'alfa' # :beta, :delta, :alfa in cache
39
-
39
+ ```ruby
40
+ cache[:beta] = 'beta' # :beta, :gama, :delta in cache
41
+ cache[:alfa] = 'alfa' # :beta, :delta, :alfa in cache
42
+ ```
43
+
40
44
  …will cause `:gama` will be removed, not `:beta` because `:beta` is
41
45
  fresher now. If hits tracking is turned on:
42
46
 
43
- cache.hits = true # you can do it in costructor too
44
-
45
- puts cache[:delta] # cache hit
46
- cache[:gama] = 'gama' # :beta, :delta, :gama in cache
47
-
47
+ ```ruby
48
+ cache.hits = true # you can do it in constructor too
49
+
50
+ puts cache[:delta] # cache hit
51
+ cache[:gama] = 'gama' # :beta, :delta, :gama in cache
52
+ ```
53
+
48
54
  …because `:beta` has been put-in two times, `:delta` has been hit
49
55
  recently, so `:alfa` is less accessed row and has been removed. In case
50
56
  of hits tracking turned off, `:delta` would be removed of sure and
@@ -55,24 +61,12 @@ is generally rather slow because of necessity to remove all redundant
55
61
  "oldest" rows.
56
62
 
57
63
 
58
- Contributing
59
- ------------
60
-
61
- 1. Fork it.
62
- 2. Create a branch (`git checkout -b 20101220-my-change`).
63
- 3. Commit your changes (`git commit -am "Added something"`).
64
- 4. Push to the branch (`git push origin 20101220-my-change`).
65
- 5. Create an [Issue][2] with a link to your branch.
66
- 6. Enjoy a refreshing Diet Coke and wait.
67
-
68
-
69
64
  Copyright
70
65
  ---------
71
66
 
72
- Copyright &copy; 2010-2013 [Martin Kozák][3], &copy; 2013 [Martin Poljak][4].
67
+ Copyright &copy; 2010 &ndash; 2015 [Martin Poljak][3].
73
68
  See `LICENSE.txt` for further details.
74
69
 
75
70
  [1]: http://www.cs.princeton.edu/courses/archive/spr09/cos423/Lectures/i-heaps.pdf
76
71
  [2]: http://github.com/martinkozak/fifo-cache/issues
77
- [3]: http://www.martinkozak.net/
78
- [4]: http://www.martinpoljak.net/
72
+ [3]: http://www.martinpoljak.net/
data/Rakefile CHANGED
@@ -17,8 +17,8 @@ Jeweler::Tasks.new do |gem|
17
17
  gem.homepage = "http://github.com/martinkozak/fifo-cache"
18
18
  gem.license = "MIT"
19
19
  gem.summary = 'Fast hash-like fixed size cache class with FIFO functionality which removes oldest or less accessed records based on implicit heap.'
20
- gem.email = "martinkozak@martinkozak.net"
21
- gem.authors = ["Martin Kozák"]
20
+ gem.email = "martin@poljak.cz"
21
+ gem.authors = ["Martin Poljak"]
22
22
  # Include your dependencies below. Runtime dependencies are required when using your gem,
23
23
  # and development dependencies are only needed for development (ie running rake tasks, tests, etc)
24
24
  # gem.add_runtime_dependency 'jabber4r', '> 0.1'
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.1
1
+ 0.1.2
@@ -2,15 +2,17 @@
2
2
  # DO NOT EDIT THIS FILE DIRECTLY
3
3
  # Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
4
4
  # -*- encoding: utf-8 -*-
5
+ # stub: fifo-cache 0.1.2 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
8
  s.name = "fifo-cache"
8
- s.version = "0.1.1"
9
+ s.version = "0.1.2"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Martin Koz\u{e1}k"]
12
- s.date = "2013-10-15"
13
- s.email = "martinkozak@martinkozak.net"
12
+ s.require_paths = ["lib"]
13
+ s.authors = ["Martin Poljak"]
14
+ s.date = "2015-07-19"
15
+ s.email = "martin@poljak.cz"
14
16
  s.extra_rdoc_files = [
15
17
  "LICENSE.txt",
16
18
  "README.md"
@@ -29,27 +31,23 @@ Gem::Specification.new do |s|
29
31
  ]
30
32
  s.homepage = "http://github.com/martinkozak/fifo-cache"
31
33
  s.licenses = ["MIT"]
32
- s.require_paths = ["lib"]
33
- s.rubygems_version = "1.8.25"
34
+ s.rubygems_version = "2.4.5"
34
35
  s.summary = "Fast hash-like fixed size cache class with FIFO functionality which removes oldest or less accessed records based on implicit heap."
35
36
 
36
37
  if s.respond_to? :specification_version then
37
- s.specification_version = 3
38
+ s.specification_version = 4
38
39
 
39
40
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
40
41
  s.add_runtime_dependency(%q<depq>, [">= 0.4"])
41
- s.add_runtime_dependency(%q<hash-utils>, [">= 0.7.0"])
42
42
  s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
43
43
  s.add_development_dependency(%q<jeweler>, [">= 1.5.2"])
44
44
  else
45
45
  s.add_dependency(%q<depq>, [">= 0.4"])
46
- s.add_dependency(%q<hash-utils>, [">= 0.7.0"])
47
46
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
48
47
  s.add_dependency(%q<jeweler>, [">= 1.5.2"])
49
48
  end
50
49
  else
51
50
  s.add_dependency(%q<depq>, [">= 0.4"])
52
- s.add_dependency(%q<hash-utils>, [">= 0.7.0"])
53
51
  s.add_dependency(%q<bundler>, [">= 1.0.0"])
54
52
  s.add_dependency(%q<jeweler>, [">= 1.5.2"])
55
53
  end
@@ -1,8 +1,6 @@
1
1
  # encoding: utf-8
2
- # (c) 2010-2013 Martin Kozák (martinkozak@martinkozak.net)
3
- # (c) 2013 Martin Poljak (martin@poljak.cz)
2
+ # (c) 2010 - 2015 Martin Poljak (martin@poljak.cz)
4
3
 
5
- require "hash-utils/object"
6
4
  require "depq"
7
5
 
8
6
  ##
@@ -82,8 +80,8 @@ class Fifocache
82
80
  @counts = { }
83
81
 
84
82
  @size = size
85
- @puts = opts[:puts].to_b
86
- @hits = opts[:hits].to_b
83
+ @puts = !!opts[:puts]
84
+ @hits = !!opts[:hits]
87
85
  @factor = opts[:factor].to_f
88
86
  end
89
87
 
data/test CHANGED
@@ -5,12 +5,12 @@ $:.push("./lib")
5
5
  require "fifocache"
6
6
 
7
7
 
8
- cache = Fifocache::new(100000, :puts => false, :factor => 0)
9
- 200000.times do |i|
10
- cache[i] = i
11
- end
12
-
13
- exit
8
+ # cache = Fifocache::new(100000, :puts => false, :factor => 0)
9
+ # 200000.times do |i|
10
+ # cache[i] = i
11
+ # end
12
+ #
13
+ # exit
14
14
 
15
15
  cache = Fifocache::new(3, :puts => true)
16
16
  cache[:alfa] = 'alfa'
@@ -34,4 +34,3 @@ puts cache.to_h.inspect
34
34
  cache.resize(0)
35
35
 
36
36
  puts cache.to_h.inspect
37
-
metadata CHANGED
@@ -1,89 +1,66 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fifo-cache
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
5
- prerelease:
4
+ version: 0.1.2
6
5
  platform: ruby
7
6
  authors:
8
- - Martin Kozák
7
+ - Martin Poljak
9
8
  autorequire:
10
9
  bindir: bin
11
10
  cert_chain: []
12
- date: 2013-10-15 00:00:00.000000000 Z
11
+ date: 2015-07-19 00:00:00.000000000 Z
13
12
  dependencies:
14
13
  - !ruby/object:Gem::Dependency
15
14
  name: depq
16
15
  requirement: !ruby/object:Gem::Requirement
17
- none: false
18
16
  requirements:
19
- - - '>='
17
+ - - ">="
20
18
  - !ruby/object:Gem::Version
21
19
  version: '0.4'
22
20
  type: :runtime
23
21
  prerelease: false
24
22
  version_requirements: !ruby/object:Gem::Requirement
25
- none: false
26
23
  requirements:
27
- - - '>='
24
+ - - ">="
28
25
  - !ruby/object:Gem::Version
29
26
  version: '0.4'
30
- - !ruby/object:Gem::Dependency
31
- name: hash-utils
32
- requirement: !ruby/object:Gem::Requirement
33
- none: false
34
- requirements:
35
- - - '>='
36
- - !ruby/object:Gem::Version
37
- version: 0.7.0
38
- type: :runtime
39
- prerelease: false
40
- version_requirements: !ruby/object:Gem::Requirement
41
- none: false
42
- requirements:
43
- - - '>='
44
- - !ruby/object:Gem::Version
45
- version: 0.7.0
46
27
  - !ruby/object:Gem::Dependency
47
28
  name: bundler
48
29
  requirement: !ruby/object:Gem::Requirement
49
- none: false
50
30
  requirements:
51
- - - '>='
31
+ - - ">="
52
32
  - !ruby/object:Gem::Version
53
33
  version: 1.0.0
54
34
  type: :development
55
35
  prerelease: false
56
36
  version_requirements: !ruby/object:Gem::Requirement
57
- none: false
58
37
  requirements:
59
- - - '>='
38
+ - - ">="
60
39
  - !ruby/object:Gem::Version
61
40
  version: 1.0.0
62
41
  - !ruby/object:Gem::Dependency
63
42
  name: jeweler
64
43
  requirement: !ruby/object:Gem::Requirement
65
- none: false
66
44
  requirements:
67
- - - '>='
45
+ - - ">="
68
46
  - !ruby/object:Gem::Version
69
47
  version: 1.5.2
70
48
  type: :development
71
49
  prerelease: false
72
50
  version_requirements: !ruby/object:Gem::Requirement
73
- none: false
74
51
  requirements:
75
- - - '>='
52
+ - - ">="
76
53
  - !ruby/object:Gem::Version
77
54
  version: 1.5.2
78
55
  description:
79
- email: martinkozak@martinkozak.net
56
+ email: martin@poljak.cz
80
57
  executables: []
81
58
  extensions: []
82
59
  extra_rdoc_files:
83
60
  - LICENSE.txt
84
61
  - README.md
85
62
  files:
86
- - .document
63
+ - ".document"
87
64
  - Gemfile
88
65
  - Gemfile.lock
89
66
  - LICENSE.txt
@@ -96,30 +73,26 @@ files:
96
73
  homepage: http://github.com/martinkozak/fifo-cache
97
74
  licenses:
98
75
  - MIT
76
+ metadata: {}
99
77
  post_install_message:
100
78
  rdoc_options: []
101
79
  require_paths:
102
80
  - lib
103
81
  required_ruby_version: !ruby/object:Gem::Requirement
104
- none: false
105
82
  requirements:
106
- - - '>='
83
+ - - ">="
107
84
  - !ruby/object:Gem::Version
108
85
  version: '0'
109
- segments:
110
- - 0
111
- hash: -2442560149070771212
112
86
  required_rubygems_version: !ruby/object:Gem::Requirement
113
- none: false
114
87
  requirements:
115
- - - '>='
88
+ - - ">="
116
89
  - !ruby/object:Gem::Version
117
90
  version: '0'
118
91
  requirements: []
119
92
  rubyforge_project:
120
- rubygems_version: 1.8.25
93
+ rubygems_version: 2.4.5
121
94
  signing_key:
122
- specification_version: 3
95
+ specification_version: 4
123
96
  summary: Fast hash-like fixed size cache class with FIFO functionality which removes
124
97
  oldest or less accessed records based on implicit heap.
125
98
  test_files: []