MuranoCLI 3.0.2 → 3.0.4

Sign up to get free protection for your applications and to get access to all the features.
Files changed (61) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +30 -59
  3. data/Gemfile +9 -3
  4. data/MuranoCLI.gemspec +11 -4
  5. data/bin/murano +2 -90
  6. data/lib/MrMurano.rb +5 -1
  7. data/lib/MrMurano/{spec_commander.rb → Commander-Entry.rb} +1 -2
  8. data/lib/MrMurano/Solution.rb +12 -15
  9. data/lib/MrMurano/SolutionId.rb +1 -5
  10. data/lib/MrMurano/SyncAllowed.rb +2 -2
  11. data/lib/MrMurano/SyncUpDown.rb +6 -3
  12. data/lib/MrMurano/progress.rb +11 -2
  13. data/lib/MrMurano/verbosing.rb +3 -2
  14. data/lib/MrMurano/version.rb +2 -2
  15. data/spec/Account-Passwords_spec.rb +34 -48
  16. data/spec/Account_spec.rb +58 -63
  17. data/spec/Business_spec.rb +151 -139
  18. data/spec/ConfigFile_spec.rb +15 -11
  19. data/spec/ConfigMigrate_spec.rb +23 -12
  20. data/spec/Config_spec.rb +57 -54
  21. data/spec/Content_spec.rb +233 -201
  22. data/spec/GatewayBase_spec.rb +35 -27
  23. data/spec/GatewayDevice_spec.rb +149 -149
  24. data/spec/GatewayResource_spec.rb +115 -102
  25. data/spec/GatewaySettings_spec.rb +69 -62
  26. data/spec/Http_spec.rb +66 -56
  27. data/spec/MakePretties_spec.rb +82 -73
  28. data/spec/Mock_spec.rb +38 -29
  29. data/spec/ProjectFile_spec.rb +118 -106
  30. data/spec/Setting_spec.rb +24 -15
  31. data/spec/Solution-ServiceConfig_spec.rb +168 -140
  32. data/spec/Solution-ServiceEventHandler_spec.rb +186 -188
  33. data/spec/Solution-ServiceModules_spec.rb +314 -232
  34. data/spec/Solution-UsersRoles_spec.rb +136 -86
  35. data/spec/Solution_spec.rb +78 -50
  36. data/spec/SyncRoot_spec.rb +26 -24
  37. data/spec/SyncUpDown_spec.rb +268 -249
  38. data/spec/Verbosing_spec.rb +95 -93
  39. data/spec/Webservice-Cors_spec.rb +141 -95
  40. data/spec/Webservice-Endpoint_spec.rb +382 -346
  41. data/spec/Webservice-File_spec.rb +148 -109
  42. data/spec/Webservice-Setting_spec.rb +47 -41
  43. data/spec/cmd_business_spec.rb +17 -17
  44. data/spec/cmd_common.rb +27 -7
  45. data/spec/cmd_config_spec.rb +31 -20
  46. data/spec/cmd_content_spec.rb +80 -68
  47. data/spec/cmd_cors_spec.rb +11 -5
  48. data/spec/cmd_device_spec.rb +16 -14
  49. data/spec/cmd_domain_spec.rb +10 -8
  50. data/spec/cmd_exchange_spec.rb +3 -3
  51. data/spec/cmd_init_spec.rb +100 -101
  52. data/spec/cmd_keystore_spec.rb +17 -12
  53. data/spec/cmd_link_spec.rb +22 -37
  54. data/spec/cmd_password_spec.rb +11 -7
  55. data/spec/cmd_setting_application_spec.rb +47 -33
  56. data/spec/cmd_setting_product_spec.rb +32 -27
  57. data/spec/cmd_status_spec.rb +125 -114
  58. data/spec/cmd_syncdown_spec.rb +70 -65
  59. data/spec/cmd_syncup_spec.rb +19 -15
  60. data/spec/cmd_usage_spec.rb +14 -10
  61. metadata +29 -15
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0ea22792f25e5418a7687bbffaad2bf0b14f2c28
4
- data.tar.gz: cbb94dd03d104a310c3f34c85381f1ce2dd455ff
3
+ metadata.gz: ec3cf38c4b880ec614977a7f6d95fc8b5ac69e68
4
+ data.tar.gz: 41b0bf32389f080867f13df0906262881ebad5ed
5
5
  SHA512:
