schlib 0.1.1 → 0.2.0

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 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: