Class: Processing::Runner
- Inherits:
-
Object
- Object
- Processing::Runner
- Defined in:
- lib/jruby_art/runner.rb
Overview
Utility class to handle the different commands that the ‘k9’ command offers. Able to run, watch, live, create, app, and unpack
Constant Summary collapse
- WIN_PATTERNS =
[ /bccwin/i, /cygwin/i, /djgpp/i, /ming/i, /mswin/i, /wince/i ]
Instance Attribute Summary collapse
-
#os ⇒ Object
readonly
Returns the value of attribute os.
Class Method Summary collapse
-
.execute ⇒ Object
Start running a jruby_art sketch from the passed-in arguments.
Instance Method Summary collapse
- #check(root_exist, installed) ⇒ Object
-
#create(sketch, args) ⇒ Object
Create a fresh JRubyArt sketch, with the necessary boilerplate filled out.
-
#execute! ⇒ Object
Dispatch central.
- #install(root_exist) ⇒ Object
-
#live(sketch, args) ⇒ Object
Just simply run a JRubyArt sketch.
-
#parse_options(args) ⇒ Object
Parse the command-line options.
-
#run(sketch, args) ⇒ Object
Just simply run a JRubyArt sketch.
- #setup(choice) ⇒ Object
-
#show_help ⇒ Object
Show the standard help/usage message.
-
#show_version ⇒ Object
Display the current version of JRubyArt.
-
#watch(sketch, args) ⇒ Object
Run a sketch, keeping an eye on it’s file, and reloading whenever it changes.
Instance Attribute Details
#os ⇒ Object (readonly)
Returns the value of attribute os.
53 54 55 |
# File 'lib/jruby_art/runner.rb', line 53 def os @os end |
Class Method Details
.execute ⇒ Object
Start running a jruby_art sketch from the passed-in arguments
56 57 58 59 60 |
# File 'lib/jruby_art/runner.rb', line 56 def self.execute runner = new runner.(ARGV) runner.execute! end |
Instance Method Details
#check(root_exist, installed) ⇒ Object
140 141 142 143 144 145 146 147 148 149 150 151 152 |
# File 'lib/jruby_art/runner.rb', line 140 def check(root_exist, installed) show_version root = ' PROCESSING_ROOT = Not Set!!!' unless root_exist root ||= " PROCESSING_ROOT = #{Processing::RP_CONFIG['PROCESSING_ROOT']}" jruby = Processing::RP_CONFIG['JRUBY'] x_off = Processing::RP_CONFIG['X_OFF'] y_off = Processing::RP_CONFIG['Y_OFF'] puts root puts " JRUBY = #{jruby}" unless jruby.nil? puts " X_OFF = #{x_off}" unless x_off.nil? puts " Y_OFF = #{y_off}" unless y_off.nil? puts " jruby-complete installed = #{installed}" end |
#create(sketch, args) ⇒ Object
Create a fresh JRubyArt sketch, with the necessary boilerplate filled out.
92 93 94 95 96 97 98 |
# File 'lib/jruby_art/runner.rb', line 92 def create(sketch, args) require_relative '../jruby_art/creators/creator' return Processing::Inner.new.create!(sketch, args) if @options.inner return Processing::ClassSketch.new.create!(sketch, args) if @options.wrap return Processing::EmacsSketch.new.create!(sketch, args) if @options.emacs Processing::BasicSketch.new.create!(sketch, args) end |
#execute! ⇒ Object
Dispatch central.
63 64 65 66 67 68 69 70 71 72 73 74 75 |
# File 'lib/jruby_art/runner.rb', line 63 def execute! case @options.action when 'run' then run(@options.path, @options.args) when 'live' then live(@options.path, @options.args) when 'watch' then watch(@options.path, @options.args) when 'create' then create(@options.path, @options.args) when 'setup' then setup(@options.path) when /-v/ then show_version when /-h/ then show_help else show_help end end |
#install(root_exist) ⇒ Object
133 134 135 136 137 138 |
# File 'lib/jruby_art/runner.rb', line 133 def install(root_exist) system "cd #{K9_ROOT}/vendors && rake" return if root_exist set_processing_root warn 'PROCESSING_ROOT set optimistically, run check to confirm' end |
#live(sketch, args) ⇒ Object
Just simply run a JRubyArt sketch.
107 108 109 110 |
# File 'lib/jruby_art/runner.rb', line 107 def live(sketch, args) ensure_exists(sketch) spin_up('live.rb', sketch, args) end |
#parse_options(args) ⇒ Object
Parse the command-line options. Keep it simple.
78 79 80 81 82 83 84 85 86 87 88 |
# File 'lib/jruby_art/runner.rb', line 78 def (args) @options = OpenStruct.new @options.emacs = !args.delete('--emacs').nil? @options.wrap = !args.delete('--wrap').nil? @options.inner = !args.delete('--inner').nil? @options.jruby = !args.delete('--jruby').nil? @options.nojruby = !args.delete('--nojruby').nil? @options.action = args[0] || nil @options.path = args[1] || File.basename(Dir.pwd + '.rb') @options.args = args[2..-1] || [] end |
#run(sketch, args) ⇒ Object
Just simply run a JRubyArt sketch.
101 102 103 104 |
# File 'lib/jruby_art/runner.rb', line 101 def run(sketch, args) ensure_exists(sketch) spin_up('run.rb', sketch, args) end |
#setup(choice) ⇒ Object
119 120 121 122 123 124 125 126 127 128 129 130 131 |
# File 'lib/jruby_art/runner.rb', line 119 def setup(choice) proc_root = FileTest.exist?("#{ENV['HOME']}/.jruby_art/config.yml") case choice when /check/ check(proc_root, FileTest.exist?("#{K9_ROOT}/lib/ruby/jruby-complete.jar")) when /install/ install(proc_root) when /unpack_samples/ system "cd #{K9_ROOT}/vendors && rake unpack_samples" else puts 'Usage: k9 setup [check | install | unpack_samples]' end end |
#show_help ⇒ Object
Show the standard help/usage message.
160 161 162 |
# File 'lib/jruby_art/runner.rb', line 160 def show_help puts HELP_MESSAGE end |
#show_version ⇒ Object
Display the current version of JRubyArt.
155 156 157 |
# File 'lib/jruby_art/runner.rb', line 155 def show_version puts format('JRubyArt version %s', JRubyArt::VERSION) end |
#watch(sketch, args) ⇒ Object
Run a sketch, keeping an eye on it’s file, and reloading whenever it changes.
114 115 116 117 |
# File 'lib/jruby_art/runner.rb', line 114 def watch(sketch, args) ensure_exists(sketch) spin_up('watch.rb', sketch, args) end |