cache_tree 0.0.4 → 0.0.5

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.
checksums.yaml ADDED
@@ -0,0 +1,15 @@
1
+ ---
2
+ !binary "U0hBMQ==":
3
+ metadata.gz: !binary |-
4
+ NzgxMDk2MGM4MDc1NDllZjE3YTIwYTY2OWJjYzYzMDg1YWVlNTNhMA==
5
+ data.tar.gz: !binary |-
6
+ NThjZWJjNWM3MjdiYWU2MDk4MzQ5N2JmNWNmYzBhZDAyM2Y1YTM2MA==
7
+ SHA512:
8
+ metadata.gz: !binary |-
9
+ Nzg1ZmY5NmRhZDk5Mjc1YjNmMGM0ZTM2ZTgwMjYyOWQ2ZjhhZDI4ZmQ1M2I3
10
+ NGEyMGMxYTUwNDE4NjliNjY5OWUyYzdhNTdkNDY5MDJhOWMwZWRiMzJhNTMx
11
+ MzFhNWFlMzkxMDE5MTlhYmM2YTUzYWZlZGVjNGJhZGI4MDFlZDY=
12
+ data.tar.gz: !binary |-
13
+ ZmY1NWIyNDljMGQyZjBkMThiNjA2YmUzOTJiNTI1NjZkNDk1ZTVmZjMyMzJi
14
+ ZDhmMzZjMzYzM2I2YzJkNzdmMDIzYzc0YWU4OWI1MDc4Y2I1N2M4ODA4MzM3
15
+ MTYyNTZkNTE3ZjkxYjQ1ZThiYjY1YzYyYmUxYWUwMzI0MmI0Yjg=
data/.ruby-gemset ADDED
@@ -0,0 +1 @@
1
+ arrow
data/.ruby-version ADDED
@@ -0,0 +1 @@
1
+ 1.9.3
data/Gemfile CHANGED
@@ -6,11 +6,7 @@ source "http://rubygems.org"
6
6
  # Add dependencies to develop your gem here.
7
7
  # Include everything needed to run rake, tests, features, etc.
8
8
  group :development do
9
- gem "shoulda", ">= 0"
10
- gem "rdoc", "~> 3.12"
11
- gem "bundler", "~> 1.0.0"
12
9
  gem "jeweler", "~> 1.8.3"
13
- gem "rcov", ">= 0"
14
10
  end
15
11
 
16
12
  gem 'isna'
data/Gemfile.lock ADDED
@@ -0,0 +1,52 @@
1
+ GEM
2
+ remote: http://rubygems.org/
3
+ specs:
4
+ addressable (2.3.8)
5
+ builder (3.2.2)
6
+ faraday (0.8.9)
7
+ multipart-post (~> 1.2.0)
8
+ git (1.2.9.1)
9
+ github_api (0.10.1)
10
+ addressable
11
+ faraday (~> 0.8.1)
12
+ hashie (>= 1.2)
13
+ multi_json (~> 1.4)
14
+ nokogiri (~> 1.5.2)
15
+ oauth2
16
+ hashie (3.4.1)
17
+ highline (1.7.2)
18
+ isna (0.0.4)
19
+ jeweler (1.8.8)
20
+ builder
21
+ bundler (~> 1.0)
22
+ git (>= 1.2.5)
23
+ github_api (= 0.10.1)
24
+ highline (>= 1.6.15)
25
+ nokogiri (= 1.5.10)
26
+ rake
27
+ rdoc
28
+ json (1.8.2)
29
+ jwt (1.4.1)
30
+ multi_json (1.11.0)
31
+ multi_xml (0.5.5)
32
+ multipart-post (1.2.0)
33
+ nokogiri (1.5.10)
34
+ oauth2 (1.0.0)
35
+ faraday (>= 0.8, < 0.10)
36
+ jwt (~> 1.0)
37
+ multi_json (~> 1.3)
38
+ multi_xml (~> 0.5)
39
+ rack (~> 1.2)
40
+ rack (1.6.0)
41
+ rake (10.4.2)
42
+ rdoc (4.2.0)
43
+ json (~> 1.4)
44
+ tree_node (0.0.0)
45
+
46
+ PLATFORMS
47
+ ruby
48
+
49
+ DEPENDENCIES
50
+ isna
51
+ jeweler (~> 1.8.3)
52
+ tree_node
data/Rakefile CHANGED
@@ -25,29 +25,3 @@ Jeweler::Tasks.new do |gem|
25
25
  end
26
26
  Jeweler::RubygemsDotOrgTasks.new
27
27
 
