Method: OpenC3::CliGenerator.generate_plugin

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

.generate_plugin(args) ⇒ Object



81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
# File 'lib/openc3/utilities/cli_generator.rb', line 81

def self.generate_plugin(args)
  if args.length < 2 or args.length > 3
    abort("Usage: cli generate #{args[0]} <NAME> (--ruby or --python)")
  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")
    false
  end

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