glimmer 2.8.0 → 2.8.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 +4 -0
- data/LICENSE.txt +1 -1
- data/PROCESS.md +1 -1
- data/README.md +9 -7
- data/VERSION +1 -1
- data/glimmer.gemspec +17 -17
- data/lib/glimmer/config.rb +1 -1
- data/lib/glimmer/data_binding/model_binding.rb +2 -2
- data/lib/glimmer/data_binding/observable.rb +1 -1
- data/lib/glimmer/data_binding/observable_array.rb +1 -1
- data/lib/glimmer/data_binding/observable_hash.rb +1 -1
- data/lib/glimmer/data_binding/observable_hashable.rb +1 -1
- data/lib/glimmer/data_binding/observable_model.rb +1 -1
- data/lib/glimmer/data_binding/observer.rb +1 -1
- data/lib/glimmer/data_binding/shine.rb +1 -1
- data/lib/glimmer/dsl/bind_expression.rb +1 -1
- data/lib/glimmer/dsl/engine.rb +1 -1
- data/lib/glimmer/dsl/expression.rb +1 -1
- data/lib/glimmer/dsl/expression_handler.rb +1 -1
- data/lib/glimmer/dsl/observe_expression.rb +1 -1
- data/lib/glimmer/dsl/parent_expression.rb +1 -1
- data/lib/glimmer/dsl/shine_data_binding_expression.rb +1 -1
- data/lib/glimmer/dsl/static_expression.rb +1 -1
- data/lib/glimmer/dsl/top_level_expression.rb +1 -1
- data/lib/glimmer/error.rb +1 -1
- data/lib/glimmer/invalid_keyword_error.rb +1 -1
- data/lib/glimmer.rb +1 -1
- metadata +5 -7
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 8303487009c08216782b2c809f8d01673e1edaddc9b466cae998595f35644179
|
4
|
+
data.tar.gz: ef7564afc7807b6d237c1b56c61732196a58b84db0f582d9aad5ea3190f4ec4d
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a8fc0a116624b14dc46636d972671776dede54b7d288000f9bb92e675cf76db34f6361e6262d8cdd08f0a7a1bf6fda0e2a0c97eb0b26097175d96aa0154986e5
|
7
|
+
data.tar.gz: 98f9527f6693c1886959d416cbbd18cbd0df38e0780a4d82cd359b877972a8f2dd70864f558ac3c2c360b6b818224805073f4d8733f45ca0fc369078963ca51e
|
data/CHANGELOG.md
CHANGED
@@ -3,6 +3,10 @@
|
|
3
3
|
Related Change Logs:
|
4
4
|
- [glimmer-dsl-swt/CHANGELOG.md](https://github.com/AndyObtiva/glimmer-dsl-swt/blob/master/CHANGELOG.md)
|
5
5
|
|
6
|
+
### 2.8.1
|
7
|
+
|
8
|
+
- Fix an issue in `ModelBinding#options_property_name` that was breaking Glimmer DSL for SWT on Linux
|
9
|
+
|
6
10
|
### 2.8.0
|
7
11
|
|
8
12
|
- Support ability to interpret multiple DSL expression hierarchies, by suspending interpretation of a hierarchy, interpreting another until done, and then resuming interpretation of previous hierarchy until done too. That is done by starting a new expression hierarchy interpretation using `Glimmer::DSL::Engine::new_parent_stack` in the middle of interpreting another expression hierarchy.
|
data/LICENSE.txt
CHANGED
data/PROCESS.md
CHANGED
data/README.md
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 style="position: relative; top: 20px;" />](https://rubygems.org/gems/glimmer) Glimmer 2.8.
|
1
|
+
# [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 style="position: relative; top: 20px;" />](https://rubygems.org/gems/glimmer) Glimmer 2.8.1
|
2
2
|
## DSL Framework for Ruby GUI and More
|
3
3
|
[](http://badge.fury.io/rb/glimmer)
|
4
4
|
[](https://github.com/AndyObtiva/glimmer/actions?query=workflow%3Arspec)
|
@@ -10,6 +10,8 @@
|
|
10
10
|
|
11
11
|
**(Original Glimmer Library Handling World’s Ruby GUI Needs Since 2007. Beware of Imitators!)**
|
12
12
|
|
13
|
+
**([Fukuoka Prefecture Future IT Initiative 2025 Money Forward Award Winner](https://andymaleh.blogspot.com/2025/01/glimmer-dsl-for-web-wins-in-fukuoka.html)) [[Announcement]](https://digitalfukuoka.jp/news/info/528/)**
|
14
|
+
|
13
15
|
(**[Glimmer DSL for LibUI Won a Fukuoka Ruby 2022 Special Award](https://andymaleh.blogspot.com/2022/02/glimmer-dsl-for-libui-wins-fukuoka-ruby.html)** [[Announcement]](http://www.digitalfukuoka.jp/topics/187?locale=ja))
|
14
16
|
|
15
17
|
(**[***RubyConf 2023 Workshop - How To Build Desktop Applications in Ruby***](https://github.com/AndyObtiva/how-to-build-desktop-applications-in-ruby)**)
|
@@ -40,7 +42,7 @@ Featured in JRuby Cookbook](http://shop.oreilly.com/product/9780596519650.do) an
|
|
40
42
|
- Multiple DSLs may be [mixed](#multi-dsl-support) together safely to achieve maximum expressability, composability, and productivity.
|
41
43
|
- DSLs are fully configurable, so you may activate and deactivate DSLs as per your current needs only.
|
42
44
|
|
43
|
-
Start by checking out:
|
45
|
+
Start by checking out:
|
44
46
|
- [Glimmer DSL for SWT](https://github.com/AndyObtiva/glimmer-dsl-swt), Glimmer's original GUI DSL (for [JRuby](https://www.jruby.org/)), which got extracted into its own [Ruby gem](https://rubygems.org/gems/glimmer-dsl-swt).
|
45
47
|
- [Glimmer DSL for LibUI](https://github.com/AndyObtiva/glimmer-dsl-libui), Glimmer's GUI DSL for standard [Ruby](https://www.ruby-lang.org/) (aka MRI Ruby or CRuby), which has no prerequisites beyond installing the [Ruby gem](https://rubygems.org/gems/glimmer-dsl-libui), and has won a [Fukuoka Ruby 2022 Special Award](https://andymaleh.blogspot.com/2022/02/glimmer-dsl-for-libui-wins-fukuoka-ruby.html).
|
46
48
|
- [Glimmer DSL for Web](https://github.com/AndyObtiva/glimmer-dsl-web) enables using all the advanced data-binding features of Glimmer in Web Frontends by providing a Ruby HTML DSL and a Ruby CSS DSL.
|
@@ -268,7 +270,7 @@ end
|
|
268
270
|
### Setup
|
269
271
|
|
270
272
|
Follow these steps to author a [Glimmer](https://rubygems.org/gems/glimmer) DSL:
|
271
|
-
- Add `gem 'glimmer', '~> 2.8.
|
273
|
+
- Add `gem 'glimmer', '~> 2.8.1'` to `Gemfile` and run `bundle` or run `gem install glimmer -v2.8.1` and add `require 'glimmer'`
|
272
274
|
- Create `glimmer/dsl/[dsl_name]/dsl.rb`, which requires and adds all dynamic expressions for the [dsl_name] Glimmer DSL module as per the code shown in the previous section (or [Official DSLs](#official-dsls) as examples)
|
273
275
|
- Create `glimmer/dsl/[dsl_name]/[expresion_name]_expresion.rb` for every [expresion_name] expression needed, whether dynamic or static
|
274
276
|
|
@@ -1382,7 +1384,7 @@ Glimmer DSL for SWT was the first GUI DSL created as part of the Glimmer project
|
|
1382
1384
|
|
1383
1385
|
**What is the difference between Glimmer DSL for SWT and Glimmer DSL for LibUI?**
|
1384
1386
|
|
1385
|
-
Both Glimmer DSL for SWT and Glimmer DSL for LibUI support rendering platform native widgets/controls, which enable building native desktop apps that look 100% native on every platform (Mac, Windows, and Linux).
|
1387
|
+
Both Glimmer DSL for SWT and Glimmer DSL for LibUI support rendering platform native widgets/controls, which enable building native desktop apps that look 100% native on every platform (Mac, Windows, and Linux).
|
1386
1388
|
|
1387
1389
|
However, Glimmer DSL for SWT runs in JRuby (Ruby running in the JVM [Java Virtual Machine]) whereas Glimmer DSL for LibUI runs in standard Ruby (aka MRI Ruby or CRuby).
|
1388
1390
|
|
@@ -1400,7 +1402,7 @@ You may learn more about the differences between various Glimmer DSLs by checkin
|
|
1400
1402
|
|
1401
1403
|
**What is the difference between Glimmer DSL for SWT, Glimmer DSL for Swing, and Glimmer DSL for JFX?**
|
1402
1404
|
|
1403
|
-
Glimmer DSL for SWT relies on the Eclipse SWT library, which renders native widgets on every platform (Mac, Windows, and Linux) to build desktop apps that look 100% native on every platform (Mac, Windows, and Linux).
|
1405
|
+
Glimmer DSL for SWT relies on the Eclipse SWT library, which renders native widgets on every platform (Mac, Windows, and Linux) to build desktop apps that look 100% native on every platform (Mac, Windows, and Linux).
|
1404
1406
|
|
1405
1407
|
Glimmer DSL for Swing relies on Swing, which does not render native widgets on every platform. Glimmer DSL for JFX relies on JavaFX, which also does not render native widgets on every platform.
|
1406
1408
|
|
@@ -1414,7 +1416,7 @@ GUI Toolkits implement low-level GUI rendering concerns. And, while some of them
|
|
1414
1416
|
|
1415
1417
|
Glimmer GUI DSLs on the other hand are fully declarative and follow Rails' Convention Over Configuration maxim by including smart defaults and automation of low-level details, so they enable software engineers to write the simplest most minimalistic code that maps to the actual visual GUI concepts, maximizing productivity and resulting in code that is very maintainable and intuitive to reason about.
|
1416
1418
|
|
1417
|
-
Furthermore, Glimmer GUI DSLs offer advanced Bidirectional/Unidirectional Data-Binding Support, which enables syncing View data with Model attributes with the tersest code syntax possible to greatly simplify reasoning about the code while supporting proper separation of concerns through correct adherence to MVC (Model-View-Controller) and MVP (Model-View-Presenter).
|
1419
|
+
Furthermore, Glimmer GUI DSLs offer advanced Bidirectional/Unidirectional Data-Binding Support, which enables syncing View data with Model attributes with the tersest code syntax possible to greatly simplify reasoning about the code while supporting proper separation of concerns through correct adherence to MVC (Model-View-Controller) and MVP (Model-View-Presenter).
|
1418
1420
|
|
1419
1421
|
That's in addition to scaffolding and native executable packaging in some Glimmer GUI DSLs. As a result, productivity increases even further and maintainability becomes even less expensive, thus enabling software engineers to deliver pieces of software in a matter of minutes or hours for desktop application MVPs (Minimal Viable Products). As such, Glimmer GUI DSLs significantly shorten the feedback cycle and enable incrementally releasing features at a very fast pace, not possible with GUI toolkit low-level APIs.
|
1420
1422
|
|
@@ -1487,7 +1489,7 @@ If your company would like to invest fulltime in further development of the Glim
|
|
1487
1489
|
|
1488
1490
|
[MIT](LICENSE.txt)
|
1489
1491
|
|
1490
|
-
Copyright (c) 2007-
|
1492
|
+
Copyright (c) 2007-2025 - Andy Maleh.
|
1491
1493
|
|
1492
1494
|
--
|
1493
1495
|
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
2.8.
|
1
|
+
2.8.1
|
data/glimmer.gemspec
CHANGED
@@ -2,17 +2,17 @@
|
|
2
2
|
# DO NOT EDIT THIS FILE DIRECTLY
|
3
3
|
# Instead, edit Jeweler::Tasks in Rakefile, and run 'rake gemspec'
|
4
4
|
# -*- encoding: utf-8 -*-
|
5
|
-
# stub: glimmer 2.8.
|
5
|
+
# stub: glimmer 2.8.1 ruby lib
|
6
6
|
|
7
7
|
Gem::Specification.new do |s|
|
8
8
|
s.name = "glimmer".freeze
|
9
|
-
s.version = "2.8.
|
9
|
+
s.version = "2.8.1".freeze
|
10
10
|
|
11
11
|
s.required_rubygems_version = Gem::Requirement.new(">= 0".freeze) if s.respond_to? :required_rubygems_version=
|
12
12
|
s.require_paths = ["lib".freeze]
|
13
13
|
s.authors = ["AndyMaleh".freeze]
|
14
|
-
s.date = "
|
15
|
-
s.description = "Glimmer is a Ruby DSL Framework for Ruby GUI and More, consisting of a DSL Engine and a Data-Binding Library (including Observer Design Pattern, Observable Model, Observable Array, and Observable Hash). Used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library and Winner of Fukuoka Ruby Award Competition 2022 Special Award), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library), Glimmer DSL for FX (FOX Toolkit Ruby Desktop Development GUI Library), Glimmer DSL for WX (wxWidgets Ruby Desktop Development GUI Library), Glimmer DSL for Swing (JRuby Swing Desktop Development GUI Library), Glimmer DSL for JFX (JRuby JavaFX Desktop Development GUI Library), Glimmer DSL for XML (& HTML), and Glimmer DSL for CSS.".freeze
|
14
|
+
s.date = "2025-03-21"
|
15
|
+
s.description = "Glimmer is a Ruby DSL Framework for Ruby GUI and More, consisting of a DSL Engine and a Data-Binding Library (including Observer Design Pattern, Observable Model, Observable Array, and Observable Hash). Used in Glimmer DSL for SWT (JRuby Desktop Development GUI Framework), Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework and Winner of Fukuoka Prefecture Future IT Initiative 2025 Money Forward Award), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development GUI Library and Winner of Fukuoka Ruby Award Competition 2022 Special Award), Glimmer DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Ruby-GNOME Desktop Development GUI Library), Glimmer DSL for FX (FOX Toolkit Ruby Desktop Development GUI Library), Glimmer DSL for WX (wxWidgets Ruby Desktop Development GUI Library), Glimmer DSL for Swing (JRuby Swing Desktop Development GUI Library), Glimmer DSL for JFX (JRuby JavaFX Desktop Development GUI Library), Glimmer DSL for XML (& HTML), and Glimmer DSL for CSS.".freeze
|
16
16
|
s.email = "andy.am@gmail.com".freeze
|
17
17
|
s.extra_rdoc_files = [
|
18
18
|
"CHANGELOG.md",
|
@@ -53,22 +53,22 @@ Gem::Specification.new do |s|
|
|
53
53
|
]
|
54
54
|
s.homepage = "http://github.com/AndyObtiva/glimmer".freeze
|
55
55
|
s.licenses = ["MIT".freeze]
|
56
|
-
s.rubygems_version = "3.
|
56
|
+
s.rubygems_version = "3.6.2".freeze
|
57
57
|
s.summary = "Glimmer (DSL Framework for Ruby GUI and More)".freeze
|
58
58
|
|
59
59
|
s.specification_version = 4
|
60
60
|
|
61
|
-
s.add_runtime_dependency(%q<array_include_methods>.freeze, [">= 1.4.0", "< 1.6.0"])
|
62
|
-
s.add_runtime_dependency(%q<facets>.freeze, [">= 3.1.0", "< 4.0.0"])
|
63
|
-
s.add_development_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0"])
|
64
|
-
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0"])
|
65
|
-
s.add_development_dependency(%q<puts_debuggerer>.freeze, [">= 1.0.1"])
|
66
|
-
s.add_development_dependency(%q<rake>.freeze, [">= 10.1.0", "< 14.0.0"])
|
67
|
-
s.add_development_dependency(%q<jeweler>.freeze, [">= 2.0.0", "< 3.0.0"])
|
68
|
-
s.add_development_dependency(%q<rdoc>.freeze, [">= 6.2.1", "< 7.0.0"])
|
69
|
-
s.add_development_dependency(%q<coveralls>.freeze, [">= 0"])
|
70
|
-
s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.16.1"])
|
71
|
-
s.add_development_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0"])
|
72
|
-
s.add_development_dependency(%q<rake-tui>.freeze, ["> 0"])
|
61
|
+
s.add_runtime_dependency(%q<array_include_methods>.freeze, [">= 1.4.0".freeze, "< 1.6.0".freeze])
|
62
|
+
s.add_runtime_dependency(%q<facets>.freeze, [">= 3.1.0".freeze, "< 4.0.0".freeze])
|
63
|
+
s.add_development_dependency(%q<rspec-mocks>.freeze, ["~> 3.5.0".freeze])
|
64
|
+
s.add_development_dependency(%q<rspec>.freeze, ["~> 3.5.0".freeze])
|
65
|
+
s.add_development_dependency(%q<puts_debuggerer>.freeze, [">= 1.0.1".freeze])
|
66
|
+
s.add_development_dependency(%q<rake>.freeze, [">= 10.1.0".freeze, "< 14.0.0".freeze])
|
67
|
+
s.add_development_dependency(%q<jeweler>.freeze, [">= 2.0.0".freeze, "< 3.0.0".freeze])
|
68
|
+
s.add_development_dependency(%q<rdoc>.freeze, [">= 6.2.1".freeze, "< 7.0.0".freeze])
|
69
|
+
s.add_development_dependency(%q<coveralls>.freeze, [">= 0".freeze])
|
70
|
+
s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.16.1".freeze])
|
71
|
+
s.add_development_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0".freeze])
|
72
|
+
s.add_development_dependency(%q<rake-tui>.freeze, ["> 0".freeze])
|
73
73
|
end
|
74
74
|
|
data/lib/glimmer/config.rb
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
# Copyright (c) 2007-
|
1
|
+
# Copyright (c) 2007-2025 Andy Maleh
|
2
2
|
#
|
3
3
|
# Permission is hereby granted, free of charge, to any person obtaining
|
4
4
|
# a copy of this software and associated documentation files (the
|
@@ -228,7 +228,7 @@ module Glimmer
|
|
228
228
|
end
|
229
229
|
|
230
230
|
def options_property_name
|
231
|
-
self.property_name
|
231
|
+
"#{self.property_name}_options"
|
232
232
|
end
|
233
233
|
|
234
234
|
def property_indexed?(property_expression)
|
data/lib/glimmer/dsl/engine.rb
CHANGED
data/lib/glimmer/error.rb
CHANGED
data/lib/glimmer.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: glimmer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.8.
|
4
|
+
version: 2.8.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- AndyMaleh
|
8
|
-
autorequire:
|
9
8
|
bindir: bin
|
10
9
|
cert_chain: []
|
11
|
-
date:
|
10
|
+
date: 2025-03-21 00:00:00.000000000 Z
|
12
11
|
dependencies:
|
13
12
|
- !ruby/object:Gem::Dependency
|
14
13
|
name: array_include_methods
|
@@ -212,7 +211,8 @@ description: Glimmer is a Ruby DSL Framework for Ruby GUI and More, consisting o
|
|
212
211
|
a DSL Engine and a Data-Binding Library (including Observer Design Pattern, Observable
|
213
212
|
Model, Observable Array, and Observable Hash). Used in Glimmer DSL for SWT (JRuby
|
214
213
|
Desktop Development GUI Framework), Glimmer DSL for Web (Ruby in the Browser Web
|
215
|
-
Frontend Framework
|
214
|
+
Frontend Framework and Winner of Fukuoka Prefecture Future IT Initiative 2025 Money
|
215
|
+
Forward Award), Glimmer DSL for LibUI (Prerequisite-Free Ruby Desktop Development
|
216
216
|
GUI Library and Winner of Fukuoka Ruby Award Competition 2022 Special Award), Glimmer
|
217
217
|
DSL for Tk (Ruby Tk Desktop Development GUI Library), Glimmer DSL for GTK (Ruby-GNOME
|
218
218
|
Desktop Development GUI Library), Glimmer DSL for FX (FOX Toolkit Ruby Desktop Development
|
@@ -262,7 +262,6 @@ homepage: http://github.com/AndyObtiva/glimmer
|
|
262
262
|
licenses:
|
263
263
|
- MIT
|
264
264
|
metadata: {}
|
265
|
-
post_install_message:
|
266
265
|
rdoc_options: []
|
267
266
|
require_paths:
|
268
267
|
- lib
|
@@ -277,8 +276,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
277
276
|
- !ruby/object:Gem::Version
|
278
277
|
version: '0'
|
279
278
|
requirements: []
|
280
|
-
rubygems_version: 3.
|
281
|
-
signing_key:
|
279
|
+
rubygems_version: 3.6.2
|
282
280
|
specification_version: 4
|
283
281
|
summary: Glimmer (DSL Framework for Ruby GUI and More)
|
284
282
|
test_files: []
|