glimmer-dsl-libui 0.8.0 → 0.9.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/CHANGELOG.md +11 -1
- data/README.md +359 -126
- data/RUBY_VERSION +1 -0
- data/VERSION +1 -1
- data/bin/girb +1 -1
- data/bin/glimmer +30 -0
- data/glimmer-dsl-libui.gemspec +0 -0
- data/icons/scaffold_app.icns +0 -0
- data/icons/scaffold_app.ico +0 -0
- data/icons/scaffold_app.png +0 -0
- data/lib/glimmer/Rakefile +26 -0
- data/lib/glimmer/launcher.rb +231 -0
- data/lib/glimmer/rake_task/list.rb +105 -0
- data/lib/glimmer/rake_task/scaffold.rb +799 -0
- data/lib/glimmer/rake_task.rb +189 -0
- metadata +105 -40
@@ -0,0 +1,189 @@
|
|
1
|
+
# Copyright (c) 2021-2023 Andy Maleh
|
2
|
+
#
|
3
|
+
# Permission is hereby granted, free of charge, to any person obtaining
|
4
|
+
# a copy of this software and associated documentation files (the
|
5
|
+
# "Software"), to deal in the Software without restriction, including
|
6
|
+
# without limitation the rights to use, copy, modify, merge, publish,
|
7
|
+
# distribute, sublicense, and/or sell copies of the Software, and to
|
8
|
+
# permit persons to whom the Software is furnished to do so, subject to
|
9
|
+
# the following conditions:
|
10
|
+
#
|
11
|
+
# The above copyright notice and this permission notice shall be
|
12
|
+
# included in all copies or substantial portions of the Software.
|
13
|
+
#
|
14
|
+
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
15
|
+
# EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
16
|
+
# MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
17
|
+
# NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
18
|
+
# LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
19
|
+
# OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
20
|
+
# WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
21
|
+
|
22
|
+
module Glimmer
|
23
|
+
module RakeTask
|
24
|
+
RVM_FUNCTION = <<~MULTI_LINE_STRING
|
25
|
+
# Load RVM into a shell session *as a function*
|
26
|
+
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
|
27
|
+
|
28
|
+
# First try to load from a user install
|
29
|
+
source "$HOME/.rvm/scripts/rvm"
|
30
|
+
|
31
|
+
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
|
32
|
+
|
33
|
+
# Then try to load from a root install
|
34
|
+
source "/usr/local/rvm/scripts/rvm"
|
35
|
+
|
36
|
+
fi
|
37
|
+
MULTI_LINE_STRING
|
38
|
+
end
|
39
|
+
end
|
40
|
+
|
41
|
+
require 'rake'
|
42
|
+
|
43
|
+
ENV['GLIMMER_LOGGER_ENABLED'] = 'false'
|
44
|
+
require 'puts_debuggerer' if ("#{ENV['pd']}#{ENV['PD']}").to_s.downcase.include?('true')
|
45
|
+
|
46
|
+
namespace :glimmer do
|
47
|
+
desc 'Runs Glimmer app or custom window gem in the current directory, unless app_path is specified, then runs it instead (app_path is optional)'
|
48
|
+
task :run, [:app_path] do |t, args|
|
49
|
+
require_relative 'launcher'
|
50
|
+
if args[:app_path].nil?
|
51
|
+
require 'fileutils'
|
52
|
+
current_directory_name = File.basename(FileUtils.pwd)
|
53
|
+
assumed_shell_script = File.join('.', 'bin', current_directory_name)
|
54
|
+
assumed_shell_script = Dir.glob('./bin/*').detect {|f| File.file?(f)} if !File.exist?(assumed_shell_script)
|
55
|
+
Glimmer::Launcher.new([assumed_shell_script]).launch
|
56
|
+
else
|
57
|
+
Glimmer::Launcher.new([args[:app_path]]).launch
|
58
|
+
end
|
59
|
+
end
|
60
|
+
|
61
|
+
desc 'Brings up the Glimmer Meta-Sample app to allow browsing, running, and viewing code of Glimmer samples'
|
62
|
+
task :examples do
|
63
|
+
Glimmer::Launcher.new([File.expand_path('../../../examples/meta_example.rb', __FILE__)]).launch
|
64
|
+
end
|
65
|
+
task :samples do
|
66
|
+
Glimmer::Launcher.new([File.expand_path('../../../examples/meta_example.rb', __FILE__)]).launch
|
67
|
+
end
|
68
|
+
|
69
|
+
desc 'Scaffold Glimmer application directory structure to build a new app'
|
70
|
+
task :scaffold, [:app_name] do |t, args|
|
71
|
+
require_relative 'rake_task/scaffold'
|
72
|
+
Glimmer::RakeTask::Scaffold.app(args[:app_name])
|
73
|
+
end
|
74
|
+
|
75
|
+
# namespace :scaffold do
|
76
|
+
# desc 'Scaffold Glimmer::UI::CustomWindow subclass (full window view) under app/views (namespace is optional) [alt: scaffold:cw]'
|
77
|
+
# task :customwindow, [:name, :namespace] do |t, args|
|
78
|
+
# require_relative 'rake_task/scaffold'
|
79
|
+
# Glimmer::RakeTask::Scaffold.custom_window(args[:name], args[:namespace])
|
80
|
+
# end
|
81
|
+
#
|
82
|
+
# task :cw, [:name, :namespace] => :customwindow
|
83
|
+
# task :custom_window, [:name, :namespace] => :customwindow
|
84
|
+
# task :"custom-window", [:name, :namespace] => :customwindow
|
85
|
+
#
|
86
|
+
# desc 'Scaffold Glimmer::UI::CustomControl subclass (part of a view) under app/views (namespace is optional) [alt: scaffold:cc]'
|
87
|
+
# task :customcontrol, [:name, :namespace] do |t, args|
|
88
|
+
# require_relative 'rake_task/scaffold'
|
89
|
+
# Glimmer::RakeTask::Scaffold.custom_control(args[:name], args[:namespace])
|
90
|
+
# end
|
91
|
+
#
|
92
|
+
# task :cc, [:name, :namespace] => :customcontrol
|
93
|
+
# task :custom_control, [:name, :namespace] => :customcontrol
|
94
|
+
# task :"custom-control", [:name, :namespace] => :customcontrol
|
95
|
+
#
|
96
|
+
# desc 'Scaffold Glimmer::UI::CustomShape subclass (part of a view) under app/views (namespace is optional) [alt: scaffold:cs]'
|
97
|
+
# task :customshape, [:name, :namespace] do |t, args|
|
98
|
+
# require_relative 'rake_task/scaffold'
|
99
|
+
# Glimmer::RakeTask::Scaffold.custom_shape(args[:name], args[:namespace])
|
100
|
+
# end
|
101
|
+
#
|
102
|
+
# task :cs, [:name, :namespace] => :customshape
|
103
|
+
# task :custom_shape, [:name, :namespace] => :customshape
|
104
|
+
# task :"custom-shape", [:name, :namespace] => :customshape
|
105
|
+
#
|
106
|
+
# namespace :gem do
|
107
|
+
# desc 'Scaffold Glimmer::UI::CustomWindow subclass (full window view) under its own Ruby gem + app project (namespace is required) [alt: scaffold:gem:cw]'
|
108
|
+
# task :customwindow, [:name, :namespace] do |t, args|
|
109
|
+
# require_relative 'rake_task/scaffold'
|
110
|
+
# Glimmer::RakeTask::Scaffold.custom_window_gem(args[:name], args[:namespace])
|
111
|
+
# end
|
112
|
+
#
|
113
|
+
# task :cw, [:name, :namespace] => :customwindow
|
114
|
+
# task :custom_window, [:name, :namespace] => :customwindow
|
115
|
+
# task :"custom-window", [:name, :namespace] => :customwindow
|
116
|
+
#
|
117
|
+
# desc 'Scaffold Glimmer::UI::CustomControl subclass (part of a view) under its own Ruby gem project (namespace is required) [alt: scaffold:gem:cc]'
|
118
|
+
# task :customcontrol, [:name, :namespace] do |t, args|
|
119
|
+
# require_relative 'rake_task/scaffold'
|
120
|
+
# Glimmer::RakeTask::Scaffold.custom_control_gem(args[:name], args[:namespace])
|
121
|
+
# end
|
122
|
+
#
|
123
|
+
# task :cc, [:name, :namespace] => :customcontrol
|
124
|
+
# task :custom_control, [:name, :namespace] => :customcontrol
|
125
|
+
# task :"custom-control", [:name, :namespace] => :customcontrol
|
126
|
+
#
|
127
|
+
# desc 'Scaffold Glimmer::UI::CustomShape subclass (part of a view) under its own Ruby gem project (namespace is required) [alt: scaffold:gem:cs]'
|
128
|
+
# task :customshape, [:name, :namespace] do |t, args|
|
129
|
+
# require_relative 'rake_task/scaffold'
|
130
|
+
# Glimmer::RakeTask::Scaffold.custom_shape_gem(args[:name], args[:namespace])
|
131
|
+
# end
|
132
|
+
#
|
133
|
+
# task :cs, [:name, :namespace] => :customshape
|
134
|
+
# task :custom_shape, [:name, :namespace] => :customshape
|
135
|
+
# task :"custom-shape", [:name, :namespace] => :customshape
|
136
|
+
# end
|
137
|
+
#
|
138
|
+
# task :custom_window_gem, [:name, :namespace] => 'gem:customwindow'
|
139
|
+
# task :custom_control_gem, [:name, :namespace] => 'gem:customcontrol'
|
140
|
+
# task :custom_shape_gem, [:name, :namespace] => 'gem:customshape'
|
141
|
+
# end
|
142
|
+
|
143
|
+
namespace :list do
|
144
|
+
task :list_require do
|
145
|
+
require_relative 'rake_task/list'
|
146
|
+
end
|
147
|
+
|
148
|
+
namespace :gems do
|
149
|
+
desc 'List Glimmer custom control gems available at rubygems.org (query is optional) [alt: list:gems:cc]'
|
150
|
+
task :customcontrol, [:query] => :list_require do |t, args|
|
151
|
+
Glimmer::RakeTask::List.custom_control_gems(args[:query])
|
152
|
+
end
|
153
|
+
|
154
|
+
task :cc, [:query] => :customcontrol
|
155
|
+
task :custom_control, [:query] => :customcontrol
|
156
|
+
task :"custom-control", [:query] => :customcontrol
|
157
|
+
|
158
|
+
desc 'List Glimmer custom window gems available at rubygems.org (query is optional) [alt: list:gems:cw]'
|
159
|
+
task :customwindow, [:query] => :list_require do |t, args|
|
160
|
+
Glimmer::RakeTask::List.custom_window_gems(args[:query])
|
161
|
+
end
|
162
|
+
|
163
|
+
task :cw, [:query] => :customwindow
|
164
|
+
task :custom_window, [:query] => :customwindow
|
165
|
+
task :"custom-window", [:query] => :customwindow
|
166
|
+
|
167
|
+
desc 'List Glimmer custom shape gems available at rubygems.org (query is optional) [alt: list:gems:cs]'
|
168
|
+
task :customshape, [:query] => :list_require do |t, args|
|
169
|
+
Glimmer::RakeTask::List.custom_shape_gems(args[:query])
|
170
|
+
end
|
171
|
+
|
172
|
+
task :cs, [:query] => :customshape
|
173
|
+
task :custom_shape, [:query] => :customshape
|
174
|
+
task :"custom-shape", [:query] => :customshape
|
175
|
+
|
176
|
+
desc 'List Glimmer DSL gems available at rubygems.org (query is optional)'
|
177
|
+
task :dsl, [:query] => :list_require do |t, args|
|
178
|
+
Glimmer::RakeTask::List.dsl_gems(args[:query])
|
179
|
+
end
|
180
|
+
|
181
|
+
end
|
182
|
+
|
183
|
+
# legacy support
|
184
|
+
|
185
|
+
task :custom_window_gems, [:name, :namespace] => 'gems:customwindow'
|
186
|
+
task :custom_control_gems, [:name, :namespace] => 'gems:customcontrol'
|
187
|
+
|
188
|
+
end
|
189
|
+
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer-dsl-libui
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.9.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Andy Maleh
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
11
|
+
date: 2023-10-20 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: glimmer
|
@@ -52,6 +52,46 @@ dependencies:
|
|
52
52
|
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: 1.4.1
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: puts_debuggerer
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - ">="
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: 0.13.5
|
62
|
+
- - "<"
|
63
|
+
- !ruby/object:Gem::Version
|
64
|
+
version: 2.0.0
|
65
|
+
type: :runtime
|
66
|
+
prerelease: false
|
67
|
+
version_requirements: !ruby/object:Gem::Requirement
|
68
|
+
requirements:
|
69
|
+
- - ">="
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: 0.13.5
|
72
|
+
- - "<"
|
73
|
+
- !ruby/object:Gem::Version
|
74
|
+
version: 2.0.0
|
75
|
+
- !ruby/object:Gem::Dependency
|
76
|
+
name: rake-tui
|
77
|
+
requirement: !ruby/object:Gem::Requirement
|
78
|
+
requirements:
|
79
|
+
- - ">="
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: 0.2.3
|
82
|
+
- - "<"
|
83
|
+
- !ruby/object:Gem::Version
|
84
|
+
version: 2.0.0
|
85
|
+
type: :runtime
|
86
|
+
prerelease: false
|
87
|
+
version_requirements: !ruby/object:Gem::Requirement
|
88
|
+
requirements:
|
89
|
+
- - ">="
|
90
|
+
- !ruby/object:Gem::Version
|
91
|
+
version: 0.2.3
|
92
|
+
- - "<"
|
93
|
+
- !ruby/object:Gem::Version
|
94
|
+
version: 2.0.0
|
55
95
|
- !ruby/object:Gem::Dependency
|
56
96
|
name: os
|
57
97
|
requirement: !ruby/object:Gem::Requirement
|
@@ -86,6 +126,26 @@ dependencies:
|
|
86
126
|
- - "~>"
|
87
127
|
- !ruby/object:Gem::Version
|
88
128
|
version: '1.8'
|
129
|
+
- !ruby/object:Gem::Dependency
|
130
|
+
name: rake
|
131
|
+
requirement: !ruby/object:Gem::Requirement
|
132
|
+
requirements:
|
133
|
+
- - ">="
|
134
|
+
- !ruby/object:Gem::Version
|
135
|
+
version: 10.1.0
|
136
|
+
- - "<"
|
137
|
+
- !ruby/object:Gem::Version
|
138
|
+
version: 14.0.0
|
139
|
+
type: :runtime
|
140
|
+
prerelease: false
|
141
|
+
version_requirements: !ruby/object:Gem::Requirement
|
142
|
+
requirements:
|
143
|
+
- - ">="
|
144
|
+
- !ruby/object:Gem::Version
|
145
|
+
version: 10.1.0
|
146
|
+
- - "<"
|
147
|
+
- !ruby/object:Gem::Version
|
148
|
+
version: 14.0.0
|
89
149
|
- !ruby/object:Gem::Dependency
|
90
150
|
name: libui
|
91
151
|
requirement: !ruby/object:Gem::Requirement
|
@@ -148,6 +208,26 @@ dependencies:
|
|
148
208
|
- - "<"
|
149
209
|
- !ruby/object:Gem::Version
|
150
210
|
version: 4.0.0
|
211
|
+
- !ruby/object:Gem::Dependency
|
212
|
+
name: text-table
|
213
|
+
requirement: !ruby/object:Gem::Requirement
|
214
|
+
requirements:
|
215
|
+
- - ">="
|
216
|
+
- !ruby/object:Gem::Version
|
217
|
+
version: 1.2.4
|
218
|
+
- - "<"
|
219
|
+
- !ruby/object:Gem::Version
|
220
|
+
version: 2.0.0
|
221
|
+
type: :runtime
|
222
|
+
prerelease: false
|
223
|
+
version_requirements: !ruby/object:Gem::Requirement
|
224
|
+
requirements:
|
225
|
+
- - ">="
|
226
|
+
- !ruby/object:Gem::Version
|
227
|
+
version: 1.2.4
|
228
|
+
- - "<"
|
229
|
+
- !ruby/object:Gem::Version
|
230
|
+
version: 2.0.0
|
151
231
|
- !ruby/object:Gem::Dependency
|
152
232
|
name: juwelier
|
153
233
|
requirement: !ruby/object:Gem::Requirement
|
@@ -224,34 +304,6 @@ dependencies:
|
|
224
304
|
- - "~>"
|
225
305
|
- !ruby/object:Gem::Version
|
226
306
|
version: '3.0'
|
227
|
-
- !ruby/object:Gem::Dependency
|
228
|
-
name: rake-tui
|
229
|
-
requirement: !ruby/object:Gem::Requirement
|
230
|
-
requirements:
|
231
|
-
- - ">="
|
232
|
-
- !ruby/object:Gem::Version
|
233
|
-
version: 0.2.1
|
234
|
-
type: :development
|
235
|
-
prerelease: false
|
236
|
-
version_requirements: !ruby/object:Gem::Requirement
|
237
|
-
requirements:
|
238
|
-
- - ">="
|
239
|
-
- !ruby/object:Gem::Version
|
240
|
-
version: 0.2.1
|
241
|
-
- !ruby/object:Gem::Dependency
|
242
|
-
name: puts_debuggerer
|
243
|
-
requirement: !ruby/object:Gem::Requirement
|
244
|
-
requirements:
|
245
|
-
- - "~>"
|
246
|
-
- !ruby/object:Gem::Version
|
247
|
-
version: 0.13.1
|
248
|
-
type: :development
|
249
|
-
prerelease: false
|
250
|
-
version_requirements: !ruby/object:Gem::Requirement
|
251
|
-
requirements:
|
252
|
-
- - "~>"
|
253
|
-
- !ruby/object:Gem::Version
|
254
|
-
version: 0.13.1
|
255
307
|
- !ruby/object:Gem::Dependency
|
256
308
|
name: coveralls
|
257
309
|
requirement: !ruby/object:Gem::Requirement
|
@@ -294,16 +346,18 @@ dependencies:
|
|
294
346
|
- - "~>"
|
295
347
|
- !ruby/object:Gem::Version
|
296
348
|
version: 0.7.0
|
297
|
-
description: Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop
|
298
|
-
Library) - Winner of Fukuoka Ruby Award Competition
|
299
|
-
|
300
|
-
|
301
|
-
|
302
|
-
|
303
|
-
|
304
|
-
|
349
|
+
description: Glimmer DSL for LibUI (Fukuoka Award Winning Prerequisite-Free Ruby Desktop
|
350
|
+
Development Cross-Platform Native GUI Library) - Winner of Fukuoka Ruby Award Competition
|
351
|
+
2022 Special Award (http://www.digitalfukuoka.jp/topics/187?locale=ja) - No need
|
352
|
+
to pre-install any prerequisites. Just install the gem and have cross-platform native
|
353
|
+
GUI that just works on Mac, Windows, and Linux! Glimmer DSL for LibUI aims to provide
|
354
|
+
declarative DSL syntax that visually maps to GUI control hierarchy, convention over
|
355
|
+
configuration via smart defaults, automation of low-level details, requiring the
|
356
|
+
least amount of syntax possible to build GUI, bidirectional data-binding, and custom
|
357
|
+
keyword support. If you liked Shoes, You'll love Glimmer!
|
305
358
|
email: andy.am@gmail.com
|
306
359
|
executables:
|
360
|
+
- glimmer
|
307
361
|
- girb
|
308
362
|
extensions: []
|
309
363
|
extra_rdoc_files:
|
@@ -314,9 +368,11 @@ files:
|
|
314
368
|
- CHANGELOG.md
|
315
369
|
- LICENSE.txt
|
316
370
|
- README.md
|
371
|
+
- RUBY_VERSION
|
317
372
|
- VERSION
|
318
373
|
- bin/girb
|
319
374
|
- bin/girb_runner.rb
|
375
|
+
- bin/glimmer
|
320
376
|
- docs/examples/GLIMMER-DSL-LIBUI-ADVANCED-EXAMPLES.md
|
321
377
|
- docs/examples/GLIMMER-DSL-LIBUI-BASIC-EXAMPLES.md
|
322
378
|
- examples/area_based_custom_controls.rb
|
@@ -434,9 +490,13 @@ files:
|
|
434
490
|
- glimmer-dsl-libui.gemspec
|
435
491
|
- icons/blank.png
|
436
492
|
- icons/glimmer.png
|
493
|
+
- icons/scaffold_app.icns
|
494
|
+
- icons/scaffold_app.ico
|
495
|
+
- icons/scaffold_app.png
|
437
496
|
- lib/glimmer-dsl-libui.rb
|
438
497
|
- lib/glimmer-dsl-libui/ext/glimmer.rb
|
439
498
|
- lib/glimmer-dsl-libui/ext/rouge/theme/glimmer.rb
|
499
|
+
- lib/glimmer/Rakefile
|
440
500
|
- lib/glimmer/dsl/libui/bind_expression.rb
|
441
501
|
- lib/glimmer/dsl/libui/control_expression.rb
|
442
502
|
- lib/glimmer/dsl/libui/custom_control_expression.rb
|
@@ -455,6 +515,7 @@ files:
|
|
455
515
|
- lib/glimmer/dsl/libui/string_expression.rb
|
456
516
|
- lib/glimmer/dsl/libui/tab_item_expression.rb
|
457
517
|
- lib/glimmer/fiddle_consumer.rb
|
518
|
+
- lib/glimmer/launcher.rb
|
458
519
|
- lib/glimmer/libui.rb
|
459
520
|
- lib/glimmer/libui/attributed_string.rb
|
460
521
|
- lib/glimmer/libui/control_proxy.rb
|
@@ -543,6 +604,9 @@ files:
|
|
543
604
|
- lib/glimmer/libui/shape/rectangle.rb
|
544
605
|
- lib/glimmer/libui/shape/square.rb
|
545
606
|
- lib/glimmer/proc_tracker.rb
|
607
|
+
- lib/glimmer/rake_task.rb
|
608
|
+
- lib/glimmer/rake_task/list.rb
|
609
|
+
- lib/glimmer/rake_task/scaffold.rb
|
546
610
|
- sounds/AlanWalker-Faded.mid
|
547
611
|
- sounds/AlanWalker-SingMeToSleep.mid
|
548
612
|
- sounds/CalvinHarris-Blame.mid
|
@@ -569,8 +633,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
569
633
|
- !ruby/object:Gem::Version
|
570
634
|
version: '0'
|
571
635
|
requirements: []
|
572
|
-
rubygems_version: 3.
|
636
|
+
rubygems_version: 3.4.10
|
573
637
|
signing_key:
|
574
638
|
specification_version: 4
|
575
|
-
summary: Glimmer DSL for LibUI
|
639
|
+
summary: Glimmer DSL for LibUI (Fukuoka Award Winning Prerequisite-Free Ruby Desktop
|
640
|
+
Development Cross-Platform Native GUI Library)
|
576
641
|
test_files: []
|