Method: Processing::Creator#create!
- Defined in:
- lib/ruby-processing/exporters/creator.rb
#create!(path, args, p3d) ⇒ Object
Create a blank sketch, given a path.
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 |
# File 'lib/ruby-processing/exporters/creator.rb', line 9 def create!(path, args, p3d) usage path main_file = File.basename(path, ".rb") # Check to make sure that the main file exists already_exists = File.exist?(path) || File.exist?("#{File.dirname(path)}/#{main_file.underscore}.rb") if already_exists puts "That sketch already exists." exit end # Get the substitutions @name = main_file.camelize @file_name = main_file.underscore @title = main_file.titleize @width, @height = args[0], args[1] @with_size = @width && @width.match(ALL_DIGITS) && @height && @height.match(ALL_DIGITS) # Make the file dir = File.dirname path mkdir_p dir template_name = p3d ? 'p3d_sketch.rb.erb' : 'blank_sketch.rb.erb' template = File.new("#{RP5_ROOT}/lib/templates/create/#{template_name}") rendered = render_erb_from_string_with_binding(template.read, binding) full_path = File.join(dir, "#{@file_name}.rb") File.open(full_path, "w") {|f| f.print(rendered) } puts "Created Sketch \"#{@name}\" in #{full_path.sub(/\A\.\//, '')}" end |