configmonkey_cli 1.0.2 → 1.0.3

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
  SHA256:
3
- metadata.gz: 545efabfadf38b9d05bed12992e6a0f4b51602276969ad025133380740698cd5
4
- data.tar.gz: 97e9673b779ba30f81061dce6ef8adcb79d64a75b094d599112f48eb32008daa
3
+ metadata.gz: b79152a88f58919cc9bc888e066f8e45e38151bd256819a6ddbf9d4f8b7b6fdb
4
+ data.tar.gz: ff62a2d5f62f3ff1d90add227b5cf6553bc888a157d559dfaa587e7c494b4827
5
5
  SHA512:
6
- metadata.gz: 71229f94701e71c488b08846d8c35ec41401e306bb7d54bd43458f94942a897c66dd96458dd8b4701080be6f9a233aeaa08da503247d388f78f919eb31367b28
7
- data.tar.gz: bb59f70f3156c3722613535a1bba04ef5e4cfd2aa77530d9c0944320730fe6d4cbb9b6d112feb5a8d1c89ef3a9be16f8a668a291026e93fda76b41c29095c7a4
6
+ metadata.gz: 0c0a8cdc332aa53f88a917f00fd5dfc73349a6ff77c9f95569776975a0c104824e27635ea8cf7f1653a37a6b13032ad5e21610325d7d6c780af9ce1110b760e7
7
+ data.tar.gz: 79521949dd0f73e7b21e41e0f10080ae2749adf24a3a0769a404841bd960ade83e64da51a4de9c612323a09e450d777b8e629c1275048c62b3cf25a6c333c06e
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.2
1
+ 1.0.3
@@ -21,6 +21,7 @@ Gem::Specification.new do |spec|
21
21
  spec.add_dependency "activesupport"
22
22
  spec.add_dependency "httparty"
23
23
  spec.add_dependency "thor"
24
+ spec.add_dependency "tty-prompt"
24
25
  spec.add_development_dependency "pry"
25
26
  spec.add_development_dependency "bundler"
26
27
  spec.add_development_dependency "rake"
@@ -15,6 +15,7 @@ require "active_support/time_with_zone"
15
15
  begin ; require "pry" ; rescue LoadError ; end
16
16
  require "httparty"
17
17
  require "thor"
18
+ require "tty-prompt"
18
19
 
19
20
  # lib
20
21
  require "configmonkey_cli/version"
@@ -112,6 +112,18 @@ module ConfigmonkeyCli
112
112
  end
113
113
  end
114
114
 
115
+ def run_action which, simulate = nil, *args, &block
116
+ simulate = app.opts[:simulation] if simulate.nil?
117
+ action = case which
118
+ when String, Symbol
119
+ "ConfigmonkeyCli::Application::ManifestAction::#{which.to_s.camelize}".constantize.new(app, self, *args, &block)
120
+ else
121
+ action = which
122
+ end
123
+ action.prepare
124
+ simulate ? action.simulate : action.destructive
125
+ end
126
+
115
127
  def _dump!
116
128
  @actions.each do |constraint, action, instance|
117
129
  begin
@@ -143,8 +155,7 @@ module ConfigmonkeyCli
143
155
  $cm_current_action_index = index
144
156
  $cm_current_action_name = action
145
157
  $cm_current_action_color = :magenta
146
- instance.prepare
147
- simulate ? instance.simulate : instance.destructive
158
+ run_action(instance, simulate)
148
159
  ensure
149
160
  $cm_current_action_index = $cm_current_action_name = $cm_current_action_color = nil
150
161
  app.haltpoint
@@ -232,6 +243,12 @@ module ConfigmonkeyCli
232
243
  thor.say((color.any? ? c(str.to_s, *color) : str.to_s))
233
244
  end
234
245
 
246
+ def prompt opts = {}
247
+ TTY::Prompt.new(opts).tap do |prompt|
248
+ yield(prompt) if block_given?
249
+ end
250
+ end
251
+
235
252
  def status name, *args
236
253
  case args.length
237
254
  when 0
@@ -53,7 +53,7 @@ module ConfigmonkeyCli
53
53
  end
54
54
  end
55
55
 
56
- ([:padded, :c, :say, :status, :ask, :yes?, :no?] + Manifest::MANIFEST_ACTIONS).each do |meth|
56
+ ([:padded, :c, :say, :status, :prompt, :ask, :yes?, :no?, :run_action] + Manifest::MANIFEST_ACTIONS).each do |meth|
57
57
  define_method(meth) do |*args, &block|
58
58
  manifest.send(meth, *args, &block)
59
59
  end
@@ -1,4 +1,4 @@
1
1
  module ConfigmonkeyCli
2
- VERSION = "1.0.2"
2
+ VERSION = "1.0.3"
3
3
  UPDATE_URL = "https://raw.githubusercontent.com/2called-chaos/configmonkey_cli/master/VERSION"
4
4
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: configmonkey_cli
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.2
4
+ version: 1.0.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Sven Pachnit
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-03-18 00:00:00.000000000 Z
11
+ date: 2020-03-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: activesupport
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - ">="
53
53
  - !ruby/object:Gem::Version
54
54
  version: '0'
55
+ - !ruby/object:Gem::Dependency
56
+ name: tty-prompt
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :runtime
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: pry
57
71
  requirement: !ruby/object:Gem::Requirement