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
@@ -1,5 +1,5 @@
1
- # Last Modified: 2017.08.16 /coding: utf-8
2
- # frozen_string_literal: probably not yet
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
5
5
  # License: MIT. See LICENSE.txt.
@@ -11,7 +11,7 @@ require 'pathname'
11
11
  require 'cmd_common'
12
12
 
13
13
  RSpec.describe 'murano syncdown', :cmd, :needs_password do
14
- include_context "CI_CMD"
14
+ include_context 'CI_CMD'
15
15
 
16
16
  before(:example) do
17
17
  @product_name = rname('syncdownTestPrd')
@@ -31,7 +31,7 @@ RSpec.describe 'murano syncdown', :cmd, :needs_password do
31
31
  out, err, status = Open3.capture3(capcmd('murano', 'assign', 'set'))
32
32
  #expect(out).to a_string_starting_with("Linked product #{@product_name}")
33
33
  olines = out.lines
34
- expect(olines[0].encode!('UTF-8', 'UTF-8')).to eq("Linked ‘#{@product_name} to ‘#{@applctn_name}’\n")
34
+ expect(strip_fancy(olines[0])).to eq("Linked '#{@product_name}' to '#{@applctn_name}'\n")
35
35
  expect(olines[1]).to eq("Created default event handler\n")
36
36
  expect(err).to eq('')
37
37
  expect(status.exitstatus).to eq(0)
@@ -51,10 +51,10 @@ RSpec.describe 'murano syncdown', :cmd, :needs_password do
51
51
  expect(status.exitstatus).to eq(0)
52
52
  end
53
53
 
54
- context "without ProjectFile" do
54
+ context 'without ProjectFile' do
55
55
  before(:example) do
56
56
  FileUtils.cp_r(File.join(@testdir, 'spec/fixtures/syncable_content/.'), '.')
57
- FileUtils.move('assets','files')
57
+ FileUtils.move('assets', 'files')
58
58
  #FileUtils.mkpath('specs')
59
59
  #FileUtils.copy(File.join(@testdir, 'spec/fixtures/product_spec_files/lightbulb.yaml'),
60
60
  # 'specs/resources.yaml')
@@ -64,54 +64,58 @@ RSpec.describe 'murano syncdown', :cmd, :needs_password do
64
64
  FileUtils.cp_r(File.join(@testdir, 'spec/fixtures/syncable_conflict/.'), '.')
65
65
  end
66
66
 
67
- it "syncdown" do
67
+ it 'syncdown' do
68
68
  out, err, status = Open3.capture3(capcmd('murano', 'syncup'))
69
69
  #expect(out).to eq('')
70
70
  #out_lines = out.lines
71
- out_lines = out.lines.map { |line| line.encode!('UTF-8', 'UTF-8') }
72
- expect(out_lines).to match_array([
73
- "Adding item table_util\n",
74
- "Updating item timer_timer\n",
75
- # E.g., "Updating item i4kl64nn86xk00000_event\n":
76
- a_string_starting_with('Updating item '),
77
- "Updating item tsdb_exportJob\n",
78
- "Updating item user_account\n",
79
- # FIXME/2017-08-09: This test includes a fixture with "device2 data_in",
80
- # which is deprecated, AFAIK [lb]. We convert it to "device2.event",
81
- # but I think what we really want is to edit "<solution_id>.event".
82
- "Adding item device2_event\n",
83
- "Adding item POST_/api/fire\n",
84
- "Adding item PUT_/api/fire/{code}\n",
85
- "Adding item DELETE_/api/fire/{code}\n",
86
- "Adding item GET_/api/onfire\n",
87
- "Adding item /icon.png\n",
88
- "Adding item /\n",
89
- "Adding item /js/script.js\n",
90
- ])
71
+ out_lines = out.lines.map { |line| strip_fancy(line) }
72
+ expect(out_lines).to match_array(
73
+ [
74
+ "Adding item table_util\n",
75
+ "Updating item timer_timer\n",
76
+ # E.g., "Updating item i4kl64nn86xk00000_event\n":
77
+ a_string_starting_with('Updating item '),
78
+ "Updating item tsdb_exportJob\n",
79
+ "Updating item user_account\n",
80
+ # FIXME/2017-08-09: This test includes a fixture with "device2 data_in",
81
+ # which is deprecated, AFAIK [lb]. We convert it to "device2.event",
82
+ # but I think what we really want is to edit "<solution_id>.event".
83
+ "Adding item device2_event\n",
84
+ "Adding item POST_/api/fire\n",
85
+ "Adding item PUT_/api/fire/{code}\n",
86
+ "Adding item DELETE_/api/fire/{code}\n",
87
+ "Adding item GET_/api/onfire\n",
88
+ "Adding item /icon.png\n",
89
+ "Adding item /\n",
90
+ "Adding item /js/script.js\n",
91
+ ]
92
+ )
91
93
 