28
- require 'rake/testtask'
29
- Rake::TestTask.new(:test) do |test|
30
- test.libs << 'lib' << 'test'
31
- test.pattern = 'test/**/test_*.rb'
32
- test.verbose = true
33
- end
34
-
35
- require 'rcov/rcovtask'
36
- Rcov::RcovTask.new do |test|
37
- test.libs << 'test'
38
- test.pattern = 'test/**/test_*.rb'
39
- test.verbose = true
40
- test.rcov_opts << '--exclude "gems/*"'
41
- end
42
-
43
- task :default => :test
44
-
45
- require 'rdoc/task'
46
- Rake::RDocTask.new do |rdoc|
47
- version = File.exist?('VERSION') ? File.read('VERSION') : ""
48
-
49
- rdoc.rdoc_dir = 'rdoc'
50
- rdoc.title = "cache_tree #{version}"
51
- rdoc.rdoc_files.include('README*')
52
- rdoc.rdoc_files.include('lib/**/*.rb')
53
- end
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.0.4
1
+ 0.0.5
data/cache_tree.gemspec CHANGED
@@ -2,23 +2,28 @@
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: cache_tree 0.0.5 ruby lib
5
6
 
6
7
  Gem::Specification.new do |s|
7
- s.name = %q{cache_tree}
8
- s.version = "0.0.4"
8
+ s.name = "cache_tree"
9
+ s.version = "0.0.5"
9
10
 
10
11
  s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
12
+ s.require_paths = ["lib"]
11
13
  s.authors = ["kazuyoshi tlacaelel"]
12
- s.date = %q{2013-04-22}
13
- s.description = %q{Cache based on btrees, for large ammounts of cache.}
14
- s.email = %q{kazu.dev@gmail.com}
14
+ s.date = "2015-05-26"
15
+ s.description = "Cache based on btrees, for large ammounts of cache."
16
+ s.email = "kazu.dev@gmail.com"
15
17
  s.extra_rdoc_files = [
16
18
  "LICENSE.txt",
17
19
  "README.rdoc"
18
20
  ]
19
21
  s.files = [
20
22
  ".document",
23
+ ".ruby-gemset",
24
+ ".ruby-version",
21
25
  "Gemfile",
26
+ "Gemfile.lock",
22
27
  "LICENSE.txt",
23
28
  "README.rdoc",
24
29
  "Rakefile",
@@ -28,41 +33,27 @@ Gem::Specification.new do |s|
28
33
  "test/helper.rb",
29
34
  "test/test_cache_tree.rb"
30
35
  ]