6
- metadata.gz: 728ee381c09f8e361d368a2971f8a031e17900186f114ddda941085eafa5ed7f921be17d57347a1051eab0348c0a9e8965858bcf1e8aefee2d8796c6b988f103
7
- data.tar.gz: c81a425d2122475db3ecccee78389df533ed4f0dd050d086cea6418e65361c2b804f363d3143e6f074176916cbd78b66bcbc99c1fe6a85e7a6f494d47aef5d99
6
+ metadata.gz: 9053361d890f83cf9037bfd811bac313b1893df69daf88a13b5dab2a744c01239c7f19fb49428b1949fb578a8d50ab11a61a3033b8d1dd65f202b706de0cd116
7
+ data.tar.gz: af31c49ad0e42dc9a6e6eb4a6953b591b98b58c2547377e9b7e0e8d3ae53fad38256c1c72a699cdb8e18a6848ef489234cbf7408c8739cbc318e0a99f407a2c4
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.08.31 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # Copyright © 2016-2017 Exosite LLC.
3
3
  # License: MIT. See LICENSE.txt.
4
4
  # vim:tw=0:ts=2:sw=2:et:ai
@@ -28,8 +28,6 @@ Layout/TrailingBlankLines:
28
28
  Lint/ScriptPermission:
29
29
  Exclude:
30
30
  - 'bin/murano'
31
- # Also the rspec shim-link:
32
- - 'lib/MrMurano/spec_commander.rb'
33
31
 
34
32
  # "Assignment Branch Condition size for XXX is too high."
35
33
  # http://wiki.c2.com/?AbcMetric
@@ -121,6 +119,7 @@ Style/FileName:
121
119
  - 'lib/MrMurano/makePretty.rb'
122
120
  - 'lib/MrMurano/Account.rb'
123
121
  - 'lib/MrMurano/Business.rb'
122
+ - 'lib/MrMurano/Commander-Entry.rb'
124
123
  - 'lib/MrMurano/Config-Migrate.rb'
125
124
  - 'lib/MrMurano/Config.rb'
126
125
  - 'lib/MrMurano/Content.rb'
@@ -146,6 +145,34 @@ Style/FileName:
146
145
  - 'lib/MrMurano/Webservice-Endpoint.rb'
147
146
  - 'lib/MrMurano/Webservice-File.rb'
148
147
  - 'lib/MrMurano/Webservice.rb'
148
+ - 'spec/Account-Passwords_spec.rb'
149
+ - 'spec/Account_spec.rb'
150
+ - 'spec/Business_spec.rb'
151
+ - 'spec/ConfigFile_spec.rb'
152
+ - 'spec/ConfigMigrate_spec.rb'
153
+ - 'spec/Config_spec.rb'
154
+ - 'spec/Content_spec.rb'
155
+ - 'spec/GatewayBase_spec.rb'
156
+ - 'spec/GatewayDevice_spec.rb'
157
+ - 'spec/GatewayResource_spec.rb'
158
+ - 'spec/GatewaySettings_spec.rb'
159
+ - 'spec/Http_spec.rb'
160
+ - 'spec/MakePretties_spec.rb'
161
+ - 'spec/Mock_spec.rb'
162
+ - 'spec/ProjectFile_spec.rb'
163
+ - 'spec/Setting_spec.rb'
164
+ - 'spec/Solution-ServiceConfig_spec.rb'
165
+ - 'spec/Solution-ServiceEventHandler_spec.rb'
166
+ - 'spec/Solution-ServiceModules_spec.rb'
167
+ - 'spec/Solution-UsersRoles_spec.rb'
168
+ - 'spec/Solution_spec.rb'
169
+ - 'spec/SyncRoot_spec.rb'
170
+ - 'spec/SyncUpDown_spec.rb'
171
+ - 'spec/Verbosing_spec.rb'
172
+ - 'spec/Webservice-Cors_spec.rb'
173
+ - 'spec/Webservice-Endpoint_spec.rb'
174
+ - 'spec/Webservice-File_spec.rb'
175
+ - 'spec/Webservice-Setting_spec.rb'
149
176
 
150
177
  # FIXME/2017-06-30: We should fix this one... put $cfg in MrMurano class.
151
178
  # "Do not introduce global variables."
@@ -243,65 +270,9 @@ AllCops:
243
270
  # 2017-08-16: Ug.
244
271
  - 'lib/MrMurano/optparse.rb'
245
272
  #