92
94
  #expect(err).to eq('')
93
- expect(err).to start_with("\e[33mSkipping missing location ")
95
+ expect(strip_fancy(err)).to start_with("\e[33mSkipping missing location '")
94
96
  expect(status.exitstatus).to eq(0)
95
97
 
96
- FileUtils.rm_r(['files', 'modules', 'routes', 'services'])
98
+ FileUtils.rm_r(%w[files modules routes services])
97
99
  expect(Dir['**/*']).to eq([])
98
100
 
99
101
  out, err, status = Open3.capture3(capcmd('murano', 'syncdown'))
100
102
  #expect(out).to eq('')
101
- out_lines = out.lines.map { |line| line.encode!('UTF-8', 'UTF-8') }
102
- expect(out_lines).to match_array([
103
- "Adding item table_util\n",
104
- # 2017-08-08: This says updating now because timer.timer is undeletable.
105
- #"Adding item timer_timer\n",
106
- "Updating item timer_timer\n",
107
- "Adding item POST_/api/fire\n",
108
- "Adding item DELETE_/api/fire/{code}\n",
109
- "Adding item PUT_/api/fire/{code}\n",
110
- "Adding item GET_/api/onfire\n",
111
- "Adding item /js/script.js\n",
112
- "Adding item /icon.png\n",
113
- "Adding item /\n",
114
- ])
103
+ out_lines = out.lines.map { |line| strip_fancy(line) }
104
+ expect(out_lines).to match_array(
105
+ [
106
+ "Adding item table_util\n",
107
+ # 2017-08-08: This says updating now because timer.timer is undeletable.
108
+ #"Adding item timer_timer\n",
109
+ "Updating item timer_timer\n",
110
+ "Adding item POST_/api/fire\n",
111
+ "Adding item DELETE_/api/fire/{code}\n",
112
+ "Adding item PUT_/api/fire/{code}\n",
113
+ "Adding item GET_/api/onfire\n",
114
+ "Adding item /js/script.js\n",
115
+ "Adding item /icon.png\n",
116
+ "Adding item /\n",
117
+ ]
118
+ )
115
119
  # Look for skipping missing location lines, e.g.,
116
120
  # "\e[33mSkipping missing location /tmp/d20170623-20035-17496y/project/modules\e[0m\n"
117
121
  # 2017-07-03: Did I [lb] change syncdown not to complain about missing locations?
@@ -122,40 +126,41 @@ RSpec.describe 'murano syncdown', :cmd, :needs_password do
122
126
  # a_string_ending_with("services\e[0m\n"),
123
127
  #)
124
128
  #expect(err).to eq('')
125
- expect(err).to start_with("\e[33mSkipping missing location ")
129
+ expect(strip_fancy(err)).to start_with("\e[33mSkipping missing location '")
126
130
  expect(status.exitstatus).to eq(0)
127
131
 
128
132
  after = Dir['**/*'].sort
129
133
  expect(after).to include(
130
- "files",
131
- "files/icon.png",
132
- "files/index.html",
133
- "files/js",
134
- "files/js/script.js",
135
- "modules",
136
- "modules/table_util.lua",
137
- "routes",
138
- "routes/api-fire-{code}.delete.lua",
139
- "routes/api-fire-{code}.put.lua",
140
- "routes/api-fire.post.lua",
141
- "routes/api-onfire.get.lua",
134
+ 'files',
135
+ 'files/icon.png',
136
+ 'files/index.html',
137
+ 'files/js',
138
+ 'files/js/script.js',
139
+ 'modules',
140
+ 'modules/table_util.lua',
141
+ 'routes',
142
+ 'routes/api-fire-{code}.delete.lua',
143
+ 'routes/api-fire-{code}.put.lua',
144
+ 'routes/api-fire.post.lua',
145
+ 'routes/api-onfire.get.lua',
142
146
  # 2017-07-03: services/ would not exist if we did not include fixtures/syncable_conflict/.
143
- "services",
147
+ 'services',
144
148
  # 2017-07-13: No longer syncing device2_event; is internal to platform.
145
- #"services/device2_event.lua",
146
- "services/timer_timer.lua",
149
+ #'services/device2_event.lua',
150
+ 'services/timer_timer.lua',
147
151
  )
148
152
 
149
153
  # A status should show no differences.
150
154
  out, err, status = Open3.capture3(capcmd('murano', 'status'))
151
155
  expect(err).to eq('')
152
- expect(out.lines).to match([
153
- "Nothing new locally\n",
154
- "Nothing new remotely\n",
155
- "Nothing that differs\n",
156
- ])
156
+ expect(out.lines).to match(
157
+ [
158
+ "Nothing new locally\n",
159
+ "Nothing new remotely\n",
160
+ "Nothing that differs\n",
161
+ ]
162
+ )
157
163
  expect(status.exitstatus).to eq(0)
158
-
159
164
  end
160
165
  end
161
166
 
@@ -1,5 +1,5 @@
1
- # Last Modified: 2017.08.17 /coding: utf-8
2
- # frozen_string_literal: probably not yet
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
+ # frozen_string_literal: true
3
3
 
4
4
  # Copyright © 2016-2017 Exosite LLC.
5
5
  # License: MIT. See LICENSE.txt.
@@ -11,7 +11,7 @@ require 'pathname'
11
11
  require 'cmd_common'
12
12
 
13
13
  RSpec.describe 'murano syncup', :cmd, :needs_password do
14
- include_context "CI_CMD"
14
+ include_context 'CI_CMD'
15
15
 
16
16
  before(:example) do
17
17
  @product_name = rname('syncupTestPrd')
@@ -30,7 +30,7 @@ RSpec.describe 'murano syncup', :cmd, :needs_password do
30
30
  out, err, status = Open3.capture3(capcmd('murano', 'assign', 'set'))
31
31
  #expect(out).to a_string_starting_with("Linked product #{@product_name}")
32
32
  olines = out.lines
33
- expect(olines[0].encode!('UTF-8', 'UTF-8')).to eq("Linked ‘#{@product_name} to ‘#{@applctn_name}’\n")
33
+ expect(strip_fancy(olines[0])).to eq("Linked '#{@product_name}' to '#{@applctn_name}'\n")
34
34
  expect(olines[1]).to eq("Created default event handler\n")
35
35
  expect(err).to eq('')
36
36
  expect(status.exitstatus).to eq(0)
@@ -47,7 +47,7 @@ RSpec.describe 'murano syncup', :cmd, :needs_password do
47
47
  expect(status.exitstatus).to eq(0)
48
48
  end
49
49
 
50
- context "without ProjectFile" do
50
+ context 'without ProjectFile' do
51
51
  before(:example) do
52
52
  FileUtils.cp_r(File.join(@testdir, 'spec/fixtures/syncable_content/.'), '.')
53
53
  FileUtils.move('assets', 'files')
@@ -63,13 +63,13 @@ RSpec.describe 'murano syncup', :cmd, :needs_password do
63
63
  # E.g.,
64
64
  # Skipping missing location ‘/tmp/d20170809-7670-z315jn/project/services’ (Services)
