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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: a06a1735843bf25f2d98f0696df4e1cfa25f60fd
4
- data.tar.gz: ae1b0e9d125077e47376f11e7d41a7c099debe75
3
+ metadata.gz: ef28fbf1c3dd07587b6696e0aecea59907296c2b
4
+ data.tar.gz: 9fd4387497034c102ea5a239e26bf605a6595107
5
5
  SHA512:
6
- metadata.gz: bd16e8d4769c6eea9e5ba0608a9d3b1852275e05c24f588c40ffcad4e1275718267dd901f5a3780657169dd8698c771fe1205a17ee7541028f02c141f397fee8
7
- data.tar.gz: e79e908edabda331f566f691a00beab535ac0733fe408830f5c4bff0e9617e4360ecf3deb870b7bd3e9aa0c9e0eb4cf11aaa4b2bf171a8dd36dc7a7276732f97
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(mutable_cache)
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, Marshal.dump({}) unless File.exist? 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
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Schlib
3
- VERSION = '0.1.1'
3
+ VERSION = '0.2.0'
4
4
  end
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.1.1
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-27 00:00:00.000000000 Z
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: