module Pro2
Public Class Methods
command_build(filter = nil)
click to toggle source
# File lib/pro2-runner.rb, line 75 def command_build(filter = nil) javajava = parse_project! javajava = filter_javajava(javajava, filter) if filter javajava.each do |java| filename = java.fetch('filename') build_cmd = java.fetch('build') puts "Build #{filename} ..." puts %x(#{build_cmd}) puts "" end end
command_execute(filter = nil)
click to toggle source
# File lib/pro2-runner.rb, line 88 def command_execute(filter = nil) javajava = parse_project! javajava = filter_javajava(javajava, filter) if filter javajava.each do |java| filename = java.fetch('filename') run_cmd = java.fetch('run') puts "Execute #{filename} ..." puts %x(#{run_cmd}) puts "" end end
command_init(prefix, num_file)
click to toggle source
Int -> Int -> (project.yaml)
# File lib/pro2-runner.rb, line 67 def command_init(prefix, num_file) project_file = 'project.yaml' javajava = initialize_project(prefix, num_file) file_write!(project_file, javajava.to_yaml) generate_empty_javajava(javajava) end
command_run(filter = nil)
click to toggle source
# File lib/pro2-runner.rb, line 101 def command_run(filter = nil) command_build(filter) command_execute(filter) end
file_write!(filename, content)
click to toggle source
- filename
- String -> content
-
String -> (File write)
# File lib/pro2-runner.rb, line 61 def file_write!(filename, content) raise "#{filename} already exist!" if File.exists? filename File.write(filename, content) end
filter_javajava(javajava, filter)
click to toggle source
javajava -> filter -> javajava
# File lib/pro2-runner.rb, line 36 def filter_javajava(javajava, filter) javajava.select {|java| java.fetch('filename') == filter} end
generate_empty_javajava(javajava)
click to toggle source
javajava -> (Java files)
# File lib/pro2-runner.rb, line 53 def generate_empty_javajava(javajava) javajava.each do |java| filename = java.fetch('filename') file_write!(filename, generate_java(filename)) end end
generate_java(filename)
click to toggle source
String -> String
# File lib/pro2-runner.rb, line 41 def generate_java(filename) class_name = File.basename(filename, '.java') content = %(public class #{class_name} { public static void main(String[] args) { System.out.println("Hello World!"); } }) end
initialize_project(prefix, num_file)
click to toggle source
prefix: X for ProbXY.java num_file: Y for ProbXY.java Int -> Int -> javajava
# File lib/pro2-runner.rb, line 14 def initialize_project(prefix, num_file) javajava = [] 1.upto(num_file) do |i| filename = "Prob#{prefix}#{i}" javajava.push({ 'filename' => "#{filename}.java", 'build' => "javac #{filename}.java", 'run' => "java #{filename}", }) end javajava end
parse_project!()
click to toggle source
-
javajava
# File lib/pro2-runner.rb, line 28 def parse_project! project_file = 'project.yaml' raise "#{project_file} not found!! Run `pro2 init`" unless File.exists? project_file yaml = File.read(project_file) YAML.load yaml end