pangea 0.0.6 → 0.0.8
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +16 -2
- data/gemset.nix +59 -5
- data/lib/pangea/cli/config.rb +37 -7
- data/lib/pangea/cli/subcommands/config.rb +27 -0
- data/lib/pangea/cli/subcommands/infra.rb +3 -3
- data/lib/pangea/cli/subcommands/main.rb +0 -2
- data/lib/pangea/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: '08bbe0e8f0931815a00f5f718214ea075f28a47e5f39939a92a8b114d967776a'
|
4
|
+
data.tar.gz: 55cf406d8254ff7f872ceecdbc5914076489584749a97d9793978099aecfa6c9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 3b0a439347ed7cc7e52f4bd605779acaff104caf29f3e9f9d3ebf1946b6cbd484477ffc22669c41b2cbcebdbc9f27bc64db9f610784e6e15d52d92f00d4a12b4
|
7
|
+
data.tar.gz: e11262b1aa6b3a3fd1f44bd7da0a1fe843dcd029e4dde3d9893ac43427729b146d88366cc48d45e5d7019e2a920c6931c1895b9b1c687d5bc92253d9a079cd62
|
data/Gemfile.lock
CHANGED
@@ -15,6 +15,7 @@ GEM
|
|
15
15
|
rexml
|
16
16
|
kramdown-parser-gfm (1.1.0)
|
17
17
|
kramdown (~> 2.0)
|
18
|
+
language_server-protocol (3.17.0.3)
|
18
19
|
nokogiri (1.15.2-x86_64-darwin)
|
19
20
|
racc (~> 1.4)
|
20
21
|
parallel (1.23.0)
|
@@ -43,9 +44,10 @@ GEM
|
|
43
44
|
rspec-mocks (3.12.5)
|
44
45
|
diff-lcs (>= 1.2.0, < 2.0)
|
45
46
|
rspec-support (~> 3.12.0)
|
46
|
-
rspec-support (3.12.
|
47
|
-
rubocop (1.
|
47
|
+
rspec-support (3.12.1)
|
48
|
+
rubocop (1.54.0)
|
48
49
|
json (~> 2.3)
|
50
|
+
language_server-protocol (>= 3.17.0)
|
49
51
|
parallel (~> 1.10)
|
50
52
|
parser (>= 3.2.2.3)
|
51
53
|
rainbow (>= 2.2.2, < 4.0)
|
@@ -56,6 +58,16 @@ GEM
|
|
56
58
|
unicode-display_width (>= 2.4.0, < 3.0)
|
57
59
|
rubocop-ast (1.29.0)
|
58
60
|
parser (>= 3.2.1.0)
|
61
|
+
rubocop-capybara (2.18.0)
|
62
|
+
rubocop (~> 1.41)
|
63
|
+
rubocop-factory_bot (2.23.1)
|
64
|
+
rubocop (~> 1.33)
|
65
|
+
rubocop-rake (0.6.0)
|
66
|
+
rubocop (~> 1.0)
|
67
|
+
rubocop-rspec (2.22.0)
|
68
|
+
rubocop (~> 1.33)
|
69
|
+
rubocop-capybara (~> 2.17)
|
70
|
+
rubocop-factory_bot (~> 2.22)
|
59
71
|
ruby-progressbar (1.13.0)
|
60
72
|
solargraph (0.49.0)
|
61
73
|
backport (~> 1.2)
|
@@ -113,6 +125,8 @@ DEPENDENCIES
|
|
113
125
|
rake
|
114
126
|
rspec
|
115
127
|
rubocop
|
128
|
+
rubocop-rake
|
129
|
+
rubocop-rspec
|
116
130
|
solargraph
|
117
131
|
terraform-synthesizer
|
118
132
|
toml-rb
|
data/gemset.nix
CHANGED
@@ -121,6 +121,16 @@
|
|
121
121
|
};
|
122
122
|
version = "1.1.0";
|
123
123
|
};
|
124
|
+
language_server-protocol = {
|
125
|
+
groups = ["default" "development"];
|
126
|
+
platforms = [];
|
127
|
+
source = {
|
128
|
+
remotes = ["https://rubygems.org"];
|
129
|
+
sha256 = "0gvb1j8xsqxms9mww01rmdl78zkd72zgxaap56bhv8j45z05hp1x";
|
130
|
+
type = "gem";
|
131
|
+
};
|
132
|
+
version = "3.17.0.3";
|
133
|
+
};
|
124
134
|
nokogiri = {
|
125
135
|
dependencies = ["racc"];
|
126
136
|
groups = ["default" "development"];
|
@@ -284,21 +294,21 @@
|
|
284
294
|
platforms = [];
|
285
295
|
source = {
|
286
296
|
remotes = ["https://rubygems.org"];
|
287
|
-
sha256 = "
|
297
|
+
sha256 = "1ky86j3ksi26ng9ybd7j0qsdf1lpr8mzrmn98yy9gzv801fvhsgr";
|
288
298
|
type = "gem";
|
289
299
|
};
|
290
|
-
version = "3.12.
|
300
|
+
version = "3.12.1";
|
291
301
|
};
|
292
302
|
rubocop = {
|
293
|
-
dependencies = ["json" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
303
|
+
dependencies = ["json" "language_server-protocol" "parallel" "parser" "rainbow" "regexp_parser" "rexml" "rubocop-ast" "ruby-progressbar" "unicode-display_width"];
|
294
304
|
groups = ["development"];
|
295
305
|
platforms = [];
|
296
306
|
source = {
|
297
307
|
remotes = ["https://rubygems.org"];
|
298
|
-
sha256 = "
|
308
|
+
sha256 = "02ysjbi1gkcpj4x1fdlbzz3vs2vqkk161smrawnaw77y7m3gvq8z";
|
299
309
|
type = "gem";
|
300
310
|
};
|
301
|
-
version = "1.
|
311
|
+
version = "1.54.0";
|
302
312
|
};
|
303
313
|
rubocop-ast = {
|
304
314
|
dependencies = ["parser"];
|
@@ -311,6 +321,50 @@
|
|
311
321
|
};
|
312
322
|
version = "1.29.0";
|
313
323
|
};
|
324
|
+
rubocop-capybara = {
|
325
|
+
dependencies = ["rubocop"];
|
326
|
+
groups = ["default" "development"];
|
327
|
+
platforms = [];
|
328
|
+
source = {
|
329
|
+
remotes = ["https://rubygems.org"];
|
330
|
+
sha256 = "01fn05a87g009ch1sh00abdmgjab87i995msap26vxq1a5smdck6";
|
331
|
+
type = "gem";
|
332
|
+
};
|
333
|
+
version = "2.18.0";
|
334
|
+
};
|
335
|
+
rubocop-factory_bot = {
|
336
|
+
dependencies = ["rubocop"];
|
337
|
+
groups = ["default" "development"];
|
338
|
+
platforms = [];
|
339
|
+
source = {
|
340
|
+
remotes = ["https://rubygems.org"];
|
341
|
+
sha256 = "0kqchl8f67k2g56sq2h1sm2wb6br5gi47s877hlz94g5086f77n1";
|
342
|
+
type = "gem";
|
343
|
+
};
|
344
|
+
version = "2.23.1";
|
345
|
+
};
|
346
|
+
rubocop-rake = {
|
347
|
+
dependencies = ["rubocop"];
|
348
|
+
groups = ["development"];
|
349
|
+
platforms = [];
|
350
|
+
source = {
|
351
|
+
remotes = ["https://rubygems.org"];
|
352
|
+
sha256 = "1nyq07sfb3vf3ykc6j2d5yq824lzq1asb474yka36jxgi4hz5djn";
|
353
|
+
type = "gem";
|
354
|
+
};
|
355
|
+
version = "0.6.0";
|
356
|
+
};
|
357
|
+
rubocop-rspec = {
|
358
|
+
dependencies = ["rubocop" "rubocop-capybara" "rubocop-factory_bot"];
|
359
|
+
groups = ["development"];
|
360
|
+
platforms = [];
|
361
|
+
source = {
|
362
|
+
remotes = ["https://rubygems.org"];
|
363
|
+
sha256 = "00rsflhijcr0q838fgbdmk7knm5kcjpimn6x0k9qmiw15hi96x1d";
|
364
|
+
type = "gem";
|
365
|
+
};
|
366
|
+
version = "2.22.0";
|
367
|
+
};
|
314
368
|
ruby-progressbar = {
|
315
369
|
groups = ["default" "development"];
|
316
370
|
platforms = [];
|
data/lib/pangea/cli/config.rb
CHANGED
@@ -18,25 +18,55 @@ module Config
|
|
18
18
|
|
19
19
|
# return array of paths that can store a configuration
|
20
20
|
def default_paths
|
21
|
-
|
21
|
+
paths = {}
|
22
22
|
|
23
|
+
# configuration files to look for
|
23
24
|
EXTENSIONS.each do |ext|
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
25
|
+
paths[ext] = [] unless p[ext]
|
26
|
+
|
27
|
+
###############################
|
28
|
+
# system level configuration
|
29
|
+
###############################
|
30
|
+
|
31
|
+
paths[ext] << File.join(%(/etc), %(pangea), %(pangea.#{ext}))
|
32
|
+
paths[ext].concat(
|
28
33
|
Dir.glob(
|
29
34
|
File.join(%(/etc/), %(pangea), %(conf.d), %(*.#{ext}))
|
30
35
|
)
|
31
36
|
)
|
32
|
-
|
33
|
-
|
37
|
+
|
38
|
+
# end system level configuration
|
39
|
+
|
40
|
+
###############################
|
41
|
+
# home configuration
|
42
|
+
###############################
|
43
|
+
|
44
|
+
paths[ext] << File.join(xdg_config_home, %(pangea), %(pangea.#{ext}))
|
45
|
+
paths[ext].concat(
|
34
46
|
Dir.glob(
|
35
47
|
File.join(xdg_config_home, %(pangea), %(conf.d), %(*.#{ext}))
|
36
48
|
)
|
37
49
|
)
|
50
|
+
|
51
|
+
# end home configuration
|
52
|
+
|
53
|
+
###############################
|
54
|
+
# local configuration
|
55
|
+
###############################
|
56
|
+
|
57
|
+
paths[ext] << %(pangea.#{ext})
|
58
|
+
paths[ext] << Dir.glob(
|
59
|
+
File.join(
|
60
|
+
%(pangea),
|
61
|
+
%(conf.d),
|
62
|
+
%(*.#{ext})
|
63
|
+
)
|
64
|
+
)
|
65
|
+
|
66
|
+
# end local configuration
|
38
67
|
end
|
39
68
|
|
69
|
+
# only return existing files
|
40
70
|
res = []
|
41
71
|
EXTENSIONS.each do |ext|
|
42
72
|
files = p[ext]
|
@@ -1,4 +1,6 @@
|
|
1
1
|
require %(pangea/cli/subcommands/pangea)
|
2
|
+
require %(pangea/synthesizer/config)
|
3
|
+
require %(pangea/cli/config)
|
2
4
|
|
3
5
|
class ConfigCommand < PangeaCommand
|
4
6
|
usage do
|
@@ -7,8 +9,33 @@ class ConfigCommand < PangeaCommand
|
|
7
9
|
command %(config)
|
8
10
|
end
|
9
11
|
|
12
|
+
argument :subcommand do
|
13
|
+
desc %(subcommand for config)
|
14
|
+
required
|
15
|
+
end
|
16
|
+
|
17
|
+
def help
|
18
|
+
<<~HELP
|
19
|
+
Usage: pangea config [OPTIONS] SUBCOMMAND
|
20
|
+
|
21
|
+
Arguments:
|
22
|
+
SUBCOMMAND subcommand for config
|
23
|
+
|
24
|
+
Options:
|
25
|
+
-h, --help Print usage
|
26
|
+
HELP
|
27
|
+
end
|
28
|
+
|
10
29
|
def run(argv)
|
11
30
|
parse(argv)
|
31
|
+
puts argv
|
12
32
|
print help
|
33
|
+
|
34
|
+
case params[:subcommand].to_s
|
35
|
+
when %(show)
|
36
|
+
config = Config.resolve_configurations
|
37
|
+
puts config
|
38
|
+
end
|
39
|
+
|
13
40
|
end
|
14
41
|
end
|
@@ -87,13 +87,13 @@ class InfraCommand < PangeaCommand
|
|
87
87
|
%(src),
|
88
88
|
src_dir.to_s
|
89
89
|
))
|
90
|
-
|
90
|
+
synth_files = Dir.glob("#{File.join(
|
91
91
|
project[:src][:location].to_s,
|
92
92
|
%(src),
|
93
93
|
src_dir.to_s
|
94
94
|
)}/**/*.rb")
|
95
|
-
|
96
|
-
synth.synthesize(File.read(
|
95
|
+
synth_files.each do |synth_file|
|
96
|
+
synth.synthesize(File.read(synth_file))
|
97
97
|
end
|
98
98
|
end
|
99
99
|
end
|
data/lib/pangea/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: pangea
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- drzthslnt@gmail.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-07-
|
11
|
+
date: 2023-07-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: rubocop-rspec
|