lono-pro 0.4.6 → 0.4.7
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/CHANGELOG.md +3 -0
- data/lib/lono/pro/importer/base.rb +10 -3
- data/lib/lono/pro/importer/dsl.rb +15 -4
- data/lib/lono/pro/importer/params.rb +5 -3
- data/lib/lono/pro/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: 941189b455e443202a2e75bf8912033b64f5235106c795d8c2fd8de06ec4ea3a
|
4
|
+
data.tar.gz: adf2c75a22cda3734a9213505e174af3d6b82e4ae46a746ed5c291578e72909d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2d90a4f2408d3fde97aaf0ee234871b4230a2cb9e2ecfb873cbdac89d44ee3cdbdb4d57adf44b59da915cd5ce65bd525fd7a107d79f13e09cf07aa2ba608309
|
7
|
+
data.tar.gz: e027f7bf9a5708cb14119412b5da5097f9e303bd84e08b08bfece0cdb29f7790425dff36c987ec08e8fa97ef744c59be1f260dcfa887c0c57257430e7880ae5f
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,9 @@
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
4
4
|
This project *tries* to adhere to [Semantic Versioning](http://semver.org/), even before v1.0.
|
5
5
|
|
6
|
+
## [0.4.7]
|
7
|
+
- #1 code import: create full blueprint structure
|
8
|
+
|
6
9
|
## [0.4.6]
|
7
10
|
- update cli help: convert, import
|
8
11
|
|
@@ -1,6 +1,8 @@
|
|
1
1
|
class Lono::Pro::Importer
|
2
2
|
class Base
|
3
3
|
include Download
|
4
|
+
include Thor::Actions
|
5
|
+
include Thor::Base
|
4
6
|
|
5
7
|
def initialize(source, options)
|
6
8
|
@source, @options = source, options
|
@@ -11,6 +13,7 @@ class Lono::Pro::Importer
|
|
11
13
|
Lono.blueprint_root = "#{Lono.root}/blueprints/#{@blueprint}"
|
12
14
|
|
13
15
|
@tmp_path = "/tmp/lono/import/template.yml"
|
16
|
+
self.destination_root = Dir.pwd # Thor::Actions require destination_root to be set
|
14
17
|
end
|
15
18
|
|
16
19
|
private
|
@@ -21,14 +24,18 @@ class Lono::Pro::Importer
|
|
21
24
|
end
|
22
25
|
|
23
26
|
def create_params(template_path)
|
27
|
+
create_params_file(template_path, "development")
|
28
|
+
create_params_file(template_path, "production")
|
29
|
+
end
|
30
|
+
|
31
|
+
def create_params_file(template_path, env)
|
24
32
|
params_path = if @blueprint != @template
|
25
|
-
"configs/#{@blueprint}/params/#{
|
33
|
+
"configs/#{@blueprint}/params/#{env}/#{@template}.txt"
|
26
34
|
else
|
27
|
-
"configs/#{@blueprint}/params/#{
|
35
|
+
"configs/#{@blueprint}/params/#{env}.txt"
|
28
36
|
end
|
29
37
|
params = Params.new(template_path, params_path)
|
30
38
|
params.create
|
31
|
-
puts "Params file created at #{pretty_path(params_path)}"
|
32
39
|
end
|
33
40
|
|
34
41
|
# removes the ./ at the beginning if it's there in the path
|
@@ -3,12 +3,16 @@ class Lono::Pro::Importer
|
|
3
3
|
def run
|
4
4
|
tmp_template_path = download_template(@source, @tmp_path)
|
5
5
|
template = IO.read(tmp_template_path)
|
6
|
+
|
7
|
+
Lono::Blueprint::New.start([@blueprint, "--import", "--type", "dsl"])
|
8
|
+
|
6
9
|
translate_to_dsl(template)
|
7
|
-
create_dot_lono("dsl")
|
8
10
|
create_params(tmp_template_path)
|
9
11
|
# Let's not summarize the template in case the Ruby syntax is invalid with the import coder.
|
10
12
|
# Add summarize back in later
|
11
13
|
# summarize
|
14
|
+
|
15
|
+
final_message
|
12
16
|
end
|
13
17
|
|
14
18
|
def translate_to_dsl(template)
|
@@ -17,9 +21,16 @@ class Lono::Pro::Importer
|
|
17
21
|
|
18
22
|
path = "#{Lono.config.templates_path}/#{@template}.rb"
|
19
23
|
FileUtils.mkdir_p(File.dirname(path))
|
20
|
-
|
21
|
-
|
22
|
-
|
24
|
+
create_file(path, result) # Thor::Action
|
25
|
+
end
|
26
|
+
|
27
|
+
def final_message
|
28
|
+
puts <<~EOL
|
29
|
+
#{"="*64}
|
30
|
+
Congrats 🎉 You have successfully imported a lono blueprint.
|
31
|
+
|
32
|
+
More info: https://lono.cloud/docs/core/blueprints
|
33
|
+
EOL
|
23
34
|
end
|
24
35
|
end
|
25
36
|
end
|
@@ -1,16 +1,17 @@
|
|
1
1
|
class Lono::Pro::Importer
|
2
2
|
class Params
|
3
|
+
include Thor::Actions
|
4
|
+
include Thor::Base
|
3
5
|
extend Memoist
|
4
6
|
|
5
7
|
def initialize(template_path, params_path)
|
6
8
|
@template_path, @params_path = template_path, params_path
|
7
9
|
@params_path = normalize_path(@params_path)
|
10
|
+
self.destination_root = Dir.pwd # Thor::Actions require destination_root to be set
|
8
11
|
end
|
9
12
|
|
10
13
|
# Creates starter params/base/[stack-name].txt file
|
11
14
|
def create
|
12
|
-
template = YAML.load_file(@template_path)
|
13
|
-
|
14
15
|
result = []
|
15
16
|
required_parameters.each do |name, attributes|
|
16
17
|
result << "#{name}=#{attributes["Default"]}"
|
@@ -21,9 +22,10 @@ class Lono::Pro::Importer
|
|
21
22
|
end
|
22
23
|
content = result.join("\n") + "\n"
|
23
24
|
|
25
|
+
|
24
26
|
folder = File.dirname(@params_path)
|
25
27
|
FileUtils.mkdir_p(folder) unless File.exist?(folder)
|
26
|
-
|
28
|
+
create_file(@params_path, content) # Thor::Action
|
27
29
|
end
|
28
30
|
|
29
31
|
def required_parameters
|
data/lib/lono/pro/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: lono-pro
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.4.
|
4
|
+
version: 0.4.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Tung Nguyen
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2019-10-
|
11
|
+
date: 2019-10-30 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: zeitwerk
|