precacher 0.0.1
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 +7 -0
- data/lib/precacher.rb +25 -0
- metadata +59 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 610acc6ad4a887a3b836cb58da0d124d7ed47e16
|
4
|
+
data.tar.gz: 91ce673d58db1b8385a26eeb7277f80aa6bf379e
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 41bbfc6160b03e18e7e3dae05f1c5380cc3294251ec60283b1743b981dc674b6339c167bf0fb3a197b649b830556b760202ae25e7b83518aefaf78adc8e4d30e
|
7
|
+
data.tar.gz: 3b4a0bba3c3d5c1a90fa17c99d8de6c6ac451197a3cb78eda7ee60b42414c7ebf0b170f11cb8a59bcc7664f14138d746a1f391392bce88e7fc86942110ae0c07
|
data/lib/precacher.rb
ADDED
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'digest/md5'
|
2
|
+
|
3
|
+
class Precacher
|
4
|
+
|
5
|
+
def self.file_cache(filename, &blk)
|
6
|
+
# get hash of file if it does exist.
|
7
|
+
hash_pre = Digest::MD5.file filename if File.exists?(filename)
|
8
|
+
|
9
|
+
# run blk # TODO pass in file stream type object???
|
10
|
+
data = blk.call()
|
11
|
+
|
12
|
+
# get hash of new data to compare
|
13
|
+
hash_post = Digest::MD5.hexdigest data
|
14
|
+
|
15
|
+
if hash_post.to_s != hash_pre.to_s
|
16
|
+
File.open(filename, 'w') do |f|
|
17
|
+
f << data
|
18
|
+
end
|
19
|
+
true
|
20
|
+
else
|
21
|
+
false
|
22
|
+
end
|
23
|
+
end
|
24
|
+
|
25
|
+
end
|
metadata
ADDED
@@ -0,0 +1,59 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: precacher
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 0.0.1
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- Chris Reister
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
date: 2016-10-01 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: minitest
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - ~>
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '3.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - ~>
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '3.0'
|
27
|
+
description: Precacher make sit simple to keep static files up to data with dynamic
|
28
|
+
data that could change minute to minute.
|
29
|
+
email: chris@chrisreister.com
|
30
|
+
executables: []
|
31
|
+
extensions: []
|
32
|
+
extra_rdoc_files: []
|
33
|
+
files:
|
34
|
+
- lib/precacher.rb
|
35
|
+
homepage: https://github.com/chrisftw/precacher
|
36
|
+
licenses:
|
37
|
+
- MIT
|
38
|
+
metadata: {}
|
39
|
+
post_install_message:
|
40
|
+
rdoc_options: []
|
41
|
+
require_paths:
|
42
|
+
- lib
|
43
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - '>='
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '0'
|
48
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
49
|
+
requirements:
|
50
|
+
- - '>='
|
51
|
+
- !ruby/object:Gem::Version
|
52
|
+
version: '0'
|
53
|
+
requirements: []
|
54
|
+
rubyforge_project:
|
55
|
+
rubygems_version: 2.4.2
|
56
|
+
signing_key:
|
57
|
+
specification_version: 4
|
58
|
+
summary: Update static files with dynamic data.
|
59
|
+
test_files: []
|