rubysketch 0.7.4 → 0.7.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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: eda1e0442d156b884c4f7afd8b4e3c0392341bc84735d52dc037ef56b5006585
4
- data.tar.gz: 4e53b3ac4a8ed617310c6ac4968228afbcf65e87de36cb153672d0e24afa9e3b
3
+ metadata.gz: 82768eceed1efd9384a83322023dbd5dd3a148db4a46c6eb5aa627c776b9cf38
4
+ data.tar.gz: 2543637edcea6cbe651f87ed1dd8a740b5aee4847598de20548ad63678223045
5
5
  SHA512:
6
- metadata.gz: 2144b854a40676274b16a69c3d37c0f331eef22f64310b149868eeea8dde4c807bc7ffbe61cdbc2a467f50622728117374bc7117466f2de02847d6e83d62e5b8
7
- data.tar.gz: dd70e2b7688d4461ac3c3c5adfd04acaed6f2ab4cce83fd3cc0aeff0cbd16f6cd22f5c07eea5a18f5fb8139645e5342e976c94ddba1df7a4e17f94fb2c976a61
6
+ metadata.gz: c63d1771c0187955073df25e80ea3d6dca4bcc57f9e11d0a3cd311a457336682439683b89594d8a22a0f258eaa01e022783f0d7504e4644f2be2b739828442a0
7
+ data.tar.gz: 8e188f9d1ed8ca7194c17966072d77899ad8beca28d18f74ff21409c396877362fc0bcf7b47b16eec51f70f18fdd46e6d77e84bcd08f61ac5d0ae8b594382724
data/ChangeLog.md CHANGED
@@ -1,6 +1,17 @@
1
1
  # rubysketch ChangeLog
2
2
 
3
3
 
4
+ ## [v0.7.6] - 2025-01-30
5
+
6
+ - Update dependencies: processing
7
+
8
+
9
+ ## [v0.7.5] - 2025-01-27
10
+
11
+ - Event blocks can be defined as methods with 'def'
12
+ - Alias snake case methods
13
+
14
+
4
15
  ## [v0.7.4] - 2025-01-23
5
16
 
6
17
  - Update dependencies
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.7.4
1
+ 0.7.6
@@ -1,6 +1,15 @@
1
1
  require 'processing/all'
2
2
  require 'beeps'
3
3
 
4
+
5
+ module RubySketch
6
+
7
+ Vector = Processing::Vector
8
+ Image = Processing::Image
9
+
10
+ end# RubySketch
11
+
12
+
4
13
  require 'rubysketch/extension'
5
14
  require 'rubysketch/helper'
6
15
 
@@ -9,11 +18,3 @@ require 'rubysketch/shape'
9
18
  require 'rubysketch/sound'
10
19
  require 'rubysketch/easings'
11
20
  require 'rubysketch/context'
12
-
13
-
14
- module RubySketch
15
-
16
- Vector = Processing::Vector
17
- Image = Processing::Image
18
-
19
- end# RubySketch
data/lib/rubysketch.rb CHANGED
@@ -2,23 +2,38 @@ require 'rubysketch/all'
2
2
 
3
3
 
4
4
  module RubySketch
5
- w = (ENV['WIDTH'] || 500).to_i
6
- h = (ENV['HEIGHT'] || 500).to_i
7
- WINDOW__ = Processing::Window.new(w, h) {start}
8
- CONTEXT__ = RubySketch::Context.new WINDOW__
5
+ WINDOW__, CONTEXT__ = Processing.setup__ RubySketch
9
6
 
10
7
  refine Object do
11
- (CONTEXT__.methods - Object.instance_methods)
12
- .reject {_1 =~ /__$/} # methods for internal use
13
- .each do |method|
14
- define_method(method) do |*args, **kwargs, &block|
15
- CONTEXT__.__send__(method, *args, **kwargs, &block)
16
- end
8
+ context = CONTEXT__
9
+ Processing.funcs__(context).each do |func|
10
+ define_method func do |*args, **kwargs, &block|
11
+ context.__send__ func, *args, **kwargs, &block
17
12
  end
13
+ end
18
14
  end
19
15
  end# RubySketch
20
16
 
21
17
 
18
+ def RubySketch(snake_case: false)
19
+ return RubySketch unless snake_case
20
+
21
+ $rubysketch_refinements_with_snake_case ||= Module.new do
22
+ Processing.alias_snake_case_methods__ Processing
23
+ Processing.alias_snake_case_methods__ RubySketch
24
+
25
+ refine Object do
26
+ context = RubySketch::CONTEXT__
27
+ Processing.funcs__(context).each do |func|
28
+ define_method func do |*args, **kwargs, &block|
29
+ context.__send__ func, *args, **kwargs, &block
30
+ end
31
+ end
32
+ end
33
+ end
34
+ end
35
+
36
+
22
37
  begin
23
38
  w, c = RubySketch::WINDOW__, RubySketch::CONTEXT__
24
39
 
@@ -28,6 +43,11 @@ begin
28
43
 
29
44
  w.__send__ :begin_draw
30
45
  at_exit do
46
+ Processing.events__(c).each do |event|
47
+ m = begin method event; rescue NameError; nil end
48
+ c.__send__(event) {__send__ event} if m
49
+ end
50
+
31
51
  w.__send__ :end_draw
32
52
  Processing::App.new {w.show}.start if c.hasUserBlocks__ && !$!
33
53
  end
data/rubysketch.gemspec CHANGED
@@ -30,7 +30,7 @@ Gem::Specification.new do |s|
30
30
  s.add_dependency 'beeps', '~> 0.3.3', '>= 0.3.3'
31
31
  s.add_dependency 'rays', '~> 0.3.3', '>= 0.3.3'
32
32
  s.add_dependency 'reflexion', '~> 0.3.3', '>= 0.3.3'
33
- s.add_dependency 'processing', '~> 1.1', '>= 1.1.3'
33
+ s.add_dependency 'processing', '~> 1.1', '>= 1.1.5'
34
34
 
35
35
  s.files = `git ls-files`.split $/
36
36
  s.test_files = s.files.grep %r{^(test|spec|features)/}
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubysketch
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.7.4
4
+ version: 0.7.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2025-01-22 00:00:00.000000000 Z
11
+ date: 2025-01-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -119,7 +119,7 @@ dependencies:
119
119
  version: '1.1'
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: 1.1.3
122
+ version: 1.1.5
123
123
  type: :runtime
124
124
  prerelease: false
125
125
  version_requirements: !ruby/object:Gem::Requirement
@@ -129,7 +129,7 @@ dependencies:
129
129
  version: '1.1'
130
130
  - - ">="
131
131
  - !ruby/object:Gem::Version
132
- version: 1.1.3
132
+ version: 1.1.5
133
133
  description: A game engine based on the Processing API.
134
134
  email: xordog@gmail.com
135
135
  executables: []