246
- # 2017-08-29: A hack for rspec.
247
- #- 'lib/Murano/spec_commander.rb'
248
- #
249
273
  # 2017-08-30: Ug. Loading orderedhash spits out warning gobbled by rspec fails test.
250
274
  - 'lib/MrMurano/orderedhash.rb'
251
275
  #
252
276
  # The spec_helper is a generated file; don't care.
253
277
  - 'spec/spec_helper.rb'
254
- #
255
- # 2017-07-25: It's probably not worth our time to lint the spec tests.
256
- # 2017-07-31: 7735 offenses in the Spec tests -- not worth it to fix!!
257
- #- 'spec/**/*'
258
- - 'spec/Account-Passwords_spec.rb'
259
- - 'spec/Account_spec.rb'
260
- - 'spec/Business_spec.rb'
261
- - 'spec/ConfigFile_spec.rb'
262
- - 'spec/ConfigMigrate_spec.rb'
263
- - 'spec/Config_spec.rb'
264
- - 'spec/Content_spec.rb'
265
- - 'spec/GatewayBase_spec.rb'
266
- - 'spec/GatewayDevice_spec.rb'
267
- - 'spec/GatewayResource_spec.rb'
268
- - 'spec/GatewaySettings_spec.rb'
269
- - 'spec/Http_spec.rb'
270
- - 'spec/MakePretties_spec.rb'
271
- - 'spec/Mock_spec.rb'
272
- - 'spec/ProjectFile_spec.rb'
273
- - 'spec/Setting_spec.rb'
274
- - 'spec/Solution-ServiceConfig_spec.rb'
275
- - 'spec/Solution-ServiceEventHandler_spec.rb'
276
- - 'spec/Solution-ServiceModules_spec.rb'
277
- - 'spec/Solution-UsersRoles_spec.rb'
278
- - 'spec/Solution_spec.rb'
279
- - 'spec/SyncRoot_spec.rb'
280
- - 'spec/SyncUpDown_spec.rb'
281
- - 'spec/Verbosing_spec.rb'
282
- - 'spec/Webservice-Cors_spec.rb'
283
- - 'spec/Webservice-Endpoint_spec.rb'
284
- - 'spec/Webservice-File_spec.rb'
285
- - 'spec/Webservice-Setting_spec.rb'
286
- #- 'spec/_workspace.rb'
287
- - 'spec/cmd_business_spec.rb'
288
- #- 'spec/cmd_common.rb'
289
- - 'spec/cmd_config_spec.rb'
290
- - 'spec/cmd_content_spec.rb'
291
- - 'spec/cmd_cors_spec.rb'
292
- - 'spec/cmd_device_spec.rb'
293
- - 'spec/cmd_domain_spec.rb'
294
- #- 'spec/cmd_exchange_spec.rb'
295
- #- 'spec/cmd_help_spec.rb'
296
- - 'spec/cmd_init_spec.rb'
297
- - 'spec/cmd_keystore_spec.rb'
298
- - 'spec/cmd_link_spec.rb'
299
- - 'spec/cmd_password_spec.rb'
300
- - 'spec/cmd_setting_application_spec.rb'
301
- - 'spec/cmd_setting_product_spec.rb'
302
- - 'spec/cmd_status_spec.rb'
303
- - 'spec/cmd_syncdown_spec.rb'
304
- - 'spec/cmd_syncup_spec.rb'
305
- - 'spec/cmd_usage_spec.rb'
306
- #- 'spec/cmd_version_spec.rb'
307
278
 
data/Gemfile CHANGED
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.08.30 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -22,11 +22,15 @@ gem 'json-schema', '~> 2.7.0'
22
22
  gem 'mime-types', '~> 3.1'
23
23
  gem 'mime-types-data', '~> 3.2016.0521'
24
24
  #gem 'orderedhash', '~> 0.0.6'
25
+ gem 'os', '~> 1.0.0'
25
26
  gem 'paint', '~> 2.0.0'
26
27
  # 2017-08-04: public_suffix 3.0.0 is for Ruby >= 2.1.
27
28
  # It's included by json, so make sure it's the old one.
28
29
  gem 'public_suffix', '~> 2.0.5'
29
30
  gem 'rainbow', '~> 2.2.2'
31
+ # LATER/2017-09-12: See MRMUR-160 and MRMUR-161:
32
+ # Windows build fails unless `rake` is packaged.
33
+ gem 'rake', '~> 12.1.0'
30
34
  gem 'terminal-table', '~> 1.8.0'
