simple_config_man 0.3.8.1 → 0.3.9

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: bf0ee83db770721d7b76f44721404e656e72a3a1
4
- data.tar.gz: dd92182a5c4374473b33a8c54e3dcb1514e390a7
3
+ metadata.gz: 102580643b7e7ccf9b123e16c3763acb452fc7cf
4
+ data.tar.gz: 28d0163f3860ffb2fa432dbdbbdc9cfda0d563e3
5
5
  SHA512:
6
- metadata.gz: 1076e0ed3dd76b6109199c7cd35d8a001a317557cd90a3345093b491c58ccc3b9363ba71a0ef82fdba2c6e41533cf291d8b1be83d8d83618ac2a50e97d0ca33e
7
- data.tar.gz: 4e882655f150755a7dc3705291035428aeb5419870ae75331f07e782398fef6684fc805bac65e38f85d78e95ab144841220514b9eecf11ee9e9f87594326a8b2
6
+ metadata.gz: 15a68f75e7747c85d52bccb472736d27c860e91447fdacecacec323d3f79b7e14f60bfa1ecbb148264aa0cd27dfd4cb431c999b96c7b1b98320a8284bbcdcacc
7
+ data.tar.gz: 3f28b8494aad6cfd3b47decfc9d0a9449caa9a9c743a1fd51409531b7d6b4dcca333dac7947910a8faa7d324f5bb90cec3ef21ae2e916dd7759e8ab70d7365c9
@@ -2,22 +2,22 @@ require "simple_config_man/version"
2
2
  require 'simple_speaker'
3
3
 
4
4
  module SimpleConfigMan
5
- def self.configure_node(node, name = '', current = nil)
5
+ def self.configure_node(node, name = '', current = nil, remove_existing = 0)
6
6
  if name == '' || speaker.ask_if_needed("Do you want to configure #{name}? (y/n)", 0, 'y') == 'y'
7
7
  node.each do |k, v|
8
8
  curr_v = current ? current[k] : nil
9
9
  if v.is_a?(Hash)
10
- node[k] = self.configure_node(v, name + ' ' + k, curr_v)
10
+ node[k] = self.configure_node(v, name + ' ' + k, curr_v, remove_existing)
11
11
  elsif ['password','client_secret'].include?(k)
12
12
  node[k] = STDIN.getpass("What is your #{name} #{k}? ")
13
13
  else
14
14
  speaker.speak_up "What is your #{name} #{k}? [#{curr_v}] "
15
15
  node[k] = STDIN.gets.strip
16
16
  end
17
- node[k] = curr_v if (node[k].nil? || node[k] == '') && !v.is_a?(Hash)
17
+ node[k] = curr_v if (node[k].nil? || node[k] == '') && !v.is_a?(Hash) && remove_existing == 0
18
18
  end
19
19
  else
20
- node = current
20
+ node = remove_existing > 0 ? nil : current
21
21
  end
22
22
  node
23
23
  end
@@ -25,18 +25,23 @@ module SimpleConfigMan
25
25
  def self.load_settings(config_dir, config_file, config_example)
26
26
  Dir.mkdir(config_dir) unless File.exist?(config_dir)
27
27
  unless File.exist?(config_file)
28
- FileUtils.copy config_example, config_file
29
28
  self.reconfigure(config_file, config_example)
30
29
  end
31
30
  YAML.load_file(config_file)
32
31
  end
33
32
 
34
33
  def self.reconfigure(config_file, config_example)
35
- config = YAML.load_file(config_file)
34
+ remove_existing = 0
35
+ begin
36
+ config = YAML.load_file(config_file)
37
+ rescue
38
+ remove_existing = 1
39
+ config = YAML.load_file(config_example)
40
+ end
36
41
  default_config = YAML.load_file(config_example)
37
42
  #Let's set the first config
38
43
  speaker.speak_up 'The configuration file needs to be initialized.'
39
- config = self.configure_node(default_config, '', config)
44
+ config = self.configure_node(default_config, '', config, remove_existing)
40
45
  speaker.speak_up 'All set!'
41
46
  File.write(config_file, YAML.dump(config))
42
47
  end
@@ -1,3 +1,3 @@
1
1
  module SimpleConfigMan
2
- VERSION = "0.3.8.1"
2
+ VERSION = "0.3.9"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: simple_config_man
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.8.1
4
+ version: 0.3.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - R
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2018-06-15 00:00:00.000000000 Z
11
+ date: 2018-11-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler