sistero 0.4.7 → 0.5.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: 4f3c64ef854714d344cfd1a2a93b9c20dfea9b66
4
- data.tar.gz: 72c5aae40fbcdc4b2ff8ecf7afde30c6cc1cd60e
3
+ metadata.gz: 8e4048930bcc2a2f632980319e5a83eaf034b50c
4
+ data.tar.gz: 83230f81639f17f0fb1cff7bc9cb4dc71d53fbdf
5
5
  SHA512:
6
- metadata.gz: 397837f512444c737374ac89b66f1bb063f2f833f3eba5a85cf53f3008a3f656c94d2d96a770ca7331b0cd60fd70d688da82b79da0c75c2a433bb2678691ce73
7
- data.tar.gz: 1eeb95a43cdce98b8533fcc50f1bc8ddce355c2d8d681d25ce5b6f8ce0550afea388c8ecb112ed0fa599e193f31a7039888bbab92852b7e0050e299c8295d3f2
6
+ metadata.gz: 837b46f87178b4e135db4d75b2264145915d39e34d1e758364ef65fc3017e70b5867e2321eaed8d809bcab039f797eee36ca5772575ab5e25c39f11aa9623da7
7
+ data.tar.gz: 2eff0e18edd34cedbf42dbbcb4e561496d9fedb089b247a14bf0bf95e6c499261c61bf4fc2000ccb06f0ece362392a1d3e103fb5f815dd97daf202cd8c77a067
@@ -35,12 +35,18 @@ module Sistero
35
35
 
36
36
  def initialize(opts = {})
37
37
  # read defaults from config file
38
- cfg_file_path = opts[:cfg_file_path] || "#{ENV['HOME']}/.config/#{APP_NAME}"
38
+ cfg_file_path = opts[:cfg_file_path]
39
+ unless cfg_file_path
40
+ cfg_file_path = 'sistero.yaml'
41
+ cfg_file_path = "#{ENV['HOME']}/.config/#{APP_NAME}" unless File.exists? cfg_file_path
42
+ end
39
43
 
40
44
  @defaults = Profile.new
41
45
  @profiles = []
42
46
 
43
47
  cfg = YAML.load_file cfg_file_path
48
+ postprocess_cfg cfg
49
+
44
50
  cfg['defaults'].each do |key, value|
45
51
  @defaults[key] = value
46
52
  end
@@ -59,5 +65,20 @@ module Sistero
59
65
  def to_s
60
66
  @profiles.map(&:to_s).join "\n"
61
67
  end
68
+
69
+ private
70
+ def postprocess_cfg config
71
+ if config.is_a? Array
72
+ config.map &method(:postprocess_cfg)
73
+ elsif config.is_a? Hash
74
+ if config.length == 1 and config.has_key? 'file'
75
+ File.read(config['file']).strip
76
+ else
77
+ config.update(config) { |key, val| postprocess_cfg val }
78
+ end
79
+ else
80
+ config
81
+ end
82
+ end
62
83
  end
63
84
  end
@@ -1,3 +1,3 @@
1
1
  module Sistero
2
- VERSION = '0.4.7'
2
+ VERSION = '0.5.0'
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: sistero
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.4.7
4
+ version: 0.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - James Pike