ruby-processing 2.6.0 → 2.6.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
 - data/lib/rpextras.jar +0 -0
 - data/lib/ruby-processing/app.rb +11 -10
 - data/lib/ruby-processing/config.rb +4 -4
 - data/lib/ruby-processing/exporters/application_exporter.rb +6 -5
 - data/lib/ruby-processing/exporters/base_exporter.rb +4 -7
 - data/lib/ruby-processing/exporters/creator.rb +124 -50
 - data/lib/ruby-processing/helper_methods.rb +19 -21
 - data/lib/ruby-processing/library_loader.rb +13 -13
 - data/lib/ruby-processing/runner.rb +14 -14
 - data/lib/ruby-processing/version.rb +1 -1
 - data/lib/templates/create/blank_sketch.rb.erb +7 -0
 - data/lib/templates/create/p3d_sketch.rb.erb +7 -0
 - data/samples/contributed/fibonacci_sphere.rb +2 -2
 - data/samples/processing_app/basics/form/pie_chart.rb +1 -1
 - data/samples/processing_app/basics/form/triangle_strip.rb +1 -1
 - data/samples/processing_app/library/vecmath/vec3d/library/hilbert/hilbert.rb +2 -2
 - data/samples/processing_app/topics/gui/handles.rb +3 -3
 - data/samples/processing_app/topics/gui/scrollbar.rb +2 -7
 - data/samples/processing_app/topics/image_processing/histogram.rb +7 -7
 - data/samples/processing_app/topics/simulate/spring.rb +1 -2
 - data/vendors/Rakefile +2 -2
 - metadata +4 -7
 - data/lib/templates/create/basic.rb.erb +0 -10
 - data/lib/templates/create/basic_mode.rb.erb +0 -10
 - data/lib/templates/create/basic_wrap.rb.erb +0 -15
 - data/lib/templates/create/inner_class.rb.erb +0 -9
 - data/lib/templates/create/mode_wrap.rb.erb +0 -15
 
    
        checksums.yaml
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            ---
         
     | 
| 
       2 
2 
     | 
    
         
             
            SHA1:
         
     | 
| 
       3 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       4 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 3 
     | 
    
         
            +
              metadata.gz: c0aaf568197ed0c33de6d5ee76ee799e488dbf7c
         
     | 
| 
      
 4 
     | 
    
         
            +
              data.tar.gz: 141086257f20b9b623a7092ba17b857e22e0e694
         
     | 
| 
       5 
5 
     | 
    
         
             
            SHA512:
         
     | 
| 
       6 
     | 
    
         
            -
              metadata.gz:  
     | 
| 
       7 
     | 
    
         
            -
              data.tar.gz:  
     | 
| 
      
 6 
     | 
    
         
            +
              metadata.gz: 4dcfc3f5a0ae54e209ffd00ce00844287a3c5811ba352b657a42d9e47d526466a6ab97ed535b4a50d4fe6f615fc81f686008b54fe3ecb80cf2a6e95e149fe4e0
         
     | 
| 
      
 7 
     | 
    
         
            +
              data.tar.gz: 05c8de38b6678bcbb3ee193306deed6c8f4d9d45a3b9762bd62465ef27b6b1ef0581fdf2e5e035d083b049086b899ea9d4897b2507be605ae41d6f0c9beca0de
         
     | 
    
        data/lib/rpextras.jar
    CHANGED
    
    | 
         Binary file 
     | 
    
        data/lib/ruby-processing/app.rb
    CHANGED
    
    | 
         @@ -7,10 +7,10 @@ require_relative '../ruby-processing/helper_methods' 
     | 
|
| 
       7 
7 
     | 
    
         
             
            require_relative '../ruby-processing/library_loader'
         
     | 
| 
       8 
8 
     | 
    
         
             
            require_relative '../ruby-processing/config'
         
     | 
| 
       9 
9 
     | 
    
         | 