31
35
  gem 'vine', '~> 0.4'
32
36
  gem 'whirly', '~> 0.2.4'
@@ -35,7 +39,7 @@ group :test do
35
39
  #gem 'bundler', '~> 1.7.6'
36
40
  gem 'byebug', '~> 9.0.6'
37
41
  gem 'coderay', require: false
38
- gem 'rake', '~> 10.1.1'
42
+ #gem 'rake', '~> 10.1.1'
39
43
  gem 'rspec', '~> 3.5'
40
44
  gem 'rubocop', '~> 0.49.1'
41
45
  gem 'simplecov', require: false
@@ -45,6 +49,8 @@ group :test do
45
49
  end
46
50
 
47
51
  group :windows do
48
- gem 'ocra', '~> 1.3.8'
52
+ # FIXME/2017-09-12: Pin to 1.3.8 until x86 issue is resolved:
53
+ # https://github.com/larsch/ocra/issues/124
54
+ gem 'ocra', '1.3.8'
49
55
  end
50
56
 
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.08.30 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -63,6 +63,7 @@ explicitly specifying the version. For instance,
63
63
  s.add_runtime_dependency('mime-types', '~> 3.1')
64
64
  s.add_runtime_dependency('mime-types-data', '~> 3.2016.0521')
65
65
  #s.add_runtime_dependency('orderedhash', '~> 0.0.6')
66
+ s.add_runtime_dependency('os', '~> 1.0.0')
66
67
  s.add_runtime_dependency('paint', '~> 2.0.0')
67
68
  # 2017-08-04: public_suffix 3.0.0 is for Ruby >= 2.1.
68
69
  # It's included by json, so make sure it's the old one.
@@ -71,11 +72,15 @@ explicitly specifying the version. For instance,
71
72
  s.add_runtime_dependency('terminal-table', '~> 1.8.0')
72
73
  s.add_runtime_dependency('vine', '~> 0.4')
73
74
  s.add_runtime_dependency('whirly', '~> 0.2.4')
75
+ # LATER/2017-09-12: See MRMUR-160 and MRMUR-161:
76
+ # Windows build fails unless `rake` is packaged.
77
+ s.add_runtime_dependency('rake', '~> 12.1.0')
74
78
 
79
+ # `bundle install --with=test`
75
80
  s.add_development_dependency('bundler', '~> 1.7.6')
76
81
  s.add_development_dependency('byebug', '~> 9.0.6')
77
82
  #s.add_development_dependency('coderay', '~> ???')
78
- s.add_development_dependency('rake', '~> 10.1.1')
83
+ #s.add_development_dependency('rake', '~> 12.1.0')
79
84
  s.add_development_dependency('rspec', '~> 3.5')
80
85
  s.add_development_dependency('rubocop', '~> 0.49.1')
81
86
  s.add_development_dependency('simplecov')
@@ -83,7 +88,9 @@ explicitly specifying the version. For instance,
83
88
  # maybe? s.add_development_dependency('vcr', '~> ???')
84
89
  s.add_development_dependency('yard')
85
90
 
86
- # Windows:
87
- s.add_development_dependency('ocra', '~> 1.3.8')
91
+ # `bundle install --with=windows`
92
+ # FIXME/2017-09-12: Pin to 1.3.8 until x86 issue is resolved:
93
+ # https://github.com/larsch/ocra/issues/124
94
+ s.add_development_dependency('ocra', '1.3.8')
88
95
  end
89
96
 
data/bin/murano CHANGED
@@ -1,98 +1,10 @@
1
1
  #!/usr/bin/env ruby
2
- # Last Modified: 2017.08.30 /coding: utf-8
2
+ # Last Modified: 2017.09.12 /coding: utf-8
3
3
  # frozen_string_literal: true
4
4
 
5
5
  # Copyright © 2016-2017 Exosite LLC.
6
6
  # License: MIT. See LICENSE.txt.
7
7
  # vim:tw=0:ts=2:sw=2:et:ai
8
8
 