31
- s.homepage = %q{http://github.com/ktlacaelel/cache_tree}
36
+ s.homepage = "http://github.com/ktlacaelel/cache_tree"
32
37
  s.licenses = ["MIT"]
33
- s.require_paths = ["lib"]
34
- s.rubygems_version = %q{1.3.7}
35
- s.summary = %q{Simple cache tree}
38
+ s.rubygems_version = "2.4.3"
39
+ s.summary = "Simple cache tree"
36
40
 
37
41
  if s.respond_to? :specification_version then
38
- current_version = Gem::Specification::CURRENT_SPECIFICATION_VERSION
39
- s.specification_version = 3
42
+ s.specification_version = 4
40
43
 
41
44
  if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
42
45
  s.add_runtime_dependency(%q<isna>, [">= 0"])
43
46
  s.add_runtime_dependency(%q<tree_node>, [">= 0"])
44
- s.add_development_dependency(%q<shoulda>, [">= 0"])
45
- s.add_development_dependency(%q<rdoc>, ["~> 3.12"])
46
- s.add_development_dependency(%q<bundler>, ["~> 1.0.0"])
47
47
  s.add_development_dependency(%q<jeweler>, ["~> 1.8.3"])
48
- s.add_development_dependency(%q<rcov>, [">= 0"])
49
48
  else
50
49
  s.add_dependency(%q<isna>, [">= 0"])
51
50
  s.add_dependency(%q<tree_node>, [">= 0"])
52
- s.add_dependency(%q<shoulda>, [">= 0"])
53
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
54
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
55
51
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
56
- s.add_dependency(%q<rcov>, [">= 0"])
57
52
  end
58
53
  else
59
54
  s.add_dependency(%q<isna>, [">= 0"])
60
55
  s.add_dependency(%q<tree_node>, [">= 0"])
61
- s.add_dependency(%q<shoulda>, [">= 0"])
62
- s.add_dependency(%q<rdoc>, ["~> 3.12"])
63
- s.add_dependency(%q<bundler>, ["~> 1.0.0"])
64
56
  s.add_dependency(%q<jeweler>, ["~> 1.8.3"])
65
- s.add_dependency(%q<rcov>, [">= 0"])
66
57
  end
67
58
  end
68
59
 
data/lib/cache_tree.rb CHANGED
@@ -1,9 +1,14 @@
1
- require 'md5'
2
1
  require 'singleton'
3
2
  require 'fileutils'
4
3
  require 'isna'
5
4
  require 'tree_node'
6
5
 
6
+ if RUBY_VERSION == "1.8.7"
7
+ require 'md5'
8
+ else
9
+ require 'digest/md5'
10
+ end
11
+
7
12
  module CacheTree
8
13
 
9
14
  def self.use(node, report = proc {}, &block)
@@ -107,7 +112,7 @@ module CacheTree
107
112
 
108
113
  # Updates current node stamp from btree_key
109
114
  def load
110
- @stamp = eval(File.read(btree_key).to_s.inspect)
115
+ @stamp = File.read(btree_key).to_s
111
116
  end
112
117
 
113
118
  # Updates current node stamp from btree_key
@@ -116,9 +121,17 @@ module CacheTree
116
121
  File.exists?(btree_key) ? load : save
117
122
  end
118
123
 
124
+ def _md5_
125
+ if RUBY_VERSION == "1.8.7"
126
+ MD5
127
+ else
128
+ Digest::MD5
129
+ end
130
+ end
131
+
119
132
  # Sums up all stamps and generates a checksum.
120
133
  def checksum
121
- MD5.hexdigest(map(:up) { |node| node.stamp } * '')
134
+ _md5_.hexdigest(map(:up) { |node| node.stamp } * '')
122
135
  end
123
136
 
124
137
  # Resolves final name for cache file.
@@ -129,7 +142,7 @@ module CacheTree
129
142
  # Writes node stamp from to btree_key file
130
143
  def save
131
144
  FileUtils.mkdir_p File.dirname(btree_key)
132
- File.open(btree_key, 'w+') { |file| file.write stamp.inspect }
145
+ File.open(btree_key, 'w+') { |file| file.write stamp }
133
146
  end
134
147
 
135
148
  # Quickly expire a whole cache-tree or a single node.
@@ -169,15 +182,22 @@ module CacheTree
169
182
  diagnostic
170
183
  end
171
184
 
172
- # Prints out active cache in green, and expired files in red.
185
+ # Prints out debugging information about this node.
186
+ #
187
+ # Current cache file that exists in green
188
+ # Current cache file that is supposed to exist in yellow.
189
+ # All expired cache files are shown shown in red.
173
190
  def debug
174
191
  diagnostic = diagnose
192
+ template = "%-5s %5s %s"
175
193
  if File.exists?(diagnostic[:alive])
176
- puts diagnostic[:alive].to_ansi.green
194
+ puts template % ['+', 'current', diagnostic[:alive].to_ansi.green]
177
195
  else
178
- puts diagnostic[:alive].to_ansi.yellow
196
+ puts template % ['-', 'missing', diagnostic[:alive].to_ansi.yellow]
197
+ end
198
+ diagnostic[:dead].each_with_index do |file, index|
199
+ puts template % [index + 1, 'expired', file.to_ansi.red]
179
200
  end
180
- diagnostic[:dead].each { |file| puts file.to_ansi.red }
181
201
  nil
182
202
  end
183
203
 
metadata CHANGED
@@ -1,138 +1,70 @@
1
- --- !ruby/object:Gem::Specification
1
+ --- !ruby/object:Gem::Specification
2
2
  name: cache_tree
3
- version: !ruby/object:Gem::Version
4
- hash: 23
5
- prerelease: false
6
- segments:
7
- - 0
8
- - 0
9
- - 4
10
- version: 0.0.4
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.5
11
5
  platform: ruby
12
- authors:
6
+ authors:
13
7
  - kazuyoshi tlacaelel
14
8
  autorequire:
15
9
  bindir: bin
16
10
  cert_chain: []
17
-
18
- date: 2013-04-22 00:00:00 -05:00
19
- default_executable:
20
- dependencies:
21
- - !ruby/object:Gem::Dependency
22
- type: :runtime
23
- prerelease: false
11
+ date: 2015-05-26 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
24
14
  name: isna
25
- version_requirements: &id001 !ruby/object:Gem::Requirement
26
- none: false
27
- requirements:
28
- - - ">="
29
- - !ruby/object:Gem::Version
30
- hash: 3
31
- segments:
32
- - 0
33
- version: "0"
34
- requirement: *id001
35
- - !ruby/object:Gem::Dependency
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ! '>='
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
36
20
  type: :runtime
37
21
  prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - ! '>='
25
+ - !ruby/object:Gem::Version
26
+ version: '0'
27
+ - !ruby/object:Gem::Dependency
38
28
  name: tree_node
39
- version_requirements: &id002 !ruby/object:Gem::Requirement
40
- none: false
41
- requirements:
42
- - - ">="
43
- - !ruby/object:Gem::Version
44
- hash: 3
45
- segments:
46
- - 0
47
- version: "0"
48
- requirement: *id002
49
- - !ruby/object:Gem::Dependency
50
- type: :development
51
- prerelease: false
52
- name: shoulda
53
- version_requirements: &id003 !ruby/object:Gem::Requirement
54
- none: false
55
- requirements:
56
- - - ">="
57
- - !ruby/object:Gem::Version
58
- hash: 3
59
- segments:
60
- - 0
61
- version: "0"
62
- requirement: *id003
63
- - !ruby/object:Gem::Dependency
64
- type: :development
65
- prerelease: false
66
- name: rdoc
67
- version_requirements: &id004 !ruby/object:Gem::Requirement
68
- none: false
69
- requirements:
70
- - - ~>
71
- - !ruby/object:Gem::Version
72
- hash: 31
73
- segments:
74
- - 3
75
- - 12
76
- version: "3.12"
77
- requirement: *id004
78
- - !ruby/object:Gem::Dependency
79
- type: :development
80
- prerelease: false
81
- name: bundler
82
- version_requirements: &id005 !ruby/object:Gem::Requirement
83
- none: false
84
- requirements:
85
- - - ~>
86
- - !ruby/object:Gem::Version
87
- hash: 23
88
- segments:
89
- - 1
90
- - 0
91
- - 0
92
- version: 1.0.0
93
- requirement: *id005
94
- - !ruby/object:Gem::Dependency
95
- type: :development
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ! '>='
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :runtime
96
35
  prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ! '>='
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
41
+ - !ruby/object:Gem::Dependency
97
42
  name: jeweler
98
- version_requirements: &id006 !ruby/object:Gem::Requirement
99
- none: false
100
- requirements:
43
+ requirement: !ruby/object:Gem::Requirement
44
+ requirements:
101
45
  - - ~>
102
- - !ruby/object:Gem::Version
103
- hash: 49
104
- segments:
105
- - 1
106
- - 8
107
- - 3
46
+ - !ruby/object:Gem::Version
108
47
  version: 1.8.3
109
- requirement: *id006
110
- - !ruby/object:Gem::Dependency
111
48
  type: :development
112
49
  prerelease: false
113
- name: rcov
114
- version_requirements: &id007 !ruby/object:Gem::Requirement
115
- none: false
116
- requirements:
117
- - - ">="
118
- - !ruby/object:Gem::Version
119
- hash: 3
120
- segments:
121
- - 0
122
- version: "0"
123
- requirement: *id007
50
+ version_requirements: !ruby/object:Gem::Requirement
51
+ requirements:
52
+ - - ~>
53
+ - !ruby/object:Gem::Version
54
+ version: 1.8.3
124
55
  description: Cache based on btrees, for large ammounts of cache.
125
56
  email: kazu.dev@gmail.com
126
57
  executables: []
127
-
128
58
  extensions: []
129
-
130
- extra_rdoc_files:
59
+ extra_rdoc_files:
131
60
  - LICENSE.txt
132
61
  - README.rdoc
133
- files:
62
+ files:
134
63
  - .document
64
+ - .ruby-gemset
65
+ - .ruby-version
135
66
  - Gemfile
67
+ - Gemfile.lock
136
68
  - LICENSE.txt
137
69
  - README.rdoc
138
70
  - Rakefile
@@ -141,39 +73,28 @@ files:
141
73
  - lib/cache_tree.rb
142
74
  - test/helper.rb
143
75
  - test/test_cache_tree.rb
144
- has_rdoc: true
145
76
  homepage: http://github.com/ktlacaelel/cache_tree
146
- licenses:
77
+ licenses:
147
78
  - MIT
79
+ metadata: {}
148
80
  post_install_message:
149
81
  rdoc_options: []
150
-
151
- require_paths:
82
+ require_paths:
152
83
  - lib
153
- required_ruby_version: !ruby/object:Gem::Requirement
154
- none: false
155
- requirements:
156
- - - ">="
157
- - !ruby/object:Gem::Version
158
- hash: 3
159
- segments:
160
- - 0
161
- version: "0"
162
- required_rubygems_version: !ruby/object:Gem::Requirement
163
- none: false
164
- requirements:
165
- - - ">="
166
- - !ruby/object:Gem::Version
167
- hash: 3
168
- segments:
169
- - 0
170
- version: "0"
84
+ required_ruby_version: !ruby/object:Gem::Requirement
85
+ requirements:
86
+ - - ! '>='
87
+ - !ruby/object:Gem::Version
88
+ version: '0'
89
+ required_rubygems_version: !ruby/object:Gem::Requirement
90
+ requirements:
91
+ - - ! '>='
92
+ - !ruby/object:Gem::Version
93
+ version: '0'
171
94
  requirements: []
172
-
173
95
  rubyforge_project:
174
- rubygems_version: 1.3.7
96
+ rubygems_version: 2.4.3
175
97
  signing_key:
176
- specification_version: 3
98
+ specification_version: 4
177
99
  summary: Simple cache tree
178
100
  test_files: []
179
-