jruby_art 1.0.5 → 1.0.6
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/jruby_art/creators/creator.rb +2 -3
- data/lib/jruby_art/helpers/string_extra.rb +16 -7
- data/lib/jruby_art/version.rb +1 -1
- data/lib/rpextras.jar +0 -0
- data/library/slider/slider.rb +43 -0
- data/vendors/Rakefile +1 -1
- metadata +15 -15
- data/lib/jruby_art/helpers/camel_string.rb +0 -22
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 871f9994cf154b8e5f8273b71ec1ae5e95465e59
|
4
|
+
data.tar.gz: 3e0bab9affa5a74f596d2e2d74e5c5b525b98328
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a94a5ce02de30ffebbfc7f672e8900206b070aa752964ce2f92b37179a4ef7c2cfbbf94a9af355693a09033633d2dabea035f8026ba4e3127b240bf34f23f94a
|
7
|
+
data.tar.gz: a7f6a8bdb65170d293ec798e74a4d2ca6e1be10c092d3f506be513f3892121486fb740dd3f93cf6f625e12d55822851dba04737d5b3226c019ae625714cc347c
|
@@ -137,7 +137,6 @@ CODE
|
|
137
137
|
# processing wrapper module
|
138
138
|
module Processing
|
139
139
|
require_relative '../helpers/string_extra'
|
140
|
-
require_relative '../helpers/camel_string'
|
141
140
|
# Write file to disk
|
142
141
|
class SketchWriter
|
143
142
|
attr_reader :file
|
@@ -222,7 +221,7 @@ module Processing
|
|
222
221
|
main_file = File.basename(path, '.rb') # allow uneeded extension input
|
223
222
|
# Check to make sure that the main file doesn't exist already
|
224
223
|
already_exist(path)
|
225
|
-
@name =
|
224
|
+
@name = StringExtra.new(main_file).camelize
|
226
225
|
writer = SketchWriter.new(main_file)
|
227
226
|
@title = StringExtra.new(main_file).titleize
|
228
227
|
@width, @height = args[0], args[1]
|
@@ -247,7 +246,7 @@ module Processing
|
|
247
246
|
main_file = File.basename(path, '.rb') # allow uneeded extension input
|
248
247
|
# Check to make sure that the main file doesn't exist already
|
249
248
|
already_exist(path)
|
250
|
-
@name =
|
249
|
+
@name = StringExtra.new(main_file).camelize
|
251
250
|
writer = SketchWriter.new(main_file)
|
252
251
|
@title = StringExtra.new(main_file).titleize
|
253
252
|
@width, @height = args[0], args[1]
|
@@ -3,12 +3,12 @@
|
|
3
3
|
|
4
4
|
require 'forwardable'
|
5
5
|
|
6
|
-
#
|
6
|
+
# String utility for creating titles and class-names
|
7
7
|
class StringExtra
|
8
8
|
extend Forwardable
|
9
|
-
def_delegators
|
10
|
-
def initialize(str
|
11
|
-
@
|
9
|
+
def_delegators :@str, :upcase, :capitalize, :length, :downcase, :gsub, :tr
|
10
|
+
def initialize(str)
|
11
|
+
@str = str
|
12
12
|
end
|
13
13
|
|
14
14
|
def titleize
|
@@ -18,19 +18,28 @@ class StringExtra
|
|
18
18
|
.tr('-', '_')
|
19
19
|
.downcase
|
20
20
|
.gsub(/_id$/, '')
|
21
|
-
.
|
21
|
+
.tr('_', ' ').capitalize
|
22
22
|
.gsub(/\b([a-z])/) { Regexp.last_match[1].capitalize }
|
23
23
|
end
|
24
24
|
|
25
25
|
def humanize
|
26
|
-
gsub(/_id$/, '').
|
26
|
+
gsub(/_id$/, '').tr(/_/, ' ').capitalize
|
27
27
|
end
|
28
28
|
|
29
29
|
def underscore
|
30
30
|
gsub(/::/, '/')
|
31
31
|
.gsub(/([A-Z]+)([A-Z][a-z])/, '\1_\2')
|
32
32
|
.gsub(/([a-z\d])([A-Z])/, '\1_\2')
|
33
|
-
.
|
33
|
+
.sub('-', '_')
|
34
34
|
.downcase
|
35
35
|
end
|
36
|
+
|
37
|
+
def camelize(first_letter_in_uppercase = true)
|
38
|
+
if first_letter_in_uppercase
|
39
|
+
@str.gsub(%r{/(.?)}) { '::' + Regexp.last_match[1].upcase }
|
40
|
+
.gsub(/(^|_)(.)/) { Regexp.last_match[2].upcase }
|
41
|
+
else
|
42
|
+
@str[0] + camelize[1..-1]
|
43
|
+
end
|
44
|
+
end
|
36
45
|
end
|
data/lib/jruby_art/version.rb
CHANGED
data/lib/rpextras.jar
CHANGED
Binary file
|
@@ -0,0 +1,43 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
# frozen_string_literal: true
|
3
|
+
# Here's a little library for quickly hooking up in sketch sliders.
|
4
|
+
# Copyright (c) 2016 Martin Prout.
|
5
|
+
|
6
|
+
java_import 'monkstone.slider.CustomHorizontalSlider'
|
7
|
+
java_import 'monkstone.slider.CustomVerticalSlider'
|
8
|
+
|
9
|
+
module Slider
|
10
|
+
def self.slider(app:, x:, y:, name:, **opts)
|
11
|
+
options = default.merge opts
|
12
|
+
if options[:vertical]
|
13
|
+
slider = CustomVerticalSlider.new(
|
14
|
+
app,
|
15
|
+
x,
|
16
|
+
y,
|
17
|
+
options[:length],
|
18
|
+
options[:range].first,
|
19
|
+
options[:range].last,
|
20
|
+
name
|
21
|
+
)
|
22
|
+
else
|
23
|
+
slider = CustomHorizontalSlider.new(
|
24
|
+
app,
|
25
|
+
x,
|
26
|
+
y,
|
27
|
+
options[:length],
|
28
|
+
options[:range].first,
|
29
|
+
options[:range].last,
|
30
|
+
name
|
31
|
+
)
|
32
|
+
end
|
33
|
+
unless opts.empty?
|
34
|
+
slider.bar_width(opts.fetch(:bar_width, 10))
|
35
|
+
slider.set_value(opts.fetch(:initial_value, 0))
|
36
|
+
end
|
37
|
+
slider
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.default
|
41
|
+
{ length: 100, range: (0..100) }
|
42
|
+
end
|
43
|
+
end
|
data/vendors/Rakefile
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: jruby_art
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jeremy Ashkenas
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2016-
|
13
|
+
date: 2016-04-24 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: rake
|
@@ -40,15 +40,15 @@ dependencies:
|
|
40
40
|
- - "~>"
|
41
41
|
- !ruby/object:Gem::Version
|
42
42
|
version: '5.8'
|
43
|
-
description:
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
43
|
+
description: " JRubyArt is a ruby wrapper for the processing art framework.\n The
|
44
|
+
current release features examples using hype library by Joshua Davis.\n This version
|
45
|
+
supports processing-3.0.2, and uses jruby-9.0.5.0 as the glue \n between ruby
|
46
|
+
and java. You can use both processing libraries and ruby gems \n in your sketches.
|
47
|
+
Features create/run/watch/live modes. The \"watch\" mode,\n provides a nice REPL-ish
|
48
|
+
way to work on your processing sketches. Includes:-\n A \"Control Panel\" library,
|
49
|
+
so that you can easily create sliders, buttons,\n checkboxes and drop-down menus,
|
50
|
+
and hook them into your sketch's instance\n variables and hundreds of worked examples
|
51
|
+
to get you started...\n"
|
52
52
|
email: martin_p@lineone.net
|
53
53
|
executables:
|
54
54
|
- k9
|
@@ -62,7 +62,6 @@ files:
|
|
62
62
|
- lib/jruby_art/creators/creator.rb
|
63
63
|
- lib/jruby_art/helper_methods.rb
|
64
64
|
- lib/jruby_art/helpers/aabb.rb
|
65
|
-
- lib/jruby_art/helpers/camel_string.rb
|
66
65
|
- lib/jruby_art/helpers/numeric.rb
|
67
66
|
- lib/jruby_art/helpers/string_extra.rb
|
68
67
|
- lib/jruby_art/library_loader.rb
|
@@ -77,6 +76,7 @@ files:
|
|
77
76
|
- library/control_panel/control_panel.rb
|
78
77
|
- library/library_proxy/README.md
|
79
78
|
- library/library_proxy/library_proxy.rb
|
79
|
+
- library/slider/slider.rb
|
80
80
|
- library/video_event/video_event.rb
|
81
81
|
- vendors/Rakefile
|
82
82
|
homepage: https://ruby-processing.github.io/
|
@@ -100,10 +100,10 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
100
|
version: '0'
|
101
101
|
requirements:
|
102
102
|
- A decent graphics card
|
103
|
-
- java runtime >= 1.8+
|
104
|
-
- processing = 3.0.
|
103
|
+
- java runtime >= 1.8.0_77+
|
104
|
+
- processing = 3.0.2+
|
105
105
|
rubyforge_project:
|
106
|
-
rubygems_version: 2.
|
106
|
+
rubygems_version: 2.6.3
|
107
107
|
signing_key:
|
108
108
|
specification_version: 4
|
109
109
|
summary: Code as Art, Art as Code. Processing and Ruby are meant for each other.
|
@@ -1,22 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
# frozen_string_literal: false
|
3
|
-
|
4
|
-
require 'forwardable'
|
5
|
-
|
6
|
-
# Avoid the monkey patching of String for camelize
|
7
|
-
class CamelString
|
8
|
-
extend Forwardable
|
9
|
-
def_delegators(:@string, *String.public_instance_methods(false))
|
10
|
-
def initialize(str = 'no_name')
|
11
|
-
@string = (str.length > 60) ? 'long_name' : str
|
12
|
-
end
|
13
|
-
|
14
|
-
def camelize(first_letter_in_uppercase = true)
|
15
|
-
if first_letter_in_uppercase
|
16
|
-
@string.gsub(%r{/(.?)}) { '::' + Regexp.last_match[1].upcase }
|
17
|
-
.gsub(/(^|_)(.)/) { Regexp.last_match[2].upcase }
|
18
|
-
else
|
19
|
-
@string[0] + camelize[1..-1]
|
20
|
-
end
|
21
|
-
end
|
22
|
-
end
|