class Lono::Extension::New

Public Class Methods

cli_options() click to toggle source
# 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() click to toggle source
# File lib/lono/extension/new.rb, line 9
def self.source_root
  templates = File.expand_path("../../templates", File.dirname(__FILE__))
  "#{templates}/extension"
end

Public Instance Methods

create_license() click to toggle source
# 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() click to toggle source
# 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() click to toggle source

for specs

# 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() click to toggle source

After this commands are executed with the newly created project

# 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 # for reset_current_dir
  FileUtils.cd(self.destination_root)
end
tree() click to toggle source
# File lib/lono/extension/new.rb, line 61
def tree
  tree_structure("extension")
end
welcome_message() click to toggle source
# 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