| 
       10 
     | 
    
         
            -
            Dir["#{Processing:: 
     | 
| 
      
 10 
     | 
    
         
            +
            Dir["#{Processing::RP_CONFIG["PROCESSING_ROOT"]}/core/library/\*.jar"].each { |jar| require jar }
         
     | 
| 
       11 
11 
     | 
    
         | 
| 
       12 
12 
     | 
    
         
             
            # Include some core processing classes that we'd like to use:
         
     | 
| 
       13 
     | 
    
         
            -
            %w(PApplet PConstants PFont PImage PShape PShapeOBJ PShapeSVG PStyle 
     | 
| 
      
 13 
     | 
    
         
            +
            %w(PApplet PConstants PFont PImage PShape PShapeOBJ PShapeSVG PStyle
         
     | 
| 
       14 
14 
     | 
    
         
             
               PGraphicsJava2D PGraphics PFont PVector PMatrix2D PMatrix3D).each do |klass|
         
     | 
| 
       15 
15 
     | 
    
         
             
              java_import "processing.core.#{klass}"
         
     | 
| 
       16 
16 
     | 
    
         
             
            end
         
     | 
| 
         @@ -54,8 +54,8 @@ module Processing 
     | 
|
| 
       54 
54 
     | 
    
         
             
                  if methods_to_alias.key?(method_name)
         
     | 
| 
       55 
55 
     | 
    
         
             
                    alias_method methods_to_alias[method_name], method_name
         
     | 
| 
       56 
56 
     | 
    
         
             
                  end
         
     | 
| 
       57 
     | 
    
         
            -
                end 
     | 
| 
       58 
     | 
    
         
            -
             
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
             
     | 
| 
       59 
59 
     | 
    
         
             
                # Handy getters and setters on the class go here:
         
     | 
| 
       60 
60 
     | 
    
         
             
                def self.sketch_class;  @sketch_class;        end
         
     | 
| 
       61 
61 
     | 
    
         
             
                @@full_screen = false
         
     | 
| 
         @@ -92,15 +92,15 @@ module Processing 
     | 
|
| 
       92 
92 
     | 
    
         | 
| 
       93 
93 
     | 
    
         
             
                def library_loaded?(library_name)
         
     | 
| 
       94 
94 
     | 
    
         
             
                  self.class.library_loaded?(library_name)
         
     | 
| 
       95 
     | 
    
         
            -
                end 
     | 
| 
      
 95 
     | 
    
         
            +
                end
         
     | 
| 
       96 
96 
     | 
    
         | 
| 
       97 
     | 
    
         
            -
                # It is 'NOT' usually necessary to directly pass options to a sketch, it 
     | 
| 
      
 97 
     | 
    
         
            +
                # It is 'NOT' usually necessary to directly pass options to a sketch, it
         
     | 
| 
       98 
98 
     | 
    
         
             
                # gets done automatically for you. Since processing-2.0 you should prefer
         
     | 
| 
       99 
99 
     | 
    
         
             
                # setting the sketch width and height and renderer using the size method,
         
     | 
| 
       100 
     | 
    
         
            -
                # in the sketch (as with vanilla processing), which should be the first 
     | 
| 
      
 100 
     | 
    
         
            +
                # in the sketch (as with vanilla processing), which should be the first
         
     | 
| 
       101 
101 
     | 
    
         
             
                # argument in setup. Sensible options to pass are x and y to locate sketch
         
     | 
| 
       102 
102 
     | 
    
         
             
                # on the screen, or full_screen: true (prefer new hash syntax)
         
     | 
| 
       103 
     | 
    
         
            -
             
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
       104 
104 
     | 
    
         
             
                def initialize(options={})
         
     | 
| 
       105 
105 
     | 
    
         
             
                  super()
         
     | 
| 
       106 
106 
     | 
    
         
             
                  $app = self
         
     | 
| 
         @@ -161,6 +161,7 @@ module Processing 
     | 
|
| 
       161 
161 
     | 
    
         
             
                # Provide a loggable string to represent this sketch.
         
     | 
| 
       162 
162 
     | 
    
         
             
                def inspect
         
     | 
| 
       163 
163 
     | 
    
         
             
                  "#<Processing::App:#{self.class}:#{@title}>"
         
     | 
| 
      
 164 
     | 
    
         
            +
                  #"#<Processing::App:#{self.class}>"
         
     | 
| 
       164 
165 
     | 
    
         
             
                end
         
     | 
| 
       165 
166 
     | 
    
         | 
| 
       166 
167 
     | 
    
         
             
                # Cleanly close and shutter a running sketch.
         
     | 
| 
         @@ -202,8 +203,8 @@ module Processing 
     | 
|
| 
       202 
203 
     | 
    
         | 
| 
       203 
204 
     | 
    
         
             
                # Proxy methods through to the sketch.
         
     | 
| 
       204 
205 
     | 
    
         
             
                def self.proxy_methods(inner_class)
         
     | 
| 
       205 
     | 
    
         
            -
                  code = desired_method_names(inner_class).inject('') do | 
     | 
| 
       206 
     | 
    
         
            -
                     
     | 
| 
      
 206 
     | 
    
         
            +
                  code = desired_method_names(inner_class).inject('') do |rcode, method|
         
     | 
| 
      
 207 
     | 
    
         
            +
                    rcode << <<-EOS
         
     | 
| 
       207 
208 
     | 
    
         
             
                    def #{method}(*args, &block)                # def rect(*args, &block)
         
     | 
| 
       208 
209 
     | 
    
         
             
                    if block_given?                           #   if block_given?
         
     | 
| 
       209 
210 
     | 
    
         
             
                    $app.send :'#{method}', *args, &block   #     $app.send(:rect, *args, &block)
         
     | 
| 
         @@ -3,13 +3,13 @@ require 'psych' 
     | 
|
| 
       3 
3 
     | 
    
         
             
            module Processing
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
              if Processing.exported?
         
     | 
| 
       6 
     | 
    
         
            -
                 
     | 
| 
      
 6 
     | 
    
         
            +
                RP_CONFIG = { 'PROCESSING_ROOT' => RP5_ROOT, 'JRUBY' => 'false' }
         
     | 
| 
       7 
7 
     | 
    
         
             
              end
         
     | 
| 
       8 
8 
     | 
    
         | 
| 
       9 
     | 
    
         
            -
              unless defined?  
     | 
| 
      
 9 
     | 
    
         
            +
              unless defined? RP_CONFIG
         
     | 
| 
       10 
10 
     | 
    
         
             
                begin
         
     | 
| 
       11 
     | 
    
         
            -
                  CONFIG_FILE_PATH=File.expand_path('~/.rp5rc')
         
     | 
| 
       12 
     | 
    
         
            -
                   
     | 
| 
      
 11 
     | 
    
         
            +
                  CONFIG_FILE_PATH = File.expand_path('~/.rp5rc')
         
     | 
| 
      
 12 
     | 
    
         
            +
                  RP_CONFIG = (Psych.load_file(CONFIG_FILE_PATH))
         
     | 
| 
       13 
13 
     | 
    
         
             
                rescue
         
     | 
| 
       14 
14 
     | 
    
         
             
                  warn('WARNING: you need to set PROCESSING_ROOT in ~/.rp5rc')
         
     | 
| 
       15 
15 
     | 
    
         
             
                end
         
     | 
| 
         @@ -1,7 +1,8 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'rbconfig'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require_relative 'base_exporter'
         
     | 
| 
       2 
3 
     | 
    
         | 
| 
       3 
4 
     | 
    
         
             
            module Processing
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
       5 
6 
     | 
    
         
             
              # A utility class to export Ruby-Processing sketches as
         
     | 
| 
       6 
7 
     | 
    
         
             
              # Mac/Win/Nix Applications.
         
     | 
| 
       7 
8 
     | 
    
         
             
              class ApplicationExporter < BaseExporter
         
     | 
| 
         @@ -43,7 +44,7 @@ module Processing 
     | 
|
| 
       43 
44 
     | 
    
         
             
                  @prefix = 'lib'
         
     | 
| 
       44 
45 
     | 
    
         
             
                  cp_r(Dir["#{RP5_ROOT}/lib/templates/application/{*,**}"], @dest)
         
     | 
| 
       45 
46 
     | 
    
         
             
                  @necessary_files = [@main_file_path]
         
     | 
| 
       46 
     | 
    
         
            -
                  @necessary_files += Dir["#{ 
     | 
| 
      
 47 
     | 
    
         
            +
                  @necessary_files += Dir["#{RP_CONFIG['PROCESSING_ROOT']}/core/library/{*,**}"]
         
     | 
| 
       47 
48 
     | 
    
         
             
                  @necessary_files += Dir["#{RP5_ROOT}/lib/{*,**}"]
         
     | 
| 
       48 
49 
     | 
    
         
             
                  @necessary_files += @real_requires
         
     | 
| 
       49 
50 
     | 
    
         
             
                  NECESSARY_FOLDERS.each do |folder|
         
     | 
| 
         @@ -55,19 +56,19 @@ module Processing 
     | 
|
| 
       55 
56 
     | 
    
         
             
                  cp_r(@libraries, File.join(@dest, @prefix, 'library')) unless @libraries.empty?
         
     | 
| 
       56 
57 
     | 
    
         
             
                  # Then move the icon
         
     | 
| 
       57 
58 
     | 
    
         
             
                  potential_icon = Dir.glob(File.join(@dest, @prefix, 'data/*.icns'))[0]
         
     | 
| 
       58 
     | 
    
         
            -
                  move(potential_icon, File.join(@dest, 'Contents/Resources/sketch.icns'), force: true) if potential_icon 
     | 
| 
      
 59 
     | 
    
         
            +
                  move(potential_icon, File.join(@dest, 'Contents/Resources/sketch.icns'), force: true) if potential_icon
         
     | 
| 
       59 
60 
     | 
    
         
             
                end
         
     | 
| 
       60 
61 
     | 
    
         | 
| 
       61 
62 
     | 
    
         
             
                def calculate_substitutions
         
     | 
| 
       62 
63 
     | 
    
         
             
                  file_list = ['lib/ruby/jruby-complete.jar']
         
     | 
| 
       63 
     | 
    
         
            -
                  @class_path = file_list.map { |f| '$JAVAROOT/' + f.sub(@prefix+ 
     | 
| 
      
 64 
     | 
    
         
            +
                  @class_path = file_list.map { |f| '$JAVAROOT/' + f.sub(@prefix + "/", '') }.join(":")
         
     | 
| 
       64 
65 
     | 
    
         
             
                  @linux_class_path = '.:../lib/ruby/*:../lib/*:../lib/library/*'
         
     | 
| 
       65 
66 
     | 
    
         
             
                  @windows_class_path = '.;../lib/ruby/*;../lib/*;../lib/library/*'
         
     | 
| 
       66 
67 
     | 
    
         
             
                end
         
     | 
| 
       67 
68 
     | 
    
         | 
| 
       68 
69 
     | 
    
         
             
                def create_executables
         
     | 
| 
       69 
70 
     | 
    
         
             
                  render_erb_in_path_with_binding(@dest, binding, delete: true)
         
     | 
| 
       70 
     | 
    
         
            -
                  rm Dir.glob(@dest +  
     | 
| 
      
 71 
     | 
    
         
            +
                  rm Dir.glob(@dest + "/**/*.java")
         
     | 
| 
       71 
72 
     | 
    
         
             
                  runnable = @dest + '/' + File.basename(@main_file, '.rb')
         
     | 
| 
       72 
73 
     | 
    
         
             
                  move @dest + '/run', runnable
         
     | 
| 
       73 
74 
     | 
    
         
             
                  move @dest + '/run.exe', "#{runnable}.exe"
         
     | 
| 
         @@ -1,6 +1,6 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            require 'fileutils'
         
     | 
| 
       2 
2 
     | 
    
         
             
            require 'erb'
         
     | 
| 
       3 
     | 
    
         
            -
            require_relative ' 
     | 
| 
      
 3 
     | 
    
         
            +
            require_relative '../library_loader'
         
     | 
| 
       4 
4 
     | 
    
         | 
| 
       5 
5 
     | 
    
         
             
            module Processing
         
     | 
| 
       6 
6 
     | 
    
         
             
              # This base exporter implements some of the common
         
     | 
| 
         @@ -42,8 +42,7 @@ module Processing 
     | 
|
| 
       42 
42 
     | 
    
         | 
| 
       43 
43 
     | 
    
         
             
                # Searches the source for a title.
         
     | 
| 
       44 
44 
     | 
    
         
             
                def extract_title(source)
         
     | 
| 
       45 
     | 
    
         
            -
                   
     | 
| 
       46 
     | 
    
         
            -
                  match = source.match(filter)
         
     | 
| 
      
 45 
     | 
    
         
            +
                  match = source.match(/#{@info[:class_name]}\.new.*?:title\s=>\s["'](.+?)["']/m)
         
     | 
| 
       47 
46 
     | 
    
         
             
                  match ? match[1] : File.basename(@file, '.rb').titleize
         
     | 
| 
       48 
47 
     | 
    
         
             
                end
         
     | 
| 
       49 
48 
     | 
    
         | 
| 
         @@ -103,7 +102,6 @@ module Processing 
     | 
|
| 
       103 
102 
     | 
    
         
             
                  requirements
         
     | 
| 
       104 
103 
     | 
    
         
             
                end
         
     | 
| 
       105 
104 
     | 
    
         | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
105 
     | 
    
         
             
                protected
         
     | 
| 
       108 
106 
     | 
    
         | 
| 
       109 
107 
     | 
    
         
             
                def read_source_code
         
     | 
| 
         @@ -115,7 +113,7 @@ module Processing 
     | 
|
| 
       115 
113 
     | 
    
         
             
                end
         
     | 
| 
       116 
114 
     | 
    
         | 
| 
       117 
115 
     | 
    
         
             
                def hash_to_ivars(hash)
         
     | 
| 
       118 
     | 
    
         
            -
                  hash.each { |k, v| instance_variable_set( 
     | 
| 
      
 116 
     | 
    
         
            +
                  hash.each { |k, v| instance_variable_set("@#{k}", v) }
         
     | 
| 
       119 
117 
     | 
    
         
             
                end
         
     | 
| 
       120 
118 
     | 
    
         | 
| 
       121 
119 
     | 
    
         
             
                def wipe_and_recreate_destination
         
     | 
| 
         @@ -124,7 +122,7 @@ module Processing 
     | 
|
| 
       124 
122 
     | 
    
         
             
                end
         
     | 
| 
       125 
123 
     | 
    
         | 
| 
       126 
124 
     | 
    
         
             
                def render_erb_in_path_with_binding(path, some_binding, opts = {})
         
     | 
| 
       127 
     | 
    
         
            -
                  erbs = Dir.glob(path +  
     | 
| 
      
 125 
     | 
    
         
            +
                  erbs = Dir.glob(path + "/**/*.erb") # double quotes required
         
     | 
| 
       128 
126 
     | 
    
         
             
                  erbs.each do |erb|
         
     | 
| 
       129 
127 
     | 
    
         
             
                    string = File.open(erb) { |f| f.read }
         
     | 
| 
       130 
128 
     | 
    
         
             
                    rendered = render_erb_from_string_with_binding(string, some_binding)
         
     | 
| 
         @@ -138,4 +136,3 @@ module Processing 
     | 
|
| 
       138 
136 
     | 
    
         
             
                end
         
     | 
| 
       139 
137 
     | 
    
         
             
              end
         
     | 
| 
       140 
138 
     | 
    
         
             
            end
         
     | 
| 
       141 
     | 
    
         
            -
             
     | 
| 
         @@ -1,8 +1,33 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            module Processing
         
     | 
| 
       2 
     | 
    
         
            -
               
     | 
| 
       3 
     | 
    
         
            -
             
     | 
| 
      
 2 
     | 
    
         
            +
              require 'erb'
         
     | 
| 
      
 3 
     | 
    
         
            +
             
     | 
| 
      
 4 
     | 
    
         
            +
              class SketchWriter
         
     | 
| 
      
 5 
     | 
    
         
            +
                include ERB::Util
         
     | 
| 
      
 6 
     | 
    
         
            +
             
     | 
| 
      
 7 
     | 
    
         
            +
                def initialize(template, param = {})
         
     | 
| 
      
 8 
     | 
    
         
            +
                  @name = param[:name]
         
     | 
| 
      
 9 
     | 
    
         
            +
                  @file_name = param[:file_name]
         
     | 
| 
      
 10 
     | 
    
         
            +
                  @title = param[:title]
         
     | 
| 
      
 11 
     | 
    
         
            +
                  @width = param[:width]
         
     | 
| 
      
 12 
     | 
    
         
            +
                  @height = param[:height]
         
     | 
| 
      
 13 
     | 
    
         
            +
                  @mode = param[:mode].upcase unless param[:mode].nil?
         
     | 
| 
      
 14 
     | 
    
         
            +
                  @template = template
         
     | 
| 
      
 15 
     | 
    
         
            +
                  save(@file_name)
         
     | 
| 
      
 16 
     | 
    
         
            +
                end
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
                def render
         
     | 
| 
      
 19 
     | 
    
         
            +
                  ERB.new(@template).result(binding)
         
     | 
| 
      
 20 
     | 
    
         
            +
                end
         
     | 
| 
      
 21 
     | 
    
         
            +
             
     | 
| 
      
 22 
     | 
    
         
            +
                def save(file)
         
     | 
| 
      
 23 
     | 
    
         
            +
                  File.open(file, 'w+') do |f|
         
     | 
| 
      
 24 
     | 
    
         
            +
                    f.write(render)
         
     | 
| 
      
 25 
     | 
    
         
            +
                  end
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
              end
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
       4 
29 
     | 
    
         
             
              # An abstract class providing common methods for real creators
         
     | 
| 
       5 
     | 
    
         
            -
              class Creator 
     | 
| 
      
 30 
     | 
    
         
            +
              class Creator
         
     | 
| 
       6 
31 
     | 
    
         | 
| 
       7 
32 
     | 
    
         
             
                ALL_DIGITS = /\A\d+\Z/
         
     | 
| 
       8 
33 
     | 
    
         | 
| 
         @@ -24,90 +49,139 @@ module Processing 
     | 
|
| 
       24 
49 
     | 
    
         
             
                  mode can be P2D / P3D.
         
     | 
| 
       25 
50 
     | 
    
         
             
                  Use    --wrap for a sketch wrapped as a class
         
     | 
| 
       26 
51 
     | 
    
         
             
                  Use    --inner to generated a ruby version of 'java' Inner class
         
     | 
| 
       27 
     | 
    
         
            -
                  Examples: rp5 create  
     | 
| 
       28 
     | 
    
         
            -
                  rp5 create  
     | 
| 
      
 52 
     | 
    
         
            +
                  Examples: rp5 create app 800 600
         
     | 
| 
      
 53 
     | 
    
         
            +
                  rp5 create app 800 600 p3d --wrap
         
     | 
| 
       29 
54 
     | 
    
         
             
                  rp5 create inner_class --inner
         
     | 
| 
       30 
55 
     | 
    
         | 
| 
       31 
56 
     | 
    
         
             
                  USAGE
         
     | 
| 
       32 
57 
     | 
    
         
             
                end
         
     | 
| 
       33 
58 
     | 
    
         | 
| 
       34 
     | 
    
         
            -
                def create_file(path, param, rendered, type)
         
     | 
| 
       35 
     | 
    
         
            -
                  # Make the file
         
     | 
| 
       36 
     | 
    
         
            -
                  dir = File.dirname path
         
     | 
| 
       37 
     | 
    
         
            -
                  mkdir_p dir
         
     | 
| 
       38 
     | 
    
         
            -
                  ful_path = File.join(dir, "#{param.file_name}.rb")
         
     | 
| 
       39 
     | 
    
         
            -
                  File.open(ful_path, 'w') { |f| f.print(rendered) }
         
     | 
| 
       40 
     | 
    
         
            -
                  puts "Created #{type} \"#{param.title}\" in #{ful_path.sub(/\A\.\//, '')}"
         
     | 
| 
       41 
     | 
    
         
            -
                end
         
     | 
| 
       42 
59 
     | 
    
         
             
              end
         
     | 
| 
       43 
60 
     | 
    
         | 
| 
       44 
61 
     | 
    
         
             
              # This class creates bare sketches, with an optional render mode
         
     | 
| 
       45 
62 
     | 
    
         
             
              class BasicSketch < Creator
         
     | 
| 
       46 
63 
     | 
    
         
             
                # Create a blank sketch, given a path.
         
     | 
| 
      
 64 
     | 
    
         
            +
                def basic_template
         
     | 
| 
      
 65 
     | 
    
         
            +
            %{
         
     | 
| 
      
 66 
     | 
    
         
            +
            def setup
         
     | 
| 
      
 67 
     | 
    
         
            +
              size <%=@width%>, <%=@height%>
         
     | 
| 
      
 68 
     | 
    
         
            +
            end
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            def draw
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
            end
         
     | 
| 
      
 73 
     | 
    
         
            +
            }
         
     | 
| 
      
 74 
     | 
    
         
            +
                end
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                def basic_template_mode
         
     | 
| 
      
 77 
     | 
    
         
            +
            %{
         
     | 
| 
      
 78 
     | 
    
         
            +
            def setup
         
     | 
| 
      
 79 
     | 
    
         
            +
              size <%=@width%>, <%=@height%>, <%=@mode%>
         
     | 
| 
      
 80 
     | 
    
         
            +
            end
         
     | 
| 
      
 81 
     | 
    
         
            +
             
     | 
| 
      
 82 
     | 
    
         
            +
            def draw
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
            end
         
     | 
| 
      
 85 
     | 
    
         
            +
            }
         
     | 
| 
      
 86 
     | 
    
         
            +
                end
         
     | 
| 
      
 87 
     | 
    
         
            +
             
     | 
| 
       47 
88 
     | 
    
         
             
                def create!(path, args)
         
     | 
| 
       48 
89 
     | 
    
         
             
                  return usage if /\?/ =~ path || /--help/ =~ path
         
     | 
| 
       49 
90 
     | 
    
         
             
                  main_file = File.basename(path, '.rb')
         
     | 
| 
       50 
91 
     | 
    
         
             
                  # Check to make sure that the main file doesn't exist already
         
     | 
| 
       51 
92 
     | 
    
         
             
                  already_exist(path)
         
     | 
| 
       52 
     | 
    
         
            -
                  @param =  
     | 
| 
       53 
     | 
    
         
            -
                    main_file.camelize,
         
     | 
| 
       54 
     | 
    
         
            -
                     
     | 
| 
       55 
     | 
    
         
            -
                    main_file.titleize,
         
     | 
| 
       56 
     | 
    
         
            -
                    args[0],
         
     | 
| 
       57 
     | 
    
         
            -
                    args[1],
         
     | 
| 
       58 
     | 
    
         
            -
                    args[2]
         
     | 
| 
       59 
     | 
    
         
            -
             
     | 
| 
       60 
     | 
    
         
            -
                  @with_size = @param 
     | 
| 
       61 
     | 
    
         
            -
                    @param 
     | 
| 
       62 
     | 
    
         
            -
                   
     | 
| 
       63 
     | 
    
         
            -
                   
     | 
| 
       64 
     | 
    
         
            -
                  rendered = render_erb_from_string_with_binding(template.read, binding)
         
     | 
| 
       65 
     | 
    
         
            -
                  create_file(path, @param, rendered, 'Sketch')
         
     | 
| 
      
 93 
     | 
    
         
            +
                  @param = {
         
     | 
| 
      
 94 
     | 
    
         
            +
                    name: main_file.camelize,
         
     | 
| 
      
 95 
     | 
    
         
            +
                    file_name: "#{File.dirname(path)}/#{path.underscore}.rb",
         
     | 
| 
      
 96 
     | 
    
         
            +
                    title: main_file.titleize,
         
     | 
| 
      
 97 
     | 
    
         
            +
                    width: args[0],
         
     | 
| 
      
 98 
     | 
    
         
            +
                    height: args[1],
         
     | 
| 
      
 99 
     | 
    
         
            +
                    mode: args[2]
         
     | 
| 
      
 100 
     | 
    
         
            +
                  }
         
     | 
| 
      
 101 
     | 
    
         
            +
                  @with_size = @param[:width] && @param[:width].match(ALL_DIGITS) &&
         
     | 
| 
      
 102 
     | 
    
         
            +
                    @param[:height] && @param[:height].match(ALL_DIGITS)
         
     | 
| 
      
 103 
     | 
    
         
            +
                  template = @param[:mode].nil? ? basic_template : basic_template_mode
         
     | 
| 
      
 104 
     | 
    
         
            +
                  SketchWriter.new(template, @param)
         
     | 
| 
       66 
105 
     | 
    
         
             
                end
         
     | 
| 
       67 
106 
     | 
    
         
             
              end
         
     | 
| 
       68 
107 
     | 
    
         | 
| 
       69 
108 
     | 
    
         
             
              # This class creates class wrapped sketches, with an optional render mode
         
     | 
| 
       70 
109 
     | 
    
         
             
              class ClassSketch < Creator
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
                def class_template
         
     | 
| 
      
 112 
     | 
    
         
            +
            %{
         
     | 
| 
      
 113 
     | 
    
         
            +
            class <%=@name%> < Processing::App
         
     | 
| 
      
 114 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 115 
     | 
    
         
            +
                size <%=@width%>, <%=@height%>
         
     | 
| 
      
 116 
     | 
    
         
            +
              end
         
     | 
| 
      
 117 
     | 
    
         
            +
             
     | 
| 
      
 118 
     | 
    
         
            +
              def draw
         
     | 
| 
      
 119 
     | 
    
         
            +
             
     | 
| 
      
 120 
     | 
    
         
            +
              end
         
     | 
| 
      
 121 
     | 
    
         
            +
            end
         
     | 
| 
      
 122 
     | 
    
         
            +
             
     | 
| 
      
 123 
     | 
    
         
            +
            # <%=@name%>.new(x: 20, y: 20)
         
     | 
| 
      
 124 
     | 
    
         
            +
            }
         
     | 
| 
      
 125 
     | 
    
         
            +
                end
         
     | 
| 
      
 126 
     | 
    
         
            +
             
     | 
| 
      
 127 
     | 
    
         
            +
                def class_template_mode
         
     | 
| 
      
 128 
     | 
    
         
            +
            %{
         
     | 
| 
      
 129 
     | 
    
         
            +
            class <%=@name%> < Processing::App
         
     | 
| 
      
 130 
     | 
    
         
            +
              def setup
         
     | 
| 
      
 131 
     | 
    
         
            +
                size <%=@width%>, <%=@height%>, <%=@mode%>
         
     | 
| 
      
 132 
     | 
    
         
            +
              end
         
     | 
| 
      
 133 
     | 
    
         
            +
             
     | 
| 
      
 134 
     | 
    
         
            +
              def draw
         
     | 
| 
      
 135 
     | 
    
         
            +
             
     | 
| 
      
 136 
     | 
    
         
            +
              end
         
     | 
| 
      
 137 
     | 
    
         
            +
            end
         
     | 
| 
      
 138 
     | 
    
         
            +
             
     | 
| 
      
 139 
     | 
    
         
            +
            # <%=@name%>.new(x: 20, y: 20)
         
     | 
| 
      
 140 
     | 
    
         
            +
            }
         
     | 
| 
      
 141 
     | 
    
         
            +
                end
         
     | 
| 
       71 
142 
     | 
    
         
             
                # Create a bare blank sketch, given a path.
         
     | 
| 
       72 
143 
     | 
    
         
             
                def create!(path, args)
         
     | 
| 
       73 
144 
     | 
    
         
             
                  return usage if /\?/ =~ path || /--help/ =~ path
         
     | 
| 
       74 
145 
     | 
    
         
             
                  main_file = File.basename(path, '.rb')
         
     | 
| 
       75 
146 
     | 
    
         
             
                  # Check to make sure that the main file doesn't exist already
         
     | 
| 
       76 
147 
     | 
    
         
             
                  already_exist(path)
         
     | 
| 
       77 
     | 
    
         
            -
                  @param =  
     | 
| 
       78 
     | 
    
         
            -
                    main_file.camelize,
         
     | 
| 
       79 
     | 
    
         
            -
                     
     | 
| 
       80 
     | 
    
         
            -
                    main_file.titleize,
         
     | 
| 
       81 
     | 
    
         
            -
                    args[0],
         
     | 
| 
       82 
     | 
    
         
            -
                    args[1],
         
     | 
| 
       83 
     | 
    
         
            -
                    args[2]
         
     | 
| 
       84 
     | 
    
         
            -
             
     | 
| 
       85 
     | 
    
         
            -
                  @with_size = @param 
     | 
| 
       86 
     | 
    
         
            -
                    @param 
     | 
| 
       87 
     | 
    
         
            -
                   
     | 
| 
       88 
     | 
    
         
            -
                   
     | 
| 
       89 
     | 
    
         
            -
                  rendered = render_erb_from_string_with_binding(template.read, binding)
         
     | 
| 
       90 
     | 
    
         
            -
                  create_file(path, @param, rendered, 'Sketch')
         
     | 
| 
      
 148 
     | 
    
         
            +
                  @param = {
         
     | 
| 
      
 149 
     | 
    
         
            +
                    name: main_file.camelize,
         
     | 
| 
      
 150 
     | 
    
         
            +
                    file_name: "#{File.dirname(path)}/#{path.underscore}.rb",
         
     | 
| 
      
 151 
     | 
    
         
            +
                    title: main_file.titleize,
         
     | 
| 
      
 152 
     | 
    
         
            +
                    width: args[0],
         
     | 
| 
      
 153 
     | 
    
         
            +
                    height: args[1],
         
     | 
| 
      
 154 
     | 
    
         
            +
                    mode: args[2]
         
     | 
| 
      
 155 
     | 
    
         
            +
                  }
         
     | 
| 
      
 156 
     | 
    
         
            +
                  @with_size = @param[:width] && @param[:width].match(ALL_DIGITS) &&
         
     | 
| 
      
 157 
     | 
    
         
            +
                    @param[:height] && @param[:height].match(ALL_DIGITS)
         
     | 
| 
      
 158 
     | 
    
         
            +
                  template = @param[:mode].nil? ? class_template : class_template_mode
         
     | 
| 
      
 159 
     | 
    
         
            +
                  SketchWriter.new(template, @param)
         
     | 
| 
       91 
160 
     | 
    
         
             
                end
         
     | 
| 
       92 
161 
     | 
    
         
             
              end
         
     | 
| 
       93 
162 
     | 
    
         | 
| 
       94 
163 
     | 
    
         
             
              # This class creates a ruby-processing class that mimics java inner class
         
     | 
| 
       95 
164 
     | 
    
         
             
              class Inner < Creator
         
     | 
| 
      
 165 
     | 
    
         
            +
                def inner_class_template
         
     | 
| 
      
 166 
     | 
    
         
            +
            %{
         
     | 
| 
      
 167 
     | 
    
         
            +
            class <%=@name%>
         
     | 
| 
      
 168 
     | 
    
         
            +
              include_module Processing::Proxy
         
     | 
| 
      
 169 
     | 
    
         
            +
             
     | 
| 
      
 170 
     | 
    
         
            +
            end
         
     | 
| 
      
 171 
     | 
    
         
            +
            }
         
     | 
| 
      
 172 
     | 
    
         
            +
                end
         
     | 
| 
       96 
173 
     | 
    
         
             
                # Create a blank sketch, given a path.
         
     | 
| 
       97 
174 
     | 
    
         
             
                def create!(path, _args_)
         
     | 
| 
       98 
175 
     | 
    
         
             
                  return usage if /\?/ =~ path || /--help/ =~ path
         
     | 
| 
       99 
176 
     | 
    
         
             
                  main_file = File.basename(path, '.rb')
         
     | 
| 
       100 
177 
     | 
    
         
             
                  # Check to make sure that the main file doesn't exist already
         
     | 
| 
       101 
178 
     | 
    
         
             
                  already_exist(path)
         
     | 
| 
       102 
     | 
    
         
            -
                  @param =  
     | 
| 
       103 
     | 
    
         
            -
                    main_file.camelize,
         
     | 
| 
       104 
     | 
    
         
            -
                     
     | 
| 
       105 
     | 
    
         
            -
                    main_file.titleize
         
     | 
| 
       106 
     | 
    
         
            -
             
     | 
| 
       107 
     | 
    
         
            -
                   
     | 
| 
       108 
     | 
    
         
            -
                  template = File.new("#{RP5_ROOT}/lib/templates/create/#{template_name}")
         
     | 
| 
       109 
     | 
    
         
            -
                  rendered = render_erb_from_string_with_binding(template.read, binding)
         
     | 
| 
       110 
     | 
    
         
            -
                  create_file(path, @param, rendered, "\"Inner Class\"")
         
     | 
| 
      
 179 
     | 
    
         
            +
                  @param = {
         
     | 
| 
      
 180 
     | 
    
         
            +
                    name: main_file.camelize,
         
     | 
| 
      
 181 
     | 
    
         
            +
                    file_name: "#{File.dirname(path)}/#{path.underscore}.rb",
         
     | 
| 
      
 182 
     | 
    
         
            +
                    title: main_file.titleize
         
     | 
| 
      
 183 
     | 
    
         
            +
                  }
         
     | 
| 
      
 184 
     | 
    
         
            +
                  SketchWriter.new(inner_class_template, @param)
         
     | 
| 
       111 
185 
     | 
    
         
             
                end
         
     | 
| 
       112 
186 
     | 
    
         
             
              end
         
     | 
| 
       113 
187 
     | 
    
         
             
            end
         
     | 
| 
         @@ -56,14 +56,14 @@ module Processing 
     | 
|
| 
       56 
56 
     | 
    
         | 
| 
       57 
57 
     | 
    
         
             
                # Overrides Processing convenience function thread, which takes a String
         
     | 
| 
       58 
58 
     | 
    
         
             
                # arg (for a function) to more rubylike version, takes a block...
         
     | 
| 
       59 
     | 
    
         
            -
                def thread( 
     | 
| 
      
 59 
     | 
    
         
            +
                def thread(&block)
         
     | 
| 
       60 
60 
     | 
    
         
             
                  if block_given?
         
     | 
| 
       61 
     | 
    
         
            -
                    Thread.new 
     | 
| 
      
 61 
     | 
    
         
            +
                    Thread.new(&block)
         
     | 
| 
       62 
62 
     | 
    
         
             
                  else
         
     | 
| 
       63 
63 
     | 
    
         
             
                    fail ArgumentError, 'thread must be called with a block' , caller
         
     | 
| 
       64 
64 
     | 
    
         
             
                  end
         
     | 
| 
       65 
65 
     | 
    
         
             
                end
         
     | 
| 
       66 
     | 
    
         
            -
             
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
       67 
67 
     | 
    
         
             
                # Explicitly provides 'processing.org' map instance method, in which
         
     | 
| 
       68 
68 
     | 
    
         
             
                # value is mapped from range 1, to range 2 (NB: values are not clamped to
         
     | 
| 
       69 
69 
     | 
    
         
             
                # range 1). It may be better to explicitly write your own interpolate function
         
     | 
| 
         @@ -98,7 +98,7 @@ module Processing 
     | 
|
| 
       98 
98 
     | 
    
         
             
                def max(*args)
         
     | 
| 
       99 
99 
     | 
    
         
             
                  args.max { |a, b| a <=> b }
         
     | 
| 
       100 
100 
     | 
    
         
             
                end
         
     | 
| 
       101 
     | 
    
         
            -
             
     | 
| 
      
 101 
     | 
    
         
            +
             
     | 
| 
       102 
102 
     | 
    
         
             
                # explicitly provide 'processing.org' abs instance method
         
     | 
| 
       103 
103 
     | 
    
         
             
                def abs(val)
         
     | 
| 
       104 
104 
     | 
    
         
             
                  warn 'abs(val) is deprecated use val.abs to avoid this warning'
         
     | 
| 
         @@ -110,7 +110,7 @@ module Processing 
     | 
|
| 
       110 
110 
     | 
    
         
             
                  warn 'ceil(val) is deprecated use val.ceil to avoid this warning'
         
     | 
| 
       111 
111 
     | 
    
         
             
                  val.ceil
         
     | 
| 
       112 
112 
     | 
    
         
             
                end
         
     | 
| 
       113 
     | 
    
         
            -
             
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
       114 
114 
     | 
    
         
             
                # explicitly provide 'processing.org' round instance method
         
     | 
| 
       115 
115 
     | 
    
         
             
                def round(val)
         
     | 
| 
       116 
116 
     | 
    
         
             
                  warn 'round(val) is deprecated use val.round to avoid this warning'
         
     | 
| 
         @@ -144,37 +144,37 @@ module Processing 
     | 
|
| 
       144 
144 
     | 
    
         
             
                  warn 'radians(theta) is deprecated use theta.radians to avoid this warning'
         
     | 
| 
       145 
145 
     | 
    
         
             
                  theta.radians
         
     | 
| 
       146 
146 
     | 
    
         
             
                end
         
     | 
| 
       147 
     | 
    
         
            -
             
     | 
| 
      
 147 
     | 
    
         
            +
             
     | 
| 
       148 
148 
     | 
    
         
             
                    # explicitly provide 'processing.org' degrees instance method
         
     | 
| 
       149 
149 
     | 
    
         
             
                def degrees(theta)
         
     | 
| 
       150 
150 
     | 
    
         
             
                  warn 'degrees(theta) is deprecated use theta.radians to avoid this warning'
         
     | 
| 
       151 
151 
     | 
    
         
             
                  theta.degrees
         
     | 
| 
       152 
152 
     | 
    
         
             
                end
         
     | 
| 
       153 
     | 
    
         
            -
             
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
       154 
154 
     | 
    
         
             
                # explicitly provide 'processing.org' hex instance method
         
     | 
| 
       155 
155 
     | 
    
         
             
                def hex(x)
         
     | 
| 
       156 
156 
     | 
    
         
             
                  warn 'hex(x) is deprecated use x.hex to avoid this warning'
         
     | 
| 
       157 
157 
     | 
    
         
             
                  x.hex
         
     | 
| 
       158 
158 
     | 
    
         
             
                end
         
     | 
| 
       159 
     | 
    
         
            -
             
     | 
| 
      
 159 
     | 
    
         
            +
             
     | 
| 
       160 
160 
     | 
    
         
             
                 # explicitly provide 'processing.org' unhex instance method
         
     | 
| 
       161 
161 
     | 
    
         
             
                def unhex(str)
         
     | 
| 
       162 
162 
     | 
    
         
             
                  warn 'unhex(str) is deprecated use str.to_i(base=16)'
         
     | 
| 
       163 
163 
     | 
    
         
             
                  str.to_i(base=16)
         
     | 
| 
       164 
164 
     | 
    
         
             
                end
         
     | 
| 
       165 
     | 
    
         
            -
             
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
       166 
166 
     | 
    
         
             
                # explicitly provide 'processing.org' binary instance method
         
     | 
| 
       167 
167 
     | 
    
         
             
                def binary(x)
         
     | 
| 
       168 
168 
     | 
    
         
             
                  warn 'binary(x) is deprecated use x.to_s(2) to avoid this warning'
         
     | 
| 
       169 
169 
     | 
    
         
             
                  x.to_s(2)
         
     | 
| 
       170 
170 
     | 
    
         
             
                end
         
     | 
| 
       171 
     | 
    
         
            -
             
     | 
| 
      
 171 
     | 
    
         
            +
             
     | 
| 
       172 
172 
     | 
    
         
             
                # explicitly provide 'processing.org' unbinary instance method
         
     | 
| 
       173 
     | 
    
         
            -
                def  
     | 
| 
      
 173 
     | 
    
         
            +
                def unbinary(str)
         
     | 
| 
       174 
174 
     | 
    
         
             
                  warn 'unbinary(str) is deprecated use str.to_i(base=2)'
         
     | 
| 
       175 
175 
     | 
    
         
             
                  str.to_i(base=2)
         
     | 
| 
       176 
176 
     | 
    
         
             
                end
         
     | 
| 
       177 
     | 
    
         
            -
             
     | 
| 
      
 177 
     | 
    
         
            +
             
     | 
| 
       178 
178 
     | 
    
         
             
                # explicitly provide 'processing.org' nf instance method
         
     | 
| 
       179 
179 
     | 
    
         
             
                def nf(*args)
         
     | 
| 
       180 
180 
     | 
    
         
             
                  warn 'nf(num, digits) is deprecated use num.to_s.rjust(digits) '\
         
     | 
| 
         @@ -199,37 +199,35 @@ module Processing 
     | 
|
| 
       199 
199 
     | 
    
         
             
                    fail ArgumentError, 'takes 2 or 3 parameters'
         
     | 
| 
       200 
200 
     | 
    
         
             
                  end
         
     | 
| 
       201 
201 
     | 
    
         
             
                end
         
     | 
| 
       202 
     | 
    
         
            -
                
         
     | 
| 
       203 
202 
     | 
    
         
             
                # explicitly provide 'processing.org' trim instance method
         
     | 
| 
       204 
203 
     | 
    
         
             
                def trim(str)
         
     | 
| 
       205 
204 
     | 
    
         
             
                  warn 'deprecated use str.strip'
         
     | 
| 
       206 
205 
     | 
    
         
             
                  str.strip
         
     | 
| 
       207 
206 
     | 
    
         
             
                end
         
     | 
| 
       208 
     | 
    
         
            -
             
     | 
| 
      
 207 
     | 
    
         
            +
             
     | 
| 
       209 
208 
     | 
    
         
             
                # explicitly provide 'processing.org' println instance method
         
     | 
| 
       210 
209 
     | 
    
         
             
                def println(str)
         
     | 
| 
       211 
210 
     | 
    
         
             
                  warn 'deprecated use puts(str)'
         
     | 
| 
       212 
211 
     | 
    
         
             
                  puts str
         
     | 
| 
       213 
212 
     | 
    
         
             
                end
         
     | 
| 
       214 
     | 
    
         
            -
             
     | 
| 
      
 213 
     | 
    
         
            +
             
     | 
| 
       215 
214 
     | 
    
         
             
                # explicitly provide 'processing.org' hour instance method
         
     | 
| 
       216 
215 
     | 
    
         
             
                def hour
         
     | 
| 
       217 
216 
     | 
    
         
             
                  warn 'deprecated use t = Time.now and t.hour'
         
     | 
| 
       218 
217 
     | 
    
         
             
                  PApplet.hour
         
     | 
| 
       219 
218 
     | 
    
         
             
                end
         
     | 
| 
       220 
     | 
    
         
            -
             
     | 
| 
      
 219 
     | 
    
         
            +
             
     | 
| 
       221 
220 
     | 
    
         
             
                # explicitly provide 'processing.org' second instance method
         
     | 
| 
       222 
221 
     | 
    
         
             
                def second
         
     | 
| 
       223 
222 
     | 
    
         
             
                  warn 'deprecated use t = Time.now and t.sec'
         
     | 
| 
       224 
223 
     | 
    
         
             
                  PApplet.second
         
     | 
| 
       225 
224 
     | 
    
         
             
                end
         
     | 
| 
       226 
     | 
    
         
            -
             
     | 
| 
      
 225 
     | 
    
         
            +
             
     | 
| 
       227 
226 
     | 
    
         
             
                # explicitly provide 'processing.org' minute instance method
         
     | 
| 
       228 
227 
     | 
    
         
             
                def minute
         
     | 
| 
       229 
     | 
    
         
            -
                   'deprecated use t = Time.now and t.min'
         
     | 
| 
       230 
228 
     | 
    
         
             
                  PApplet.minute
         
     | 
| 
       231 
229 
     | 
    
         
             
                end
         
     | 
| 
       232 
     | 
    
         
            -
             
     | 
| 
      
 230 
     | 
    
         
            +
             
     | 
| 
       233 
231 
     | 
    
         
             
                # Uses PImage class method under hood
         
     | 
| 
       234 
232 
     | 
    
         
             
                def blend_color(c1, c2, mode)
         
     | 
| 
       235 
233 
     | 
    
         
             
                  PImage.blendColor(c1, c2, mode)
         
     | 
| 
         @@ -252,9 +250,9 @@ module Processing 
     | 
|
| 
       252 
250 
     | 
    
         | 
| 
       253 
251 
     | 
    
         
             
                # By default, your sketch path is the folder that your sketch is in.
         
     | 
| 
       254 
252 
     | 
    
         
             
                # If you'd like to do something fancy, feel free.
         
     | 
| 
       255 
     | 
    
         
            -
                def set_sketch_path( 
     | 
| 
      
 253 
     | 
    
         
            +
                def set_sketch_path(spath = nil)
         
     | 
| 
       256 
254 
     | 
    
         
             
                  field = @declared_fields['sketchPath']
         
     | 
| 
       257 
     | 
    
         
            -
                  field.set_value(java_self,  
     | 
| 
      
 255 
     | 
    
         
            +
                  field.set_value(java_self, spath || SKETCH_ROOT)
         
     | 
| 
       258 
256 
     | 
    
         
             
                end
         
     | 
| 
       259 
257 
     | 
    
         | 
| 
       260 
258 
     | 
    
         
             
                # Fix java conversion problems getting the last key
         
     | 
| 
         @@ -53,14 +53,14 @@ module Processing 
     | 
|
| 
       53 
53 
     | 
    
         
             
                def load_java_library(library_name)
         
     | 
| 
       54 
54 
     | 
    
         
             
                  library_name = library_name.to_sym
         
     | 
| 
       55 
55 
     | 
    
         
             
                  return true if @loaded_libraries[library_name]
         
     | 
| 
       56 
     | 
    
         
            -
                   
     | 
| 
      
 56 
     | 
    
         
            +
                  jpath = get_library_directory_path(library_name, 'jar')
         
     | 
| 
       57 
57 
     | 
    
         
             
                  jars = get_library_paths(library_name, 'jar')
         
     | 
| 
       58 
58 
     | 
    
         
             
                  return false if jars.empty?
         
     | 
| 
       59 
59 
     | 
    
         
             
                  jars.each {|jar| require jar }
         
     | 
| 
       60 
60 
     | 
    
         | 
| 
       61 
     | 
    
         
            -
                  platform_specific_library_paths = get_platform_specific_library_paths( 
     | 
| 
       62 
     | 
    
         
            -
                  platform_specific_library_paths = platform_specific_library_paths.select do | 
     | 
| 
       63 
     | 
    
         
            -
                    test(?d,  
     | 
| 
      
 61 
     | 
    
         
            +
                  platform_specific_library_paths = get_platform_specific_library_paths(jpath)
         
     | 
| 
      
 62 
     | 
    
         
            +
                  platform_specific_library_paths = platform_specific_library_paths.select do |ppath|
         
     | 
| 
      
 63 
     | 
    
         
            +
                    test(?d, ppath) && !Dir.glob(File.join(ppath, '*.{so,dll,jnilib}')).empty?
         
     | 
| 
       64 
64 
     | 
    
         
             
                  end
         
     | 
| 
       65 
65 
     | 
    
         | 
| 
       66 
66 
     | 
    
         
             
                  if !platform_specific_library_paths.empty?
         
     | 
| 
         @@ -106,14 +106,14 @@ module Processing 
     | 
|
| 
       106 
106 
     | 
    
         
             
                  extensions = extension ? [extension] : %w{jar rb}
         
     | 
| 
       107 
107 
     | 
    
         
             
                  extensions.each do |ext|
         
     | 
| 
       108 
108 
     | 
    
         
             
                    [ "#{SKETCH_ROOT}/library/#{library_name}",
         
     | 
| 
       109 
     | 
    
         
            -
                      "#{Processing:: 
     | 
| 
      
 109 
     | 
    
         
            +
                      "#{Processing::RP_CONFIG['PROCESSING_ROOT']}/modes/java/libraries/#{library_name}/library",
         
     | 
| 
       110 
110 
     | 
    
         
             
                      "#{RP5_ROOT}/library/#{library_name}/library",
         
     | 
| 
       111 
111 
     | 
    
         
             
                      "#{RP5_ROOT}/library/#{library_name}",
         
     | 
| 
       112 
112 
     | 
    
         
             
                      "#{@sketchbook_library_path}/#{library_name}/library",
         
     | 
| 
       113 
113 
     | 
    
         
             
                      "#{@sketchbook_library_path}/#{library_name}"
         
     | 
| 
       114 
     | 
    
         
            -
                    ].each do | 
     | 
| 
       115 
     | 
    
         
            -
                      if File.exist?( 
     | 
| 
       116 
     | 
    
         
            -
                        return  
     | 
| 
      
 114 
     | 
    
         
            +
                    ].each do |jpath|
         
     | 
| 
      
 115 
     | 
    
         
            +
                      if File.exist?(jpath) && !Dir.glob(jpath + "/*.#{ext}").empty?
         
     | 
| 
      
 116 
     | 
    
         
            +
                        return jpath
         
     | 
| 
       117 
117 
     | 
    
         
             
                      end
         
     | 
| 
       118 
118 
     | 
    
         
             
                    end
         
     | 
| 
       119 
119 
     | 
    
         
             
                  end
         
     | 
| 
         @@ -123,19 +123,19 @@ module Processing 
     | 
|
| 
       123 
123 
     | 
    
         
             
                def find_sketchbook_path
         
     | 
| 
       124 
124 
     | 
    
         
             
                  preferences_paths = []
         
     | 
| 
       125 
125 
     | 
    
         
             
                  sketchbook_paths = []
         
     | 
| 
       126 
     | 
    
         
            -
                  if sketchbook_path = Processing:: 
     | 
| 
      
 126 
     | 
    
         
            +
                  if sketchbook_path = Processing::RP_CONFIG['sketchbook_path']
         
     | 
| 
       127 
127 
     | 
    
         
             
                    return File.expand_path(sketchbook_path)
         
     | 
| 
       128 
128 
     | 
    
         
             
                  else
         
     | 
| 
       129 
129 
     | 
    
         
             
                    ["'Application Data/Processing'", 'AppData/Roaming/Processing',
         
     | 
| 
       130 
130 
     | 
    
         
             
                     'Library/Processing', 'Documents/Processing',
         
     | 
| 
       131 
131 
     | 
    
         
             
                     '.processing', 'sketchbook'].each do |prefix|
         
     | 
| 
       132 
     | 
    
         
            -
                       
     | 
| 
       133 
     | 
    
         
            -
                      pref_path =  
     | 
| 
      
 132 
     | 
    
         
            +
                      spath = "#{ENV['HOME']}/#{prefix}"
         
     | 
| 
      
 133 
     | 
    
         
            +
                      pref_path = spath + '/preferences.txt'
         
     | 
| 
       134 
134 
     | 
    
         
             
                      if test(?f, pref_path)
         
     | 
| 
       135 
135 
     | 
    
         
             
                        preferences_paths << pref_path
         
     | 
| 
       136 
136 
     | 
    
         
             
                      end
         
     | 
| 
       137 
     | 
    
         
            -
                      if test(?d,  
     | 
| 
       138 
     | 
    
         
            -
                        sketchbook_paths <<  
     | 
| 
      
 137 
     | 
    
         
            +
                      if test(?d, spath)
         
     | 
| 
      
 138 
     | 
    
         
            +
                        sketchbook_paths << spath
         
     | 
| 
       139 
139 
     | 
    
         
             
                      end
         
     | 
| 
       140 
140 
     | 
    
         
             
                    end
         
     | 
| 
       141 
141 
     | 
    
         
             
                    if !preferences_paths.empty?
         
     | 
| 
         @@ -34,7 +34,7 @@ module Processing 
     | 
|
| 
       34 
34 
     | 
    
         
             
                Examples:
         
     | 
| 
       35 
35 
     | 
    
         
             
                rp5 setup unpack_samples
         
     | 
| 
       36 
36 
     | 
    
         
             
                rp5 run samples/contributed/jwishy.rb
         
     | 
| 
       37 
     | 
    
         
            -
                rp5 create some_new_sketch 640 480 p3d (P3D mode example) 
     | 
| 
      
 37 
     | 
    
         
            +
                rp5 create some_new_sketch 640 480 p3d (P3D mode example)
         
     | 
| 
       38 
38 
     | 
    
         
             
                rp5 create some_new_sketch 640 480 --wrap (a class wrapped default sketch)
         
     | 
| 
       39 
39 
     | 
    
         
             
                rp5 watch some_new_sketch.rb
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
         @@ -69,13 +69,13 @@ module Processing 
     | 
|
| 
       69 
69 
     | 
    
         
             
                # Parse the command-line options. Keep it simple.
         
     | 
| 
       70 
70 
     | 
    
         
             
                def parse_options(args)
         
     | 
| 
       71 
71 
     | 
    
         
             
                  @options = OpenStruct.new
         
     | 
| 
       72 
     | 
    
         
            -
                  @options.wrap 
     | 
| 
       73 
     | 
    
         
            -
                  @options.inner 
     | 
| 
       74 
     | 
    
         
            -
                  @options.jruby 
     | 
| 
       75 
     | 
    
         
            -
                  @options.nojruby 
     | 
| 
       76 
     | 
    
         
            -
                  @options.action = args[0] 
     | 
| 
       77 
     | 
    
         
            -
                  @options.path 
     | 
| 
       78 
     | 
    
         
            -
                  @options.args 
     | 
| 
      
 72 
     | 
    
         
            +
                  @options.wrap = !args.delete('--wrap').nil?
         
     | 
| 
      
 73 
     | 
    
         
            +
                  @options.inner = !args.delete('--inner').nil?
         
     | 
| 
      
 74 
     | 
    
         
            +
                  @options.jruby = !args.delete('--jruby').nil?
         
     | 
| 
      
 75 
     | 
    
         
            +
                  @options.nojruby = !args.delete('--nojruby').nil?
         
     | 
| 
      
 76 
     | 
    
         
            +
                  @options.action = args[0] || nil
         
     | 
| 
      
 77 
     | 
    
         
            +
                  @options.path = args[1] || File.basename(Dir.pwd + '.rb')
         
     | 
| 
      
 78 
     | 
    
         
            +
                  @options.args = args[2..-1] || []
         
     | 
| 
       79 
79 
     | 
    
         
             
                end
         
     | 
| 
       80 
80 
     | 
    
         | 
| 
       81 
81 
     | 
    
         
             
                # Create a fresh Ruby-Processing sketch, with the necessary
         
     | 
| 
         @@ -139,9 +139,9 @@ module Processing 
     | 
|
| 
       139 
139 
     | 
    
         
             
                def check(proc_root, installed)
         
     | 
| 
       140 
140 
     | 
    
         
             
                  show_version
         
     | 
| 
       141 
141 
     | 
    
         
             
                  root = '  PROCESSING_ROOT = Not Set!!!' unless proc_root
         
     | 
| 
       142 
     | 
    
         
            -
                  root ||= "  PROCESSING_ROOT = #{Processing:: 
     | 
| 
      
 142 
     | 
    
         
            +
                  root ||= "  PROCESSING_ROOT = #{Processing::RP_CONFIG['PROCESSING_ROOT']}"
         
     | 
| 
       143 
143 
     | 
    
         
             
                  puts root
         
     | 
| 
       144 
     | 
    
         
            -
                  puts "  JRUBY = #{Processing:: 
     | 
| 
      
 144 
     | 
    
         
            +
                  puts "  JRUBY = #{Processing::RP_CONFIG['JRUBY']}"
         
     | 
| 
       145 
145 
     | 
    
         
             
                  puts "  jruby-complete installed = #{installed}"
         
     | 
| 
       146 
146 
     | 
    
         
             
                end
         
     | 
| 
       147 
147 
     | 
    
         | 
| 
         @@ -167,7 +167,7 @@ module Processing 
     | 
|
| 
       167 
167 
     | 
    
         
             
                def spin_up(starter_script, sketch, args)
         
     | 
| 
       168 
168 
     | 
    
         
             
                  runner = "#{RP5_ROOT}/lib/ruby-processing/runners/#{starter_script}"
         
     | 
| 
       169 
169 
     | 
    
         
             
                  warn('The --jruby flag is no longer required') if @options.jruby
         
     | 
| 
       170 
     | 
    
         
            -
                  @options.nojruby = true if Processing:: 
     | 
| 
      
 170 
     | 
    
         
            +
                  @options.nojruby = true if Processing::RP_CONFIG['JRUBY'] == 'false'
         
     | 
| 
       171 
171 
     | 
    
         
             
                  java_args = discover_java_args(sketch)
         
     | 
| 
       172 
172 
     | 
    
         
             
                  command = @options.nojruby ?
         
     | 
| 
       173 
173 
     | 
    
         
             
                    ['java', java_args, '-cp', jruby_complete, 'org.jruby.Main', runner, sketch, args].flatten :
         
     | 
| 
         @@ -185,8 +185,8 @@ module Processing 
     | 
|
| 
       185 
185 
     | 
    
         
             
                  args += dock_icon
         
     | 
| 
       186 
186 
     | 
    
         
             
                  if File.exist?(arg_file)
         
     | 
| 
       187 
187 
     | 
    
         
             
                    args += File.read(arg_file).split(/\s+/)
         
     | 
| 
       188 
     | 
    
         
            -
                  elsif Processing:: 
     | 
| 
       189 
     | 
    
         
            -
                    args += Processing:: 
     | 
| 
      
 188 
     | 
    
         
            +
                  elsif Processing::RP_CONFIG['java_args']
         
     | 
| 
      
 189 
     | 
    
         
            +
                    args += Processing::RP_CONFIG['java_args'].split(/\s+/)
         
     | 
| 
       190 
190 
     | 
    
         
             
                  end
         
     | 
| 
       191 
191 
     | 
    
         
             
                  args.map! { |arg| "-J#{arg}" } unless @options.nojruby
         
     | 
| 
       192 
192 
     | 
    
         
             
                  args
         
     | 
| 
         @@ -231,7 +231,7 @@ module Processing 
     | 
|
| 
       231 
231 
     | 
    
         
             
                  data = {}
         
     | 
| 
       232 
232 
     | 
    
         
             
                  path = File.expand_path("#{ENV['HOME']}/.rp5rc")
         
     | 
| 
       233 
233 
     | 
    
         
             
                  if @os == :macosx
         
     | 
| 
       234 
     | 
    
         
            -
                    data['PROCESSING_ROOT'] = %q(/Applications/Processing.app/Contents/Java 
     | 
| 
      
 234 
     | 
    
         
            +
                    data['PROCESSING_ROOT'] = %q(/Applications/Processing.app/Contents/Java)
         
     | 
| 
       235 
235 
     | 
    
         
             
                  else
         
     | 
| 
       236 
236 
     | 
    
         
             
                    root = "#{ENV['HOME']}/processing-2.2.1"
         
     | 
| 
       237 
237 
     | 
    
         
             
                    data['PROCESSING_ROOT'] = root
         
     | 
| 
         @@ -34,7 +34,7 @@ end 
     | 
|
| 
       34 
34 
     | 
    
         
             
            def draw    
         
     | 
| 
       35 
35 
     | 
    
         
             
              if add_points 
         
     | 
| 
       36 
36 
     | 
    
         
             
                @nbr_points += 1
         
     | 
| 
       37 
     | 
    
         
            -
                @nbr_points =  
     | 
| 
      
 37 
     | 
    
         
            +
                @nbr_points = [nbr_points, KMAX_POINTS].min
         
     | 
| 
       38 
38 
     | 
    
         
             
                init_sphere(nbr_points)
         
     | 
| 
       39 
39 
     | 
    
         
             
              end
         
     | 
| 
       40 
40 
     | 
    
         | 
| 
         @@ -52,7 +52,7 @@ end 
     | 
|
| 
       52 
52 
     | 
    
         | 
| 
       53 
53 
     | 
    
         
             
            def render_globe
         
     | 
| 
       54 
54 
     | 
    
         
             
              push_matrix
         
     | 
| 
       55 
     | 
    
         
            -
              (0 ..  
     | 
| 
      
 55 
     | 
    
         
            +
              (0 .. [nbr_points, pts.length].min).each do |i|    
         
     | 
| 
       56 
56 
     | 
    
         
             
                lat = pts[i].lat 
         
     | 
| 
       57 
57 
     | 
    
         
             
                lon = pts[i].lon    
         
     | 
| 
       58 
58 
     | 
    
         
             
                push_matrix
         
     | 
| 
         @@ -45,8 +45,8 @@ class Hilbert 
     | 
|
| 
       45 
45 
     | 
    
         
             
                @grammar = Grammar.new(axiom, rule) 
         
     | 
| 
       46 
46 
     | 
    
         
             
                @production = grammar.generate gen
         
     | 
| 
       47 
47 
     | 
    
         
             
                @distance = size / (gen**2 - 1)
         
     | 
| 
       48 
     | 
    
         
            -
                @theta = radians 
     | 
| 
       49 
     | 
    
         
            -
                @phi = radians 
     | 
| 
      
 48 
     | 
    
         
            +
                @theta = 90.radians
         
     | 
| 
      
 49 
     | 
    
         
            +
                @phi = 90.radians  
         
     | 
| 
       50 
50 
     | 
    
         
             
                @adj_array = [0, 0.5, 1.5, 3.5, 7.5, 15].map { |x| Vec3D.new(x * -1, x, x * -1) }
         
     | 
| 
       51 
51 
     | 
    
         
             
              end
         
     | 
| 
       52 
52 
     | 
    
         | 
| 
         @@ -102,7 +102,7 @@ class Handle 
     | 
|
| 
       102 
102 
     | 
    
         
             
                (mouse_x >= x && mouse_x <= x + width && mouse_y >= y && mouse_y <= y + height)
         
     | 
| 
       103 
103 
     | 
    
         
             
              end
         
     | 
| 
       104 
104 
     | 
    
         | 
| 
       105 
     | 
    
         
            -
              def lock(val,  
     | 
| 
       106 
     | 
    
         
            -
                 
     | 
| 
       107 
     | 
    
         
            -
              end 
     | 
| 
      
 105 
     | 
    
         
            +
              def lock(val, first, last)
         
     | 
| 
      
 106 
     | 
    
         
            +
                constrain(val, first, last)
         
     | 
| 
      
 107 
     | 
    
         
            +
              end
         
     | 
| 
       108 
108 
     | 
    
         
             
            end
         
     | 
| 
         @@ -42,12 +42,11 @@ def draw 
     | 
|
| 
       42 
42 
     | 
    
         
             
            end
         
     | 
| 
       43 
43 
     | 
    
         | 
| 
       44 
44 
     | 
    
         | 
| 
       45 
     | 
    
         
            -
            class HScrollbar
         
     | 
| 
       46 
     | 
    
         
            -
             
     | 
| 
      
 45 
     | 
    
         
            +
            class HScrollbar 
         
     | 
| 
      
 46 
     | 
    
         
            +
              include Processing::Proxy
         
     | 
| 
       47 
47 
     | 
    
         
             
              attr_reader :swidth, :sheight, :xpos, :ypos, :spos, :newspos
         
     | 
| 
       48 
48 
     | 
    
         
             
              attr_reader :spos_max, :spos_min, :loose, :over, :locked, :ratio 
         
     | 
| 
       49 
49 
     | 
    
         
             
              def initialize(xp, yp, sw, sh, l)
         
     | 
| 
       50 
     | 
    
         
            -
                super
         
     | 
| 
       51 
50 
     | 
    
         
             
                @swidth = sw
         
     | 
| 
       52 
51 
     | 
    
         
             
                @sheight = sh
         
     | 
| 
       53 
52 
     | 
    
         
             
                widthtoheight = sw - sh
         
     | 
| 
         @@ -68,10 +67,6 @@ class HScrollbar 
     | 
|
| 
       68 
67 
     | 
    
         
             
                @spos = spos + (newspos - spos) / loose if (newspos - spos).abs > 1
         
     | 
| 
       69 
68 
     | 
    
         
             
              end
         
     | 
| 
       70 
69 
     | 
    
         | 
| 
       71 
     | 
    
         
            -
              def constrain(val, minv, maxv)
         
     | 
| 
       72 
     | 
    
         
            -
                min(max(val, minv), maxv)
         
     | 
| 
       73 
     | 
    
         
            -
              end
         
     | 
| 
       74 
     | 
    
         
            -
             
     | 
| 
       75 
70 
     | 
    
         
             
              def over_event?
         
     | 
| 
       76 
71 
     | 
    
         
             
                (mouse_x > xpos && mouse_x < xpos + swidth && mouse_y > ypos && mouse_y < ypos + sheight)
         
     | 
| 
       77 
72 
     | 
    
         
             
              end
         
     | 
| 
         @@ -14,30 +14,30 @@ def setup 
     | 
|
| 
       14 
14 
     | 
    
         | 
| 
       15 
15 
     | 
    
         
             
              # Load an image from the data directory
         
     | 
| 
       16 
16 
     | 
    
         
             
              # Load a different image by modifying the comments
         
     | 
| 
       17 
     | 
    
         
            -
              img =  
     | 
| 
      
 17 
     | 
    
         
            +
              img = load_image('frontier.jpg')
         
     | 
| 
       18 
18 
     | 
    
         
             
              image(img, 0, 0)
         
     | 
| 
      
 19 
     | 
    
         
            +
              img.load_pixels
         
     | 
| 
       19 
20 
     | 
    
         
             
              @hist = Array.new(256, 0)
         
     | 
| 
       20 
21 
     | 
    
         | 
| 
       21 
22 
     | 
    
         
             
              # Calculate the histogram
         
     | 
| 
       22 
23 
     | 
    
         
             
              (0 ... img.width).each do |i|
         
     | 
| 
       23 
24 
     | 
    
         
             
                (0 ... img.height).each do |j|
         
     | 
| 
       24 
     | 
    
         
            -
                  bright = (brightness( 
     | 
| 
      
 25 
     | 
    
         
            +
                  bright = (brightness(img.pixels[j * img.width + i]))
         
     | 
| 
       25 
26 
     | 
    
         
             
                  hist[bright] += 1  
         
     | 
| 
       26 
27 
     | 
    
         
             
                end
         
     | 
| 
       27 
28 
     | 
    
         
             
              end
         
     | 
| 
       28 
29 
     | 
    
         | 
| 
       29 
     | 
    
         
            -
              # Find the largest value in the histogram using  
     | 
| 
       30 
     | 
    
         
            -
               
     | 
| 
       31 
     | 
    
         
            -
              histMax = max(hist.to_java Java::int)
         
     | 
| 
      
 30 
     | 
    
         
            +
              # Find the largest value in the histogram using ruby array max function
         
     | 
| 
      
 31 
     | 
    
         
            +
              hist_max = hist.max
         
     | 
| 
       32 
32 
     | 
    
         | 
| 
       33 
33 
     | 
    
         
             
              stroke(255)
         
     | 
| 
       34 
34 
     | 
    
         
             
              # Draw half of the histogram (skip every second value)
         
     | 
| 
       35 
35 
     | 
    
         
             
              (0 ... img.width).step(2) do |i|
         
     | 
| 
       36 
36 
     | 
    
         
             
                # Map i (from 0..img.width) to a location in the histogram (0..255)
         
     | 
| 
       37 
     | 
    
         
            -
                which =  
     | 
| 
      
 37 
     | 
    
         
            +
                which = map(i, 0, img.width, 0, 255)
         
     | 
| 
       38 
38 
     | 
    
         
             
                # Convert the histogram value to a location between 
         
     | 
| 
       39 
39 
     | 
    
         
             
                # the bottom and the top of the picture
         
     | 
| 
       40 
     | 
    
         
            -
                y =  
     | 
| 
      
 40 
     | 
    
         
            +
                y = map(hist[which], 0, hist_max, img.height, 0)
         
     | 
| 
       41 
41 
     | 
    
         
             
                line(i, img.height, i, y)
         
     | 
| 
       42 
42 
     | 
    
         
             
              end
         
     | 
| 
       43 
43 
     | 
    
         
             
            end
         
     | 
    
        data/vendors/Rakefile
    CHANGED
    
    | 
         @@ -8,7 +8,7 @@ WARNING = <<-EOS 
     | 
|
| 
       8 
8 
     | 
    
         | 
| 
       9 
9 
     | 
    
         
             
            EOS
         
     | 
| 
       10 
10 
     | 
    
         | 
| 
       11 
     | 
    
         
            -
            JRUBY_VERSION      = "1.7. 
     | 
| 
      
 11 
     | 
    
         
            +
            JRUBY_VERSION      = "1.7.14"
         
     | 
| 
       12 
12 
     | 
    
         | 
| 
       13 
13 
     | 
    
         
             
            CLOBBER.include("jruby-complete-#{JRUBY_VERSION}.jar")
         
     | 
| 
       14 
14 
     | 
    
         | 
| 
         @@ -21,7 +21,7 @@ task :download => ["jruby-complete-#{JRUBY_VERSION}.jar"] 
     | 
|
| 
       21 
21 
     | 
    
         
             
            file "jruby-complete-#{JRUBY_VERSION}.jar" do
         
     | 
| 
       22 
22 
     | 
    
         
             
              begin
         
     | 
| 
       23 
23 
     | 
    
         
             
                sh "wget http://jruby.org.s3.amazonaws.com/downloads/#{JRUBY_VERSION}/jruby-complete-#{JRUBY_VERSION}.jar"
         
     | 
| 
       24 
     | 
    
         
            -
                check_sha1("jruby-complete-#{JRUBY_VERSION}.jar", " 
     | 
| 
      
 24 
     | 
    
         
            +
                check_sha1("jruby-complete-#{JRUBY_VERSION}.jar", "ad70c18834a143afa6686ebcda27351ebfef7385")
         
     | 
| 
       25 
25 
     | 
    
         
             
              rescue
         
     | 
| 
       26 
26 
     | 
    
         
             
                warn(WARNING)
         
     | 
| 
       27 
27 
     | 
    
         
             
              end
         
     | 
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: ruby-processing
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 2.6. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 2.6.1
         
     | 
| 
       5 
5 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       6 
6 
     | 
    
         
             
            authors:
         
     | 
| 
       7 
7 
     | 
    
         
             
            - Jeremy Ashkenas
         
     | 
| 
         @@ -18,7 +18,7 @@ authors: 
     | 
|
| 
       18 
18 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       19 
19 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       20 
20 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       21 
     | 
    
         
            -
            date: 2014-08- 
     | 
| 
      
 21 
     | 
    
         
            +
            date: 2014-08-30 00:00:00.000000000 Z
         
     | 
| 
       22 
22 
     | 
    
         
             
            dependencies:
         
     | 
| 
       23 
23 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       24 
24 
     | 
    
         
             
              name: bundler
         
     | 
| 
         @@ -130,11 +130,8 @@ files: 
     | 
|
| 
       130 
130 
     | 
    
         
             
            - lib/templates/application/lib/library/library.txt
         
     | 
| 
       131 
131 
     | 
    
         
             
            - lib/templates/application/run.erb
         
     | 
| 
       132 
132 
     | 
    
         
             
            - lib/templates/application/run.exe
         
     | 
| 
       133 
     | 
    
         
            -
            - lib/templates/create/ 
     | 
| 
       134 
     | 
    
         
            -
            - lib/templates/create/ 
     | 
| 
       135 
     | 
    
         
            -
            - lib/templates/create/basic_wrap.rb.erb
         
     | 
| 
       136 
     | 
    
         
            -
            - lib/templates/create/inner_class.rb.erb
         
     | 
| 
       137 
     | 
    
         
            -
            - lib/templates/create/mode_wrap.rb.erb
         
     | 
| 
      
 133 
     | 
    
         
            +
            - lib/templates/create/blank_sketch.rb.erb
         
     | 
| 
      
 134 
     | 
    
         
            +
            - lib/templates/create/p3d_sketch.rb.erb
         
     | 
| 
       138 
135 
     | 
    
         
             
            - library/boids/boids.rb
         
     | 
| 
       139 
136 
     | 
    
         
             
            - library/control_panel/control_panel.rb
         
     | 
| 
       140 
137 
     | 
    
         
             
            - library/fastmath/fastmath.rb
         
     | 
| 
         @@ -1,15 +0,0 @@ 
     | 
|
| 
       1 
     | 
    
         
            -
            # <%= @param.file_name %>.rb
         
     | 
| 
       2 
     | 
    
         
            -
             
     | 
| 
       3 
     | 
    
         
            -
            class <%= @param.name %> < Processing::App
         
     | 
| 
       4 
     | 
    
         
            -
             
     | 
| 
       5 
     | 
    
         
            -
              def setup
         
     | 
| 
       6 
     | 
    
         
            -
                <%= "size #{@param.width}, #{@param.height}, #{@param.mode.upcase}" if @with_size %>
         
     | 
| 
       7 
     | 
    
         
            -
                
         
     | 
| 
       8 
     | 
    
         
            -
              end
         
     | 
| 
       9 
     | 
    
         
            -
              
         
     | 
| 
       10 
     | 
    
         
            -
              def draw
         
     | 
| 
       11 
     | 
    
         
            -
              
         
     | 
| 
       12 
     | 
    
         
            -
              end  
         
     | 
| 
       13 
     | 
    
         
            -
            end
         
     | 
| 
       14 
     | 
    
         
            -
             
     | 
| 
       15 
     | 
    
         
            -
            <%= @param.name %>.new(x: 20, y: 30)
         
     |