65
65
  # Skipping missing location ‘/tmp/d20170809-7670-z315jn/project/services’ (Interfaces)
66
- expect(elines).to satisfy { |v| elines.length == 2 }
66
+ expect(elines).to(satisfy { |_v| elines.length == 2 })
67
67
  elines.each do |line|
68
- expect(line.encode!('UTF-8', 'UTF-8')).to start_with("\e[33mSkipping missing location ")
68
+ expect(strip_fancy(line)).to start_with("\e[33mSkipping missing location '")
69
69
  end
70
70
  end
71
71
 
72
- it "syncup" do
72
+ it 'syncup' do
73
73
  out, err, status = Open3.capture3(capcmd('murano', 'syncup'))
74
74
  outl = out.lines
75
75
  # The spec tests set --no-progress, so each sync action gets reported.
@@ -77,15 +77,19 @@ RSpec.describe 'murano syncup', :cmd, :needs_password do
77
77
  #expect(outl[1]).to eq("Adding item temperature\n")
78
78
  #expect(outl[2]).to eq("Adding item uptime\n")
79
79
  #expect(outl[3]).to eq("Adding item humidity\n")
80
- (0..3).each { |ln| expect(outl[ln]).to start_with("Adding item ") }
80
+ (0..3).each { |ln| expect(outl[ln]).to start_with('Adding item ') }
81
81
  expect(outl[4]).to eq("Updating product resources\n")
82
- expect(outl[5]).to eq("Adding item table_util\n")
82
+ # Windows is insane:
83
+ # "Adding item ........................Administrator.AppData.Local.Temp.2.d20170913-3860-pgji6g.project.modules.table_util\n"
84
+ #expect(outl[5]).to eq("Adding item table_util\n")
85
+ expect(outl[5]).to start_with("Adding item ")
86
+ expect(outl[5]).to end_with("table_util\n")
83
87
  #expect(outl[6]).to eq("Updating item c3juj9vnmec000000_event\n")
84
88
  # The order isn't always consistent, so just do start_with.
85
89
  #expect(outl[7]).to eq("Updating item timer_timer\n")
86
90
  #expect(outl[8]).to eq("Updating item user_account\n")
87
91
  #expect(outl[9]).to eq("Updating item tsdb_exportJob\n")
88
- (6..9).each { |ln| expect(outl[ln]).to start_with("Updating item ") }
92
+ (6..9).each { |ln| expect(outl[ln]).to start_with('Updating item ') }
89
93
  #expect(outl[10]).to eq("Adding item POST_/api/fire\n")
90
94
  #expect(outl[11]).to eq("Adding item PUT_/api/fire/{code}\n")
91
95
  #expect(outl[12]).to eq("Adding item DELETE_/api/fire/{code}\n")
@@ -93,14 +97,14 @@ RSpec.describe 'murano syncup', :cmd, :needs_password do
93
97
  #expect(outl[14]).to eq("Adding item /icon.png\n")
94
98
  #expect(outl[15]).to eq("Adding item /\n")
95
99
  #expect(outl[16]).to eq("Adding item /js/script.js\n")
96
- (10..16).each { |ln| expect(outl[ln]).to start_with("Adding item ") }
100
+ (10..16).each { |ln| expect(outl[ln]).to start_with('Adding item ') }
97
101
  verify_err_missing_location(err)
98
102
  expect(status.exitstatus).to eq(0)
99
103
 
100
104
  out, err, status = Open3.capture3(capcmd('murano', 'status'))
101
- #expect(out).to start_with(%{Adding:\nDeleting:\nChanging:\n})
102
- #expect(out).to start_with(%{Nothing to add\nNothing to delete\nNothing to change\n})
103
- expect(out).to start_with(%{Nothing new locally\nNothing new remotely\nNothing that differs\n})
105
+ #expect(out).to start_with(%(Adding:\nDeleting:\nChanging:\n))
106
+ #expect(out).to start_with(%(Nothing to add\nNothing to delete\nNothing to change\n))
107
+ expect(out).to start_with(%(Nothing new locally\nNothing new remotely\nNothing that differs\n))
104
108
  # Due to timestamp races, there might be modules or services in Changing.
