lib/jruby_art/creators/creator.rb in jruby_art-1.1.1 vs lib/jruby_art/creators/creator.rb in jruby_art-1.1.2
- old
+ new
@@ -1,59 +1,58 @@
-# encoding: utf-8
# frozen_string_literal: false
BASIC = <<-CODE
def setup
- sketch_title '%s'
+sketch_title '%s'
end
def draw
end
def settings
- size %s, %s
- # pixel_density(2) # here for hi-dpi displays only
- # smooth # here
+size %s, %s
+# pixel_density(2) # here for hi-dpi displays only
+# smooth # here
end
CODE
BASIC_MODE = <<-CODE
def setup
- sketch_title '%s'
+sketch_title '%s'
end
def draw
end
def settings
- size %s, %s, %s
- # smooth # here
+size %s, %s, %s
+# smooth # here
end
CODE
CLASS_BASIC = <<-CODE
# encoding: utf-8
# frozen_string_literal: false
class %s < Processing::App
- def setup
- sketch_title '%s'
- end
+def setup
+sketch_title '%s'
+end
- def draw
+def draw
- end
+end
- def settings
- size %s, %s
- # pixel_density(2) # here for hi-dpi displays only
- # smooth # here
- end
+def settings
+size %s, %s
+# pixel_density(2) # here for hi-dpi displays only
+# smooth # here
end
+end
CODE
EMACS_BASIC = <<-CODE
# encoding: utf-8
# frozen_string_literal: false
@@ -61,44 +60,44 @@
require 'jruby_art/app'
Processing::App::SKETCH_PATH = __FILE__
class %s < Processing::App
- def setup
- sketch_title '%s'
- end
+def setup
+sketch_title '%s'
+end
- def draw
+def draw
- end
+end
- def settings
- size %s, %s
- # smooth # here
- end
+def settings
+size %s, %s
+# smooth # here
end
+end
%s.new unless defined? $app
CODE
CLASS_MODE = <<-CODE
# encoding: utf-8
# frozen_string_literal: false
class %s < Processing::App
- def setup
- sketch_title '%s'
- end
+def setup
+sketch_title '%s'
+end
- def draw
+def draw
- end
+end
- def settings
- size %s, %s, %s
- # smooth # here
- end
+def settings
+size %s, %s, %s
+# smooth # here
end
+end
CODE
EMACS_MODE = <<-CODE
# encoding: utf-8
# frozen_string_literal: false
@@ -106,44 +105,46 @@
require 'jruby_art/app'
Processing::App::SKETCH_PATH = __FILE__
class %s < Processing::App
- def setup
- sketch_title '%s'
- end
+def setup
+sketch_title '%s'
+end
- def draw
+def draw
- end
+end
- def settings
- size %s, %s, %s
- # smooth # here
- end
+def settings
+size %s, %s, %s
+# smooth # here
end
+end
%s.new unless defined? $app
CODE
INNER = <<-CODE
# encoding: utf-8
# frozen_string_literal: false
class %s
- include Processing::Proxy
+include Processing::Proxy
end
CODE
-# processing wrapper module
-module Processing
+# creator wrapper module using StringExtra
+module Creator
require_relative '../helpers/string_extra'
+ using StringExtra
# Write file to disk
class SketchWriter
attr_reader :file
+
def initialize(path)
- underscore = StringExtra.new(path).underscore
+ underscore = path.underscore
@file = "#{File.dirname(path)}/#{underscore}.rb"
end
def save(template)
File.open(file, 'w+') do |f|
@@ -151,15 +152,14 @@
end
end
end
# An abstract class providing common methods for real creators
- class Creator
+ class Base
ALL_DIGITS = /\A\d+\Z/
-
def already_exist(path)
- underscore = StringExtra.new(path).underscore
+ underscore = path.underscore
new_file = "#{File.dirname(path)}/#{underscore}.rb"
return if !FileTest.exist?(path) && !FileTest.exist?(new_file)
puts 'That file already exists!'
exit
end
@@ -179,11 +179,11 @@
USAGE
end
end
# This class creates bare sketches, with an optional render mode
- class BasicSketch < Creator
+ class BasicSketch < Base
# Create a blank sketch, given a path.
def basic_template
format(BASIC, @title, @width, @height)
end
@@ -195,46 +195,47 @@
return usage if /\?/ =~ path || /--help/ =~ path
# Check to make sure that the main file doesn't exist already
already_exist(path)
main_file = File.basename(path, '.rb') # allow uneeded extension input
writer = SketchWriter.new(main_file)
- @title = StringExtra.new(main_file).titleize
+ @title = main_file.titleize
@width = args[0]
@height = args[1]
@mode = args[2].upcase unless args[2].nil?
template = @mode.nil? ? basic_template : basic_template_mode
writer.save(template)
end
end
# This class creates class wrapped sketches, with an optional render mode
- class ClassSketch < Creator
+ class ClassSketch < Base
def class_template
format(CLASS_BASIC, @name, @title, @width, @height)
end
def class_template_mode
format(CLASS_MODE, @name, @title, @width, @height, @mode)
end
+
# Create a class wrapped sketch, given a path.
def create!(path, args)
return usage if /\?/ =~ path || /--help/ =~ path
main_file = File.basename(path, '.rb') # allow uneeded extension input
# Check to make sure that the main file doesn't exist already
already_exist(path)
- @name = StringExtra.new(main_file).camelize
+ @name = main_file.camelize
writer = SketchWriter.new(main_file)
- @title = StringExtra.new(main_file).titleize
+ @title = main_file.titleize
@width, @height = args[0], args[1]
@mode = args[2].upcase unless args[2].nil?
template = @mode.nil? ? class_template : class_template_mode
writer.save(template)
end
end
# This class creates class wrapped sketches, with an optional render mode
- class EmacsSketch < Creator
+ class EmacsSketch < Base
def emacs_template
format(EMACS_BASIC, @name, @title, @width, @height, @name)
end
def emacs_template_mode
@@ -244,24 +245,25 @@
def create!(path, args)
return usage if /\?/ =~ path || /--help/ =~ path
main_file = File.basename(path, '.rb') # allow uneeded extension input
# Check to make sure that the main file doesn't exist already
already_exist(path)
- @name = StringExtra.new(main_file).camelize
+ @name = main_file.camelize
writer = SketchWriter.new(main_file)
- @title = StringExtra.new(main_file).titleize
+ @title = main_file.titleize
@width, @height = args[0], args[1]
@mode = args[2].upcase unless args[2].nil?
template = @mode.nil? ? emacs_template : emacs_template_mode
writer.save(template)
end
end
# This class creates a pseudo 'java inner class' of the sketch
- class Inner < Creator
+ class InnerSketch < Base
def inner_class_template
format(INNER, @name)
end
+
# Create a pseudo inner class, given a path.
def create!(path, _args_)
return usage if /\?/ =~ path || /--help/ =~ path
main_file = File.basename(path, '.rb') # allow uneeded extension input
# Check to make sure that the main file doesn't exist already