MrMurano 1.0.2 → 1.0.3
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 +4 -4
- data/TODO.taskpaper +4 -1
- data/lib/MrMurano/Account.rb +4 -2
- data/lib/MrMurano/Solution-Users.rb +2 -1
- data/lib/MrMurano/Solution.rb +3 -2
- data/lib/MrMurano/configFile.rb +33 -7
- data/lib/MrMurano/status.rb +15 -21
- data/lib/MrMurano/sync.rb +10 -26
- data/lib/MrMurano/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 08043fd1cb5602fd295ab448b40143d91cfbf6c2
|
4
|
+
data.tar.gz: 5446486ffce9f83d28f0ccb3172e882d480fbce2
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6037888fc38ad48dbdb315da51e2410aba14ffa6302b7286bcbe401a0c97a37e281f7ec48c5196132ebb3aa27f02f1cff14e697840feb80615089eca88e103bf
|
7
|
+
data.tar.gz: 65045aed6de179a7eb526f40361f0e8f4844ff396e7277408fa665fa8177c17b60d1c0a26b5bb0b28703859e1fe5cd0cae4ccecc3a4eefcae22e98591dd3e6d5
|
data/TODO.taskpaper
CHANGED
@@ -1,9 +1,11 @@
|
|
1
1
|
|
2
2
|
Commands:
|
3
|
+
- Status will show things have changes when they don’t.
|
4
|
+
- Default for most commands should be -same @done(2016-08-02)
|
3
5
|
- Add Diff Command @done(2016-07-27)
|
4
6
|
|
5
7
|
Endpoints:
|
6
|
-
- Add support for multiple endpoints in one file
|
8
|
+
- Add support for multiple endpoints in one file (maybe)
|
7
9
|
- Add directory support like in modules @done(2016-07-26)
|
8
10
|
|
9
11
|
Files:
|
@@ -22,6 +24,7 @@ Product:
|
|
22
24
|
|
23
25
|
Config:
|
24
26
|
- Think about adding dev,staging,prod system; how would that work?
|
27
|
+
Would it work ok to just use the --configfile option?
|
25
28
|
|
26
29
|
SolutionBase:
|
27
30
|
- All network traffic is serialized. Make some parallel.
|
data/lib/MrMurano/Account.rb
CHANGED
@@ -126,15 +126,17 @@ module MrMurano
|
|
126
126
|
end
|
127
127
|
end
|
128
128
|
|
129
|
-
# This is largely for testing.
|
130
129
|
command :account do |c|
|
131
|
-
c.syntax = %{mr account
|
130
|
+
c.syntax = %{mr account [options]}
|
132
131
|
c.description = %{Show things about your account.}
|
133
132
|
c.option '--businesses', 'Get businesses for user'
|
134
133
|
c.option '--products', 'Get products for user (needs a business)'
|
135
134
|
c.option '--solutions', 'Get solutions for user (needs a business)'
|
136
135
|
c.option '--idonly', 'Only return the ids'
|
137
136
|
|
137
|
+
c.example %{List all businesses}, 'mr account --businesses'
|
138
|
+
c.example %{List solutions}, 'mr account --solutions -c business.id=XXXXXXXX'
|
139
|
+
|
138
140
|
c.action do |args, options|
|
139
141
|
|
140
142
|
acc = MrMurano::Account.new
|
@@ -32,6 +32,7 @@ module MrMurano
|
|
32
32
|
say_error ":: #{response.body}"
|
33
33
|
end
|
34
34
|
end
|
35
|
+
remote.reject!{|k,v| k==:synckey}
|
35
36
|
post('/', remote)
|
36
37
|
end
|
37
38
|
|
@@ -46,7 +47,7 @@ module MrMurano
|
|
46
47
|
here.delete_if do |i|
|
47
48
|
Hash.transform_keys_to_symbols(i)[@itemkey] == item[@itemkey]
|
48
49
|
end
|
49
|
-
here << item
|
50
|
+
here << item.reject{|k,v| k==:synckey}
|
50
51
|
local.open('wb') do |io|
|
51
52
|
io.write here.map{|i| Hash.transform_keys_to_strings(i)}.to_yaml
|
52
53
|
end
|
data/lib/MrMurano/Solution.rb
CHANGED
@@ -231,6 +231,7 @@ module MrMurano
|
|
231
231
|
end
|
232
232
|
end
|
233
233
|
if options.create then
|
234
|
+
pp toadd
|
234
235
|
toadd.each do |item|
|
235
236
|
verbose "Adding item #{item[:synckey]}"
|
236
237
|
unless $cfg['tool.dry'] then
|
@@ -296,8 +297,8 @@ module MrMurano
|
|
296
297
|
tomod = []
|
297
298
|
unchg = []
|
298
299
|
if options.asdown then
|
299
|
-
todel = (herebox.keys - therebox.keys).map{|key|
|
300
|
-
toadd = (therebox.keys - herebox.keys).map{|key|
|
300
|
+
todel = (herebox.keys - therebox.keys).map{|key| herebox[key] }
|
301
|
+
toadd = (therebox.keys - herebox.keys).map{|key| therebox[key] }
|
301
302
|
else
|
302
303
|
toadd = (herebox.keys - therebox.keys).map{|key| herebox[key] }
|
303
304
|
todel = (therebox.keys - herebox.keys).map{|key| therebox[key] }
|
data/lib/MrMurano/configFile.rb
CHANGED
@@ -156,22 +156,48 @@ module MrMurano
|
|
156
156
|
end
|
157
157
|
|
158
158
|
end
|
159
|
+
|
160
|
+
##
|
161
|
+
# IF none of -same, then -same; else just the ones listed.
|
162
|
+
def self.checkSAME(opt)
|
163
|
+
unless opt.files or opt.endpoints or opt.modules or
|
164
|
+
opt.eventhandlers or opt.roles or opt.users then
|
165
|
+
opt.files = true
|
166
|
+
opt.endpoints = true
|
167
|
+
opt.modules = true
|
168
|
+
opt.eventhandlers = true
|
169
|
+
end
|
170
|
+
if opt.all then
|
171
|
+
opt.files = true
|
172
|
+
opt.endpoints = true
|
173
|
+
opt.modules = true
|
174
|
+
opt.eventhandlers = true
|
175
|
+
opt.roles = true
|
176
|
+
opt.users = true
|
177
|
+
end
|
178
|
+
end
|
159
179
|
end
|
160
180
|
|
161
181
|
command :config do |c|
|
162
182
|
c.syntax = %{mr config [options] <key> [<new value>]}
|
163
183
|
c.summary = %{Get and set options}
|
164
184
|
c.description = %{
|
165
|
-
You can get, set, or query config options with this command. All config
|
166
|
-
are in a 'section.key' format. There is also a layer of scopes
|
167
|
-
be saved in.
|
168
|
-
|
185
|
+
You can get, set, or query config options with this command. All config
|
186
|
+
options are in a 'section.key' format. There is also a layer of scopes
|
187
|
+
that the keys can be saved in.
|
169
188
|
}
|
170
189
|
|
171
190
|
c.example %{See what the current combined config is}, 'mr config --dump'
|
191
|
+
c.example %{Query a value}, 'mr config solution.id'
|
192
|
+
c.example %{Set a new value; writing to the project config file}, 'mr config solution.id XXXXXXXX'
|
193
|
+
c.example %{Set a new value; writing to the private config file}, 'mr config --private solution.id XXXXXXXX'
|
194
|
+
c.example %{Set a new value; writing to the user config file}, 'mr config --user user.name my@email.address'
|
195
|
+
c.example %{Unset a value in a configfile. (lower scopes will become visible if set)},
|
196
|
+
'mr config diff.cmd --unset'
|
197
|
+
|
172
198
|
|
173
|
-
c.option '--system', 'Use only the system config file'
|
174
|
-
c.option '--user', 'Use only the config file in $HOME'
|
199
|
+
c.option '--system', 'Use only the system config file. (/etc/mrmuranorc)'
|
200
|
+
c.option '--user', 'Use only the config file in $HOME (.mrmuranorc)'
|
175
201
|
c.option '--project', 'Use only the config file in the project (.mrmuranorc)'
|
176
202
|
c.option '--private', 'Use only the private config file in the project (.mrmuranorc.private)'
|
177
203
|
c.option '--specified', 'Use only the config file from the --config option.'
|
@@ -196,7 +222,7 @@ command :config do |c|
|
|
196
222
|
scopes << :project if options.project
|
197
223
|
scopes << :private if options.private
|
198
224
|
scopes << :specified if options.specified
|
199
|
-
scopes = MrMurano::Config
|
225
|
+
scopes = MrMurano::Config::CFG_SCOPES if scopes.empty?
|
200
226
|
|
201
227
|
say $cfg.get(args[0], scopes)
|
202
228
|
else
|
data/lib/MrMurano/status.rb
CHANGED
@@ -3,12 +3,12 @@ command :status do |c|
|
|
3
3
|
c.syntax = %{mr status [options]}
|
4
4
|
c.description = %{Get the status of files}
|
5
5
|
c.option '--all', 'Check everything'
|
6
|
-
c.option '-s','--files', %{Static Files}
|
7
|
-
c.option '-a','--endpoints', %{Endpoints}
|
8
|
-
c.option '-m','--modules', %{Modules}
|
9
|
-
c.option '-e','--eventhandlers', %{Event Handlers}
|
10
|
-
c.option '--roles', %{Roles}
|
11
|
-
c.option '--users', %{Users}
|
6
|
+
c.option '-s','--[no-]files', %{Static Files}
|
7
|
+
c.option '-a','--[no-]endpoints', %{Endpoints}
|
8
|
+
c.option '-m','--[no-]modules', %{Modules}
|
9
|
+
c.option '-e','--[no-]eventhandlers', %{Event Handlers}
|
10
|
+
c.option '--[no-]roles', %{Roles}
|
11
|
+
c.option '--[no-]users', %{Users}
|
12
12
|
|
13
13
|
c.option '--[no-]asdown', %{Report as if syncdown instead of syncup}
|
14
14
|
c.option '--[no-]diff', %{For modified items, show a diff}
|
@@ -16,16 +16,10 @@ command :status do |c|
|
|
16
16
|
c.option '--[no-]showall', %{List unchanged as well}
|
17
17
|
|
18
18
|
c.action do |args,options|
|
19
|
-
options.default :delete=>true, :create=>true, :update=>true, :diff=>false,
|
19
|
+
options.default :delete=>true, :create=>true, :update=>true, :diff=>false,
|
20
|
+
:grouped => true
|
20
21
|
|
21
|
-
|
22
|
-
options.files = true
|
23
|
-
options.endpoints = true
|
24
|
-
options.modules = true
|
25
|
-
options.roles = true
|
26
|
-
options.users = true
|
27
|
-
options.eventhandlers = true
|
28
|
-
end
|
22
|
+
MrMurano.checkSAME(options)
|
29
23
|
|
30
24
|
def fmtr(item)
|
31
25
|
if item.has_key? :local_path then
|
@@ -64,37 +58,37 @@ command :status do |c|
|
|
64
58
|
if options.endpoints then
|
65
59
|
sol = MrMurano::Endpoint.new
|
66
60
|
ret = sol.status($cfg['location.base'] + $cfg['location.endpoints'], options)
|
67
|
-
gmerge(ret, '
|
61
|
+
gmerge(ret, 'A', options)
|
68
62
|
end
|
69
63
|
|
70
64
|
if options.modules then
|
71
65
|
sol = MrMurano::Library.new
|
72
66
|
ret = sol.status( $cfg['location.base'] + $cfg['location.modules'], options)
|
73
|
-
gmerge(ret, '
|
67
|
+
gmerge(ret, 'M', options)
|
74
68
|
end
|
75
69
|
|
76
70
|
if options.eventhandlers then
|
77
71
|
sol = MrMurano::EventHandler.new
|
78
72
|
ret = sol.status( $cfg['location.base'] + $cfg['location.eventhandlers'], options)
|
79
|
-
gmerge(ret, '
|
73
|
+
gmerge(ret, 'E', options)
|
80
74
|
end
|
81
75
|
|
82
76
|
if options.roles then
|
83
77
|
sol = MrMurano::Role.new
|
84
78
|
ret = sol.status( $cfg['location.base'] + $cfg['location.roles'], options)
|
85
|
-
gmerge(ret, '
|
79
|
+
gmerge(ret, 'R', options)
|
86
80
|
end
|
87
81
|
|
88
82
|
if options.users then
|
89
83
|
sol = MrMurano::User.new
|
90
84
|
ret = sol.status( $cfg['location.base'] + $cfg['location.users'], options)
|
91
|
-
gmerge(ret, '
|
85
|
+
gmerge(ret, 'U', options)
|
92
86
|
end
|
93
87
|
|
94
88
|
if options.files then
|
95
89
|
sol = MrMurano::File.new
|
96
90
|
ret = sol.status( $cfg['location.base'] + $cfg['location.files'], options)
|
97
|
-
gmerge(ret, '
|
91
|
+
gmerge(ret, 'S', options)
|
98
92
|
end
|
99
93
|
|
100
94
|
pretty(@grouped, options) if options.grouped
|
data/lib/MrMurano/sync.rb
CHANGED
@@ -3,10 +3,10 @@ command :syncdown do |c|
|
|
3
3
|
c.syntax = %{mr syncdown [options]}
|
4
4
|
c.description = %{Sync project down from Murano}
|
5
5
|
c.option '--all', 'Sync everything'
|
6
|
-
c.option '-s','--files', %{Sync Static Files}
|
7
|
-
c.option '-a','--endpoints', %{Sync Endpoints}
|
8
|
-
c.option '-m','--modules', %{Sync Modules}
|
9
|
-
c.option '-e','--eventhandlers', %{Sync Event Handlers}
|
6
|
+
c.option '-s','--[no-]files', %{Sync Static Files}
|
7
|
+
c.option '-a','--[no-]endpoints', %{Sync Endpoints}
|
8
|
+
c.option '-m','--[no-]modules', %{Sync Modules}
|
9
|
+
c.option '-e','--[no-]eventhandlers', %{Sync Event Handlers}
|
10
10
|
c.option '--roles', %{Sync Roles}
|
11
11
|
c.option '--users', %{Sync Users}
|
12
12
|
|
@@ -20,15 +20,7 @@ command :syncdown do |c|
|
|
20
20
|
|
21
21
|
c.action do |args,options|
|
22
22
|
options.default :delete=>true, :create=>true, :update=>true
|
23
|
-
|
24
|
-
if options.all then
|
25
|
-
options.files = true
|
26
|
-
options.endpoints = true
|
27
|
-
options.modules = true
|
28
|
-
options.roles = true
|
29
|
-
options.users = true
|
30
|
-
options.eventhandlers = true
|
31
|
-
end
|
23
|
+
MrMurano.checkSAME(options)
|
32
24
|
|
33
25
|
if options.endpoints then
|
34
26
|
sol = MrMurano::Endpoint.new
|
@@ -68,10 +60,10 @@ command :syncup do |c|
|
|
68
60
|
c.syntax = %{mr syncup [options]}
|
69
61
|
c.description = %{Sync project up into Murano}
|
70
62
|
c.option '--all', 'Sync everything'
|
71
|
-
c.option '-s','--files', %{Sync Static Files}
|
72
|
-
c.option '-a','--endpoints', %{Sync Endpoints}
|
73
|
-
c.option '-m','--modules', %{Sync Modules}
|
74
|
-
c.option '-e','--eventhandlers', %{Sync Event Handlers}
|
63
|
+
c.option '-s','--[no-]files', %{Sync Static Files}
|
64
|
+
c.option '-a','--[no-]endpoints', %{Sync Endpoints}
|
65
|
+
c.option '-m','--[no-]modules', %{Sync Modules}
|
66
|
+
c.option '-e','--[no-]eventhandlers', %{Sync Event Handlers}
|
75
67
|
c.option '--roles', %{Sync Roles}
|
76
68
|
c.option '--users', %{Sync Users}
|
77
69
|
|
@@ -85,15 +77,7 @@ command :syncup do |c|
|
|
85
77
|
|
86
78
|
c.action do |args,options|
|
87
79
|
options.default :delete=>true, :create=>true, :update=>true
|
88
|
-
|
89
|
-
if options.all then
|
90
|
-
options.files = true
|
91
|
-
options.endpoints = true
|
92
|
-
options.modules = true
|
93
|
-
options.roles = true
|
94
|
-
options.users = true
|
95
|
-
options.eventhandlers = true
|
96
|
-
end
|
80
|
+
MrMurano.checkSAME(options)
|
97
81
|
|
98
82
|
if options.endpoints then
|
99
83
|
sol = MrMurano::Endpoint.new
|
data/lib/MrMurano/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: MrMurano
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.3
|
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: 2016-08-
|
11
|
+
date: 2016-08-03 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: commander
|