Method: OpenC3::CliGenerator.generate_plugin

Defined in:
lib/openc3/utilities/cli_generator.rb

.generate_plugin(args) ⇒ Object



60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
# File 'lib/openc3/utilities/cli_generator.rb', line 60

def self.generate_plugin(args)
  if args.length != 2
    abort("Usage: cli generate #{args[0]} <NAME>")
  end

  # Create the local variables
  plugin = args[1].downcase.gsub(/_+|-+/, '-')
  plugin_name = "openc3-cosmos-#{plugin}"
  if File.exist?(plugin_name)
    abort("Plugin #{plugin_name} already exists!")
  end
  FileUtils.mkdir(plugin_name)
  Dir.chdir(plugin_name) # Change to the plugin path to make copying easier

  process_template("#{TEMPLATES_DIR}/plugin", binding) do |filename|
    filename.sub!("plugin.gemspec", "#{plugin_name}.gemspec")
  end

  puts "Plugin #{plugin_name} successfully generated!"
  return plugin_name
end