9
- require 'commander/import'
10
- require 'dotenv'
11
- require 'English'
12
- require 'highline'
13
- require 'pathname'
14
- #require 'pp'
15
- require 'rainbow'
16
- require 'rubygems'
17
- require 'MrMurano'
18
- require 'MrMurano/Config'
19
- require 'MrMurano/ProjectFile'
20
-
21
- # DEVs: Store environs in an .env file that gets loaded here. Alternatively,
22
- # run a Bash or similar script before you start developing.
23
- Dotenv.load
24
-
25
- # Don't drop traces on ^C.
26
- # EXPLAIN/2017-06-30: [lb] not sure what "drop traces" means.
27
- # What happens if we don't trap Ctrl-C?
28
- # NOTE: The second parameter is either a string, or a command or block to
29
- # call or run. Ruby honors certain special strings, like 'EXIT':
30
- # "If the command is “EXIT”, the script will be terminated by the signal."
31
- # Per https://ruby-doc.org/core-2.2.0/Signal.html
32
- Signal.trap('INT', 'EXIT')
33
-
34
- program :version, MrMurano::VERSION
35
-
36
- program :description, %(
37
- Manage Applications and Products in Exosite's Murano
38
- ).strip
39
-
40
- # If being piped, e.g.,
41
- # murano command ... | ...
42
- # or
43
- # VAR=$(murano command ...)
44
- # etc., then do not do progress.
45
- # TEST/2017-08-23: Does this work on Windows?
46
- ARGV.push('--no-progress') unless $stdout.tty? || ARGV.include?('--no-progress')
47
-
48
- default_command :help
49
-
50
- # Look for plug-ins.
51
- pgds = [
52
- Pathname.new(Dir.home) + '.mrmurano' + 'plugins',
53
- Pathname.new(Dir.home) + '.murano' + 'plugins',
54
- ]
55
- # Add plugin dirs from configs
56
- # This is run before the command line options are parsed, so need to check old way.
57
- unless ARGV.include? '--skip-plugins'
58
- pgds << Pathname.new(ENV['MR_MURANO_PLUGIN_DIR']) if ENV.key? 'MR_MURANO_PLUGIN_DIR'
59
- pgds << Pathname.new(ENV['MURANO_PLUGIN_DIR']) if ENV.key? 'MURANO_PLUGIN_DIR'
60
- pgds.each do |path|
61
- next unless path.exist?
62
- path.each_child do |plugin|
63
- next if plugin.directory?
64
- next unless plugin.readable?
65
- next if plugin.basename.fnmatch('.*') # don't read anything starting with .
66
- begin
67
- require plugin.to_s
68
- #rescue Exception => err
69
- rescue StandardError => err
70
- $stderr.puts "Failed to load plugin at #{plugin} because #{err}"
71
- end
72
- end
73
- end
74
- end
75
-
76
- # Look for .murano/config files.
77
- $cfg = MrMurano::Config.new(::Commander::Runner.instance)
78
- $cfg.load
79
- $cfg.validate_cmd
80
-
81
- # Look for a (legacy) Solutionfile.json.
82
- $project = MrMurano::ProjectFile.new
83
- $project.load
84
-
85
- # The Commander defaults to paged help.
86
- # The user can disable with --no-page, e.g.,
87
- # alias murano='murano --no-page'
88
- # We define this here and not in globals.rb because
89
- # `murano --help` does not cause globals.rb to be sourced.
90
- paging = nil
91
- paging = true if ARGV.include?('--page')
92
- paging = false if ARGV.include?('--no-page')
93
- unless paging.nil?
94
- program :help_paging, paging
95
- $cfg['tool.no-page'] = !paging
96
- end
97
- # else, commander defaults to paging.
9
+ require 'MrMurano/Commander-Entry'
98
10
 
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.08.29 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -50,3 +50,7 @@ require 'MrMurano/SubCmdGroupContext'
50
50
  require 'MrMurano/ReCommander'
51
51
  require 'MrMurano/commands'
52
52
 
53
+ # LATER/2017-09-12: See MRMUR-160 and MRMUR-161:
54
+ # Windows build fails unless `rake` is packaged.
55
+ require 'rake'
56
+
@@ -1,5 +1,4 @@
1
- #!/usr/bin/env ruby
2
- # Last Modified: 2017.08.30 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
3
2
  # frozen_string_literal: true
4
3
 
5
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.09.11 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -252,20 +252,17 @@ module MrMurano
252
252
  "but config says #{fancy_ticks(@name)}."
253
253
  )
254
254
  end
