schlib 0.1.1 → 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/lib/schlib/cache.rb +7 -3
- data/lib/schlib/command.rb +24 -0
- data/lib/schlib/version.rb +1 -1
- metadata +3 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: ef28fbf1c3dd07587b6696e0aecea59907296c2b
|
4
|
+
data.tar.gz: 9fd4387497034c102ea5a239e26bf605a6595107
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: efa0cc3f4bf43a1d33e8d264565301fa72f2e032c10ea69873511dd3ab3bd3658fc66bfcb243071bf0121ed6489d3ca9080954a5393f8905e782248200828420
|
7
|
+
data.tar.gz: 051faa988a7ba0652227e59989ee76a0d5c0300ecd65eaf6497e4344019dcfdddd01a15d2f9dec0b1b479361ccf89d656ab25770ab0e0c42694a7a407091e915
|
data/lib/schlib/cache.rb
CHANGED
@@ -9,16 +9,20 @@ module Schlib
|
|
9
9
|
|
10
10
|
def cache(cache_key)
|
11
11
|
mutable_cache_data = data
|
12
|
-
thing = mutable_cache_data[cache_key] ||= yield
|
13
|
-
File.write cache_file, JSON.dump(
|
12
|
+
thing = mutable_cache_data[cache_key.to_s] ||= yield
|
13
|
+
File.write cache_file, JSON.dump(mutable_cache_data)
|
14
14
|
thing
|
15
15
|
end
|
16
16
|
|
17
17
|
def data
|
18
|
-
File.write cache_file,
|
18
|
+
File.write cache_file, JSON.dump({}) unless File.exist? cache_file
|
19
19
|
JSON.parse File.read cache_file
|
20
20
|
end
|
21
21
|
|
22
|
+
def clear
|
23
|
+
File.delete cache_file
|
24
|
+
end
|
25
|
+
|
22
26
|
private
|
23
27
|
|
24
28
|
attr_reader :cache_file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
require 'English'
|
3
|
+
|
4
|
+
module Schlib
|
5
|
+
class Command
|
6
|
+
def initialize(logger = nil)
|
7
|
+
@logger = logger
|
8
|
+
end
|
9
|
+
|
10
|
+
def run(command, approve_exitcode: false)
|
11
|
+
logger&.debug command
|
12
|
+
output = `#{command} 2>&1`
|
13
|
+
logger&.debug output
|
14
|
+
if approve_exitcode && !$CHILD_STATUS.success?
|
15
|
+
raise ScriptError, 'COMMAND FAILED!'
|
16
|
+
end
|
17
|
+
output
|
18
|
+
end
|
19
|
+
|
20
|
+
private
|
21
|
+
|
22
|
+
attr_reader :logger
|
23
|
+
end
|
24
|
+
end
|
data/lib/schlib/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: schlib
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.2.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- schasse
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2017-01-
|
11
|
+
date: 2017-01-28 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -88,6 +88,7 @@ extensions: []
|
|
88
88
|
extra_rdoc_files: []
|
89
89
|
files:
|
90
90
|
- lib/schlib/cache.rb
|
91
|
+
- lib/schlib/command.rb
|
91
92
|
- lib/schlib/version.rb
|
92
93
|
homepage: https://github.com/schasse/schlib
|
93
94
|
licenses:
|