Sha256: 17c5e24a315dd819e96b2b3a3d8ec40e6584c1d0505f7d926209405e856e746c

Contents?: true

Size: 1.91 KB

Versions: 4

Compression:

Stored size: 1.91 KB

Contents

require 'FileUtils'

def java
  puts "What is your Team Number? (0000)"
  team = gets.chop!.to_i.to_s     # Ensures it's a proper number :)
  clazz = "#{@path}/src/main/java/frc/team#{team}/#{@name.downcase}/RobotModule.java"
  jin = File.expand_path "../../java", __FILE__
  #puts Dir[jin]
  FileUtils.cp_r "#{jin}/.", @path

  build = File.read File.join(@path, "build.gradle")
  build = build.gsub "%%TEAM", team
  build = build.gsub "%%NAME", @name
  File.write File.join(@path, "build.gradle"), build

  templ = File.join(@path, "template.java")
  template = File.read templ
  template = template.gsub "%%TEAM", team
  template = template.gsub "%%NAMED", @name.downcase
  template = template.gsub "%%NAME", @name
  FileUtils.mkdir_p File.expand_path("..", clazz)
  File.write clazz, template
  File.delete templ

  begin
    FileUtils.chmod 0777, [File.join(@path, "gradlew"), File.join(@path, "build.gradle")]
  rescue => e
    puts "NOTE: Could not CHMOD gradle files"
    puts e.backtrace
  end
end

def javascript
  puts "What is your main script class name? [main.js]"
  name = gets.chop!
  name = "main.js" if name == ""
  name += ".js" unless name =~ /^(.*)\.js$/
  File.write("#{@path}/module.json", "{\n\t\"name\": \"#{@name}\",\n\t\"script\": \"#{name}\"\n}")
  File.write("#{@path}/#{name}", "console.log('Hello Toast!');")
end

puts "Creating a new Toast Module."

puts "What is the name of your Module?"
@name = gets.chop!
@path = File.join dir, @name
if File.exist? @path
  puts "Module already exists? Want to override? (THIS CANNOT BE UNDONE) [y/n]"
  inp = gets.chop!
  if inp =~ /(y(es)?)|1|(t(rue)?)/i
    puts "Overriding..."
    FileUtils.rm_rf @path
  else
    puts "Aborting..."
    exit
  end
end
FileUtils.mkdir @path

puts "What kind of Toast Module would you like to create? [java/javascript] (java)"
option = gets.chop!
if option =~ /javas(cript)?/i
  javascript
else
  java
end

puts "Toast Module Created! #{@name}"

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
hotplate-1.0.1 lib/hotplate/cli/init.rb
hotplate-1.0.0 lib/hotplate/cli/init.rb
hotplate-0.1.1 lib/hotplate/cli/init.rb
hotplate-0.1.0 lib/hotplate/cli/init.rb