105
109
  #expect(err).to eq('')
106
110
  verify_err_missing_location(err)
@@ -1,10 +1,17 @@
1
+ # Last Modified: 2017.09.12 /coding: utf-8
2
+ # frozen_string_literal: true
3
+
4
+ # Copyright © 2016-2017 Exosite LLC.
5
+ # License: MIT. See LICENSE.txt.
6
+ # vim:tw=0:ts=2:sw=2:et:ai
7
+
1
8
  require 'fileutils'
2
9
  require 'open3'
3
10
  require 'pathname'
4
11
  require 'cmd_common'
5
12
 
6
13
  RSpec.describe 'murano usage', :cmd, :needs_password do
7
- include_context "CI_CMD"
14
+ include_context 'CI_CMD'
8
15
 
9
16
  before(:example) do
10
17
  # NOTE: The usage command works on one or more solutions of any type.
@@ -28,11 +35,11 @@ RSpec.describe 'murano usage', :cmd, :needs_password do
28
35
  end
29
36
 
30
37
  def confirm_usage_table(olines, ix)
31
- expect(olines[ix+0]).to match(/^(Product|Application): usage[tT]est[a-z0-9]+ <[a-z0-9]+> https:\/\/[.a-z0-9]+$/)
32
- expect(olines[ix+1]).to match(/^(\+-+){5}\+$/)
33
- expect(olines[ix+2]).to match(/^\|\s+\| Quota\s+\| Daily\s+\| Monthly\s+\| Total\s+\|$/)
38
+ expect(olines[ix + 0]).to match(%r{^(Product|Application): usage[tT]est[a-z0-9]+ <[a-z0-9]+> https://[.a-z0-9]+$})
39
+ expect(olines[ix + 1]).to match(/^(\+-+){5}\+$/)
40
+ expect(olines[ix + 2]).to match(/^\|\s+\| Quota\s+\| Daily\s+\| Monthly\s+\| Total\s+\|$/)
34
41
  # Beneath the header row is a splitter line.
35
- expect(olines[ix+3]).to match(/^(\+-+){5}\+$/)
42
+ expect(olines[ix + 3]).to match(/^(\+-+){5}\+$/)
36
43
  ix += 4
37
44
  # Beneath the splitter line are 1 or more rows, one for each service.
38
45
  loop do
@@ -47,17 +54,14 @@ RSpec.describe 'murano usage', :cmd, :needs_password do
47
54
  ix += 1
48
55
  end
49
56
 
50
- it "show usage" do
57
+ it 'show usage' do
51
58
  out, err, status = Open3.capture3(capcmd('murano', 'usage'))
52
59
  expect(err).to eq('')
53
60
  olines = out.lines
54
61
  ix = 0
55
62
  ix = confirm_usage_table(olines, ix)
56
- ix = confirm_usage_table(olines, ix)
63
+ _ix = confirm_usage_table(olines, ix)
57
64
  expect(status.exitstatus).to eq(0)
58
65
  end
59
-
60
66
  end
61
67
 
62
- # vim: set ai et sw=2 ts=2 :
63
-
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: MuranoCLI
3
3
  version: !ruby/object:Gem::Version
4
- version: 3.0.2
4
+ version: 3.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Michael Conrad Tadpol Tilstra
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2017-09-11 00:00:00.000000000 Z
11
+ date: 2017-09-13 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: certified
@@ -164,6 +164,20 @@ dependencies:
164
164
  - - "~>"
165
165
  - !ruby/object:Gem::Version
166
166
  version: 3.2016.0521
167
+ - !ruby/object:Gem::Dependency
168
+ name: os
169
+ requirement: !ruby/object:Gem::Requirement
170
+ requirements:
171
+ - - "~>"
172
+ - !ruby/object:Gem::Version
173
+ version: 1.0.0
174
+ type: :runtime
175
+ prerelease: false
176
+ version_requirements: !ruby/object:Gem::Requirement
177
+ requirements:
178
+ - - "~>"
179
+ - !ruby/object:Gem::Version
180
+ version: 1.0.0
167
181
  - !ruby/object:Gem::Dependency
168
182
  name: paint
169
183
  requirement: !ruby/object:Gem::Requirement
@@ -249,47 +263,47 @@ dependencies:
249
263
  - !ruby/object:Gem::Version
250
264
  version: 0.2.4
251
265
  - !ruby/object:Gem::Dependency
252
- name: bundler
266
+ name: rake
253
267
  requirement: !ruby/object:Gem::Requirement
254
268
  requirements:
255
269
  - - "~>"
256
270
  - !ruby/object:Gem::Version
257
- version: 1.7.6
258
- type: :development
271
+ version: 12.1.0
272
+ type: :runtime
259
273
  prerelease: false
260
274
  version_requirements: !ruby/object:Gem::Requirement
261
275
  requirements:
262
276
  - - "~>"
263
277
  - !ruby/object:Gem::Version
264
- version: 1.7.6
278
+ version: 12.1.0
265
279
  - !ruby/object:Gem::Dependency
266
- name: byebug
280
+ name: bundler
267
281
  requirement: !ruby/object:Gem::Requirement
268
282
  requirements:
269
283
  - - "~>"
270
284
  - !ruby/object:Gem::Version
271
- version: 9.0.6
285
+ version: 1.7.6
272
286
  type: :development
273
287
  prerelease: false
274
288
  version_requirements: !ruby/object:Gem::Requirement
275
289
  requirements:
276
290
  - - "~>"
277
291
  - !ruby/object:Gem::Version
278
- version: 9.0.6
292
+ version: 1.7.6
279
293
  - !ruby/object:Gem::Dependency
280
- name: rake
294
+ name: byebug
281
295
  requirement: !ruby/object:Gem::Requirement
282
296
  requirements:
283
297
  - - "~>"
284
298
  - !ruby/object:Gem::Version
285
- version: 10.1.1
299
+ version: 9.0.6
286
300
  type: :development
287
301
  prerelease: false
288
302
  version_requirements: !ruby/object:Gem::Requirement
289
303
  requirements:
290
304
  - - "~>"
291
305
  - !ruby/object:Gem::Version
292
- version: 10.1.1
306
+ version: 9.0.6
293
307
  - !ruby/object:Gem::Dependency
294
308
  name: rspec
295
309
  requirement: !ruby/object:Gem::Requirement
@@ -364,14 +378,14 @@ dependencies:
364
378
  name: ocra
365
379
  requirement: !ruby/object:Gem::Requirement
366
380
  requirements:
367
- - - "~>"
381
+ - - '='
368
382
  - !ruby/object:Gem::Version
369
383
  version: 1.3.8
370
384
  type: :development
371
385
  prerelease: false
372
386
  version_requirements: !ruby/object:Gem::Requirement
373
387
  requirements:
374
- - - "~>"
388
+ - - '='
375
389
  - !ruby/object:Gem::Version
376
390
  version: 1.3.8
377
391
  description: |-
@@ -413,6 +427,7 @@ files:
413
427
  - lib/MrMurano.rb
414
428
  - lib/MrMurano/Account.rb
415
429
  - lib/MrMurano/Business.rb
430
+ - lib/MrMurano/Commander-Entry.rb
416
431
  - lib/MrMurano/Config-Migrate.rb
417
432
  - lib/MrMurano/Config.rb
418
433
  - lib/MrMurano/Content.rb
@@ -478,7 +493,6 @@ files:
478
493
  - lib/MrMurano/schema/resource-v1.0.0.yaml
479
494
  - lib/MrMurano/schema/sf-v0.2.0.yaml
480
495
  - lib/MrMurano/schema/sf-v0.3.0.yaml
481
- - lib/MrMurano/spec_commander.rb
482
496
  - lib/MrMurano/template/mock.erb
483
497
  - lib/MrMurano/template/projectFile.murano.erb
484
498
  - lib/MrMurano/verbosing.rb