255
- if !@meta[:name].to_s.empty?
256
- # NOTE: Pre-ADC (a/k/a migrated) applications are not named, at least
257
- # when you query the business/<bid>/solution/ endpoint. But when you
258
- # call info_safe, which GETs the solution details, the name is
259
- # the domain and contains dots, which is considered an illegal name!
260
- if @meta[:name] != @meta[:domain]
261
- set_name(@meta[:name])
262
- unless @valid_name || type == :solution
263
- warning(
264
- "Unexpected: Server returned invalid name: #{fancy_ticks(@meta[:name])}"
265
- )
266
- end
267
- end
268
- end
255
+ return if @meta[:name].to_s.empty?
256
+ # NOTE: Pre-ADC (a/k/a migrated) applications are not named, at least
257
+ # when you query the business/<bid>/solution/ endpoint. But when you
258
+ # call info_safe, which GETs the solution details, the name is
259
+ # the domain and contains dots, which is considered an illegal name!
260
+ return if @meta[:name] == @meta[:domain]
261
+ set_name(@meta[:name])
262
+ return if @valid_name || type == :solution
263
+ warning(
264
+ "Unexpected: Server returned invalid name: #{fancy_ticks(@meta[:name])}"
265
+ )
269
266
  end
270
267
 
271
268
  def domain
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.09.11 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -64,10 +64,6 @@ module MrMurano
64
64
  @valid_api_id
65
65
  end
66
66
 
67
- def api_id
68
- @api_id
69
- end
70
-
71
67
  def endpoint(_path='')
72
68
  # This is hopefully just a DEV error, and not something user will ever see!
73
69
  return unless @uriparts[@uriparts_apidex] == INVALID_API_ID
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.08.23 /coding: utf-8
1
+ # Last Modified: 2017.09.13 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -14,7 +14,7 @@ module MrMurano
14
14
  def sync_item_allowed(actioning, item_name)
15
15
  if $cfg['tool.dry']
16
16
  MrMurano::Verbose.whirly_interject do
17
- say("--dry: Not #{actioning} item: #{fancy_ticks(item_name)}")
17
+ puts("--dry: Not #{actioning} item: #{fancy_ticks(item_name)}")
18
18
  end
19
19
  false
20
20
  else
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.09.11 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -10,6 +10,7 @@
10
10
 
11
11
  require 'inflecto'
12
12
  require 'open3'
13
+ require 'os'
13
14
  require 'pathname'
14
15
  #require 'shellwords'
15
16
  require 'tempfile'
@@ -352,8 +353,10 @@ module MrMurano
352
353
  # This happens on Windows...
353
354
  require 'rbconfig'
354
355
  # Check the platform, e.g., "linux-gnu", or other.
355
- is_windows = (RbConfig::CONFIG['host_os'] =~ /mswin|mingw|cygwin/)
356
- unless is_windows
356
+ #is_windows = (
357
+ # RbConfig::CONFIG['host_os'] =~ /mswin|msys|mingw|cygwin|bccwin|wince|emc/
358
+ #)
359
+ unless OS.windows?
357
360
  msg = 'Unexpected: touch failed on non-Windows machine'
358
361
  $stderr.puts("#{msg} / host_os: #{RbConfig::CONFIG['host_os']} / err: #{err}")
359
362
  end
@@ -1,4 +1,4 @@
1
- # Last Modified: 2017.08.22 /coding: utf-8
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
2
  # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
@@ -7,6 +7,7 @@
7
7
 
8
8
  require 'highline'
9
9
  require 'inflecto'
10
+ require 'os'
10
11
  require 'singleton'
11
12
  require 'whirly'
12
13
 
@@ -60,12 +61,20 @@ module MrMurano
60
61
  end
61
62
 
62
63
  def whirly_show
64
+ if $cfg['tool.ascii'] || OS.windows?
65
+ spinner = EXO_QUADRANTS_7
66
+ ansi_escape_mode = 'line'
67
+ else
68
+ spinner = EXO_QUADRANTS
69
+ ansi_escape_mode = 'restore'
70
+ end
63
71
  Whirly.start(
64
- spinner: $cfg['tool.ascii'] && EXO_QUADRANTS_7 || EXO_QUADRANTS,
72
+ spinner: spinner,
65
73
  status: @whirly_msg,
66
74
  append_newline: false,
67
75
  #remove_after_stop: false,
68
76
  #stream: $stderr,
77
+ ansi_escape_mode: ansi_escape_mode,
69
78
  )
70
79
  @whirly_time = Time.now
71
80
  # The whitespace we add ends up getting picked up if you copy