reflexion 0.1.30 → 0.1.31

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c45eff1a76fb5a4e74a9f97f5f6f2223b02fb6b0181d44d9ba5a1e7cf5c78cad
4
- data.tar.gz: 22ca55caa3cdc2decbe65f56d5bc45b62795137adbabd1c809a1d97d2a8108c9
3
+ metadata.gz: ff2b8c49f743f09bfcfa70872c0b5f465a6a6118f88c711a92393052ba316617
4
+ data.tar.gz: 937d60a280a70a90ea1f76410d8e9656a49ded130a68a02ac5c87cac5884306a
5
5
  SHA512:
6
- metadata.gz: 15b85c7d42faee0bbaa16fc7f95d4c4b9e99f7e771d811cae7d8ab29cf3feed7317273adc5011726053b4d3d44d4a525530c8fd87528d3bf02b3e2fc221d027d
7
- data.tar.gz: 131509d6bf21b835f37d1ba41dfbd7c3fbccf013fdaf4f9a0b026ffc0b2d3214a211361466f339ceecd7c66f1d156d8ee1bc90e6ff19ec5ae022b7ecea49630c
6
+ metadata.gz: f7a87c3bf32f3f03b8a09e5c4ca343e129b43ecbb975d6e4f3a524254fb70fbbf9eb0a1c8b3b4bc36845d45fcb2039b0b7cb900ebdcf5957ca890378b8c46645
7
+ data.tar.gz: 0302fb2a284e7eb5860d8620defbf49e729f5cdbf9622862703f0302601931fbc3c1b10abede569f99bb82b58102328c73af39a806d8f9ff90a745605b1a0201
@@ -0,0 +1,34 @@
1
+ name: Release
2
+
3
+ on:
4
+ push:
5
+ tags: ['v[0-9]*']
6
+
7
+ jobs:
8
+ release:
9
+ runs-on: macos-latest
10
+
11
+ steps:
12
+ - name: ruby 3.2
13
+ uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: 3.2
16
+
17
+ - name: checkout
18
+ uses: actions/checkout@v2
19
+
20
+ - name: setup dependencies
21
+ run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
22
+
23
+ - name: test
24
+ run: rake test
25
+
26
+ - name: upload to rubygems
27
+ env:
28
+ GEM_HOST_API_KEY: ${{ secrets.RUBYGEMS_AUTH_TOKEN }}
29
+ run: |
30
+ mkdir -p $HOME/.gem
31
+ touch $HOME/.gem/credentials
32
+ chmod 0600 $HOME/.gem/credentials
33
+ printf -- "---\n:rubygems_api_key: ${GEM_HOST_API_KEY}\n" > $HOME/.gem/credentials
34
+ rake upload
@@ -0,0 +1,35 @@
1
+ name: Tag
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+
7
+ jobs:
8
+ tag:
9
+ runs-on: ubuntu-latest
10
+
11
+ steps:
12
+ - name: ruby 3.2
13
+ uses: ruby/setup-ruby@v1
14
+ with:
15
+ ruby-version: 3.2
16
+
17
+ - name: checkout
18
+ uses: actions/checkout@v2
19
+ with:
20
+ fetch-depth: 0
21
+ token: ${{ secrets.PAT }}
22
+
23
+ - name: setup dependencies
24
+ run: "ruby -I.github/workflows -rutils -e 'setup_dependencies only: :xot'"
25
+
26
+ - name: setup user name and email
27
+ run: |
28
+ git config --global user.email "xordog@gmail.com"
29
+ git config --global user.name "xord"
30
+
31
+ - name: tag versions
32
+ run: "ruby -I.github/workflows -rutils -e 'tag_versions'"
33
+
34
+ - name: push tags
35
+ run: git push origin --tags
@@ -0,0 +1,32 @@
1
+ name: Test
2
+
3
+ on:
4
+ push:
5
+ branches: [master]
6
+ pull_request:
7
+ branches: [master]
8
+
9
+ jobs:
10
+ test:
11
+ runs-on: macos-latest
12
+
13
+ steps:
14
+ - name: ruby 3.2
15
+ uses: ruby/setup-ruby@v1
16
+ with:
17
+ ruby-version: 3.2
18
+
19
+ - name: checkout
20
+ uses: actions/checkout@v2
21
+
22
+ - name: setup dependencies
23
+ run: "ruby -I.github/workflows -rutils -e 'setup_dependencies'"
24
+
25
+ - name: lib
26
+ run: rake lib
27
+
28
+ - name: ext
29
+ run: rake ext
30
+
31
+ - name: test
32
+ run: rake test
@@ -0,0 +1,47 @@
1
+ def sh(cmd)
2
+ puts cmd
3
+ system cmd
4
+ end
5
+
6
+ def setup_dependencies(build: true, only: nil)
7
+ gemspec_path = `git ls-files`.lines(chomp: true).find {|l| l =~ /\.gemspec$/}
8
+ gemspec = File.read gemspec_path
9
+ name = File.basename gemspec_path, '.gemspec'
10
+
11
+ exts = File.readlines('Rakefile')
12
+ .map {|l| l[%r|^\s*require\W+(\w+)/extension\W+$|, 1]}
13
+ .compact
14
+ .reject {|ext| ext == name}
15
+ exts = exts & [only].flatten.map(&:to_s) if only
16
+
17
+ exts.each do |ext|
18
+ ver = gemspec[/add_runtime_dependency.*'#{ext}'.*'\s*~>\s*([\d\.]+)\s*'/, 1]
19
+ url = "https://github.com/xord/#{ext}.git"
20
+ sh %( git clone --depth 1 --branch v#{ver} #{url} ../#{ext} )
21
+ sh %( cd ../#{ext} && rake ext )
22
+ end
23
+ end
24
+
25
+ def tag_versions()
26
+ tags = `git tag`.lines chomp: true
27
+ vers = `git log --oneline ./VERSION`
28
+ .lines(chomp: true)
29
+ .map {|line| line.split.first[/^\w+$/]}
30
+ .map {|hash| [`git cat-file -p #{hash}:./VERSION 2>/dev/null`[/[\d\.]+/], hash]}
31
+ .select {|ver, hash| ver && hash}
32
+ .reverse
33
+ .to_h
34
+
35
+ changes = File.read('ChangeLog.md')
36
+ .split(/^\s*##\s*\[\s*v([\d\.]+)\s*\].*$/)
37
+ .slice(1..-1)
38
+ .each_slice(2)
39
+ .to_h
40
+ .transform_values(&:strip!)
41
+
42
+ vers.to_a.reverse.each do |ver, hash|
43
+ tag = "v#{ver}"
44
+ break if tags.include?(tag)
45
+ sh %( git tag -a -m \"#{changes[ver]&.gsub '"', '\\"'}\" #{tag} #{hash} )
46
+ end
47
+ end
data/ChangeLog.md ADDED
@@ -0,0 +1,14 @@
1
+ # reflex ChangeLog
2
+
3
+
4
+ ## [v0.1.31] - 2023-02-27
5
+
6
+ - add ChangeLog.md file
7
+ - add test.yml, tag.yaml, and release.yml
8
+ - requires ruby 2.7.0 or later
9
+
10
+
11
+ ## [v0.1.30] - 2023-02-09
12
+
13
+ - fix conflicting reflex's Init_exception() and others Init_exception()
14
+ - refactoring
data/Rakefile CHANGED
@@ -7,13 +7,13 @@
7
7
 
8
8
  require 'rucy/rake'
9
9
 
10
- require 'xot/module'
11
- require 'rucy/module'
12
- require 'rays/module'
13
- require 'reflex/module'
10
+ require 'xot/extension'
11
+ require 'rucy/extension'
12
+ require 'rays/extension'
13
+ require 'reflex/extension'
14
14
 
15
15
 
16
- MODULES = [Xot, Rucy, Rays, Reflex]
16
+ EXTENSIONS = [Xot, Rucy, Rays, Reflex]
17
17
  GEMNAME = 'reflexion'
18
18
  TESTS_ALONE = ['test/test_reflex.rb']
19
19
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.1.30
1
+ 0.1.31
@@ -7,10 +7,10 @@
7
7
 
8
8
  require 'mkmf'
9
9
  require 'xot/extconf'
10
- require 'xot/module'
11
- require 'rucy/module'
12
- require 'rays/module'
13
- require 'reflex/module'
10
+ require 'xot/extension'
11
+ require 'rucy/extension'
12
+ require 'rays/extension'
13
+ require 'reflex/extension'
14
14
 
15
15
 
16
16
  Xot::ExtConf.new Xot, Rucy, Rays, Reflex do
@@ -22,7 +22,7 @@ Xot::ExtConf.new Xot, Rucy, Rays, Reflex do
22
22
  $LDFLAGS << ' -Wl,--out-implib=native.dll.a' if cygwin?
23
23
 
24
24
  unless osx?
25
- lib_dirs << Rays::Module.lib_dir
25
+ lib_dirs << Rays::Extension.lib_dir
26
26
  libs << 'rays/native'
27
27
  end
28
28
  end
@@ -4,7 +4,7 @@
4
4
  module Reflex
5
5
 
6
6
 
7
- module Module
7
+ module Extension
8
8
 
9
9
  module_function
10
10
 
@@ -13,7 +13,7 @@ module Reflex
13
13
  end
14
14
 
15
15
  def version()
16
- open(root_dir 'VERSION') {|f| f.readline.chomp}
16
+ File.read(root_dir 'VERSION')[/[\d\.]+/]
17
17
  end
18
18
 
19
19
  def root_dir(path = '')
@@ -28,7 +28,7 @@ module Reflex
28
28
  root_dir 'lib'
29
29
  end
30
30
 
31
- end# Module
31
+ end# Extension
32
32
 
33
33
 
34
34
  end# Reflex
data/lib/reflex/view.rb CHANGED
@@ -155,7 +155,7 @@ module Reflex
155
155
  alias velocity= linear_velocity=
156
156
  alias velocity linear_velocity
157
157
 
158
- alias meter meter2pixel
158
+ alias meter meter2pixel
159
159
 
160
160
  def self.has_model()
161
161
  include ModelView
data/lib/reflex.rb CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
  require 'reflex/autoinit'
5
- require 'reflex/module'
5
+ require 'reflex/extension'
6
6
 
7
7
  require 'reflex/point'
8
8
  require 'reflex/bounds'
data/reflex.gemspec CHANGED
@@ -4,7 +4,7 @@
4
4
  File.expand_path('lib', __dir__)
5
5
  .tap {|s| $:.unshift s if !$:.include?(s) && File.directory?(s)}
6
6
 
7
- require 'reflex/module'
7
+ require 'reflex/extension'
8
8
 
9
9
 
10
10
  Gem::Specification.new do |s|
@@ -12,26 +12,29 @@ Gem::Specification.new do |s|
12
12
  patterns.map {|pat| Dir.glob(pat).to_a}.flatten
13
13
  end
14
14
 
15
- mod = Reflex::Module
16
- name = mod.name.downcase
15
+ ext = Reflex::Extension
16
+ name = ext.name.downcase
17
17
  rdocs = glob.call *%w[README .doc/ext/**/*.cpp]
18
18
 
19
19
  s.name = "#{name}ion"
20
20
  s.summary = 'A Graphical User Interface Tool Kit.'
21
21
  s.description = 'This library helps you to develop interactive graphical user interface.'
22
- s.version = mod.version
22
+ s.version = ext.version
23
23
 
24
24
  s.authors = %w[xordog]
25
25
  s.email = 'xordog@gmail.com'
26
26
  s.homepage = "https://github.com/xord/reflex"
27
27
 
28
28
  s.platform = Gem::Platform::RUBY
29
- s.required_ruby_version = '>= 2.6.0'
29
+ s.required_ruby_version = '>= 2.7.0'
30
30
 
31
- s.add_runtime_dependency 'xot', '~> 0.1.30'
32
- s.add_runtime_dependency 'rucy', '~> 0.1.30'
33
- s.add_runtime_dependency 'beeps', '~> 0.1.30'
34
- s.add_runtime_dependency 'rays', '~> 0.1.30'
31
+ s.add_runtime_dependency 'xot', '~> 0.1.31'
32
+ s.add_runtime_dependency 'rucy', '~> 0.1.31'
33
+ s.add_runtime_dependency 'beeps', '~> 0.1.31'
34
+ s.add_runtime_dependency 'rays', '~> 0.1.31'
35
+
36
+ s.add_development_dependency 'rake'
37
+ s.add_development_dependency 'test-unit'
35
38
 
36
39
  s.files = `git ls-files`.split $/
37
40
  s.executables = s.files.grep(%r{^bin/}) {|f| File.basename f}
data/src/view.cpp CHANGED
@@ -1086,6 +1086,8 @@ namespace Reflex
1086
1086
 
1087
1087
  p->pop_state();
1088
1088
 
1089
+ if (event->is_blocked()) return;
1090
+
1089
1091
  View::ChildList* pchildren = view->self->pchildren.get();
1090
1092
  if (pchildren)
1091
1093
  {
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: reflexion
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.30
4
+ version: 0.1.31
5
5
  platform: ruby
6
6
  authors:
7
7
  - xordog
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2023-02-08 00:00:00.000000000 Z
11
+ date: 2023-02-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: xot
@@ -16,56 +16,84 @@ dependencies:
16
16
  requirements:
17
17
  - - "~>"
18
18
  - !ruby/object:Gem::Version
19
- version: 0.1.30
19
+ version: 0.1.31
20
20
  type: :runtime
21
21
  prerelease: false
22
22
  version_requirements: !ruby/object:Gem::Requirement
23
23
  requirements:
24
24
  - - "~>"
25
25
  - !ruby/object:Gem::Version
26
- version: 0.1.30
26
+ version: 0.1.31
27
27
  - !ruby/object:Gem::Dependency
28
28
  name: rucy
29
29
  requirement: !ruby/object:Gem::Requirement
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 0.1.30
33
+ version: 0.1.31
34
34
  type: :runtime
35
35
  prerelease: false
36
36
  version_requirements: !ruby/object:Gem::Requirement
37
37
  requirements:
38
38
  - - "~>"
39
39
  - !ruby/object:Gem::Version
40
- version: 0.1.30
40
+ version: 0.1.31
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: beeps
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 0.1.30
47
+ version: 0.1.31
48
48
  type: :runtime
49
49
  prerelease: false
50
50
  version_requirements: !ruby/object:Gem::Requirement
51
51
  requirements:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
- version: 0.1.30
54
+ version: 0.1.31
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: rays
57
57
  requirement: !ruby/object:Gem::Requirement
58
58
  requirements:
59
59
  - - "~>"
60
60
  - !ruby/object:Gem::Version
61
- version: 0.1.30
61
+ version: 0.1.31
62
62
  type: :runtime
63
63
  prerelease: false
64
64
  version_requirements: !ruby/object:Gem::Requirement
65
65
  requirements:
66
66
  - - "~>"
67
67
  - !ruby/object:Gem::Version
68
- version: 0.1.30
68
+ version: 0.1.31
69
+ - !ruby/object:Gem::Dependency
70
+ name: rake
71
+ requirement: !ruby/object:Gem::Requirement
72
+ requirements:
73
+ - - ">="
74
+ - !ruby/object:Gem::Version
75
+ version: '0'
76
+ type: :development
77
+ prerelease: false
78
+ version_requirements: !ruby/object:Gem::Requirement
79
+ requirements:
80
+ - - ">="
81
+ - !ruby/object:Gem::Version
82
+ version: '0'
83
+ - !ruby/object:Gem::Dependency
84
+ name: test-unit
85
+ requirement: !ruby/object:Gem::Requirement
86
+ requirements:
87
+ - - ">="
88
+ - !ruby/object:Gem::Version
89
+ version: '0'
90
+ type: :development
91
+ prerelease: false
92
+ version_requirements: !ruby/object:Gem::Requirement
93
+ requirements:
94
+ - - ">="
95
+ - !ruby/object:Gem::Version
96
+ version: '0'
69
97
  description: This library helps you to develop interactive graphical user interface.
70
98
  email: xordog@gmail.com
71
99
  executables: []
@@ -135,6 +163,11 @@ files:
135
163
  - ".doc/ext/reflex/view.cpp"
136
164
  - ".doc/ext/reflex/wheel_event.cpp"
137
165
  - ".doc/ext/reflex/window.cpp"
166
+ - ".github/workflows/release.yml"
167
+ - ".github/workflows/tag.yml"
168
+ - ".github/workflows/test.yml"
169
+ - ".github/workflows/utils.rb"
170
+ - ChangeLog.md
138
171
  - LICENSE
139
172
  - README.md
140
173
  - Rakefile
@@ -218,6 +251,7 @@ files:
218
251
  - lib/reflex/draw_event.rb
219
252
  - lib/reflex/ellipse_shape.rb
220
253
  - lib/reflex/ext.rb
254
+ - lib/reflex/extension.rb
221
255
  - lib/reflex/filter.rb
222
256
  - lib/reflex/fixture.rb
223
257
  - lib/reflex/focus_event.rb
@@ -233,7 +267,6 @@ files:
233
267
  - lib/reflex/model.rb
234
268
  - lib/reflex/model_owner.rb
235
269
  - lib/reflex/model_view.rb
236
- - lib/reflex/module.rb
237
270
  - lib/reflex/painter.rb
238
271
  - lib/reflex/point.rb
239
272
  - lib/reflex/pointer.rb
@@ -393,14 +426,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
393
426
  requirements:
394
427
  - - ">="
395
428
  - !ruby/object:Gem::Version
396
- version: 2.6.0
429
+ version: 2.7.0
397
430
  required_rubygems_version: !ruby/object:Gem::Requirement
398
431
  requirements:
399
432
  - - ">="
400
433
  - !ruby/object:Gem::Version
401
434
  version: '0'
402
435
  requirements: []
403
- rubygems_version: 3.4.1
436
+ rubygems_version: 3.4.6
404
437
  signing_key:
405
438
  specification_version: 4
406
439
  summary: A Graphical User Interface Tool Kit.