Class: Lono::Extension::New
Class Method Summary
collapse
Instance Method Summary
collapse
Methods included from Helper
#extension_class_name, #extension_underscore_name
#user_info
Class Method Details
.cli_options ⇒ Object
14
15
16
17
18
|
# File 'lib/lono/extension/new.rb', line 14
def self.cli_options
[
[:force, type: :boolean, desc: "Bypass overwrite are you sure prompt for existing files."],
]
end
|
.source_root ⇒ Object
9
10
11
12
|
# File 'lib/lono/extension/new.rb', line 9
def self.source_root
templates = File.expand_path("../../templates", File.dirname(__FILE__))
"#{templates}/extension"
end
|
Instance Method Details
#create_license ⇒ Object
34
35
36
37
|
# File 'lib/lono/extension/new.rb', line 34
def create_license
return unless ENV['LONO_LICENSE_FILE']
copy_file ENV['LONO_LICENSE_FILE'], "#{@cwd}/#{extension_name}/LICENSE.txt"
end
|
#create_project ⇒ Object
29
30
31
32
|
# File 'lib/lono/extension/new.rb', line 29
def create_project
puts "=> Creating new extension called #{extension_name}."
directory ".", "#{@cwd}/#{extension_name}", options
end
|
#set_cwd ⇒ Object
25
26
27
|
# File 'lib/lono/extension/new.rb', line 25
def set_cwd
@cwd = ENV['LONO_TEST'] ? File.dirname(Lono.root) : "#{Dir.pwd}/app/extensions"
end
|
#set_destination_root ⇒ Object
After this commands are executed with the newly created project
40
41
42
43
44
45
|
# File 'lib/lono/extension/new.rb', line 40
def set_destination_root
destination_root = "#{@cwd}/#{extension_name}"
self.destination_root = destination_root
@old_dir = Dir.pwd FileUtils.cd(self.destination_root)
end
|
#tree ⇒ Object
61
62
63
|
# File 'lib/lono/extension/new.rb', line 61
def tree
tree_structure("extension")
end
|
#welcome_message ⇒ Object
47
48
49
50
51
52
53
54
55
56
57
58
59
|
# File 'lib/lono/extension/new.rb', line 47
def welcome_message
puts <<~EOL
#{"="*64}
Congrats 🎉 You have successfully created a lono extension.
Cd into your extension and check things out.
cd #{extension_name}
More info: https://lono.cloud/docs/extensions
EOL
end
|