glimmer 2.7.8 → 2.7.9

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: 9344c9d26e07e46cbc656676e2e9cf172ce9d548f8cdf656feedc8d182b6889b
4
- data.tar.gz: ed8202f9ec5f451b4a1b9a0cd827199566193a73c1003b254de572db157bf8b1
3
+ metadata.gz: 2163c1191266b85c926cbaf5d5f4149f8842b1125bda5c3b432f7b7c708b8e1c
4
+ data.tar.gz: 1f563fd8350494de6c7acf5a3ccf4394ba51416388b2878002222c35dd49ba60
5
5
  SHA512:
6
- metadata.gz: cda64ce7e21ae4f2ef9bf449c460c406a5bde39b177098f30129031b4c8fa25695966c34dfbfc5c3599e24c374a2240c02f833b5b831df998479102cd40e312b
7
- data.tar.gz: 2fc3aaad22c7e9f01080ece384dc4740875a1d9c81bd95a9f006316bbe1bccabb2e7fb90e99956bd33e8ac44dbdd8ce2fc16f76198713efe491d8f1e279c7bc4
6
+ metadata.gz: 9a5cd83b2ec56d597338eb06739a44c3296f4528aa6424abdd0edf60513b26eb8e5163665419a0e6bc12d642adb313a48eae91b46b0ed7cc8a133ec74315b229
7
+ data.tar.gz: 8646449312b94c5683d8df9900dfbc420f8530c5778a69af10dc3cc18170a65a7bf017af18f9f4ad19aec2d47f9870aae1d723d6041204830bcfce817aefc82e
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.7.9
7
+
8
+ - Optimize performance of `Glimmer::DataBinding::ObservableModel#add_observer` by removing `OpenStruct` constant check.
9
+
6
10
  ### 2.7.8
7
11
 
8
12
  - Allow passing `BindExpression` only 1 argument (e.g. presenter.todos) or 1 argument + 1 hash (e.g. presenter.todos, on_read: -> {})
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.7.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.7.9
2
2
  ## DSL Framework for Ruby GUI and More
3
3
  [![Gem Version](https://badge.fury.io/rb/glimmer.svg)](http://badge.fury.io/rb/glimmer)
4
4
  [![rspec](https://github.com/AndyObtiva/glimmer/workflows/rspec/badge.svg)](https://github.com/AndyObtiva/glimmer/actions?query=workflow%3Arspec)
@@ -268,7 +268,7 @@ end
268
268
  ### Setup
269
269
 
270
270
  Follow these steps to author a [Glimmer](https://rubygems.org/gems/glimmer) DSL:
271
- - Add `gem 'glimmer', '~> 2.7.8'` to `Gemfile` and run `bundle` or run `gem install glimmer -v2.7.8` and add `require 'glimmer'`
271
+ - Add `gem 'glimmer', '~> 2.7.9'` to `Gemfile` and run `bundle` or run `gem install glimmer -v2.7.9` and add `require 'glimmer'`
272
272
  - 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
273
  - Create `glimmer/dsl/[dsl_name]/[expresion_name]_expresion.rb` for every [expresion_name] expression needed, whether dynamic or static
274
274
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 2.7.8
1
+ 2.7.9
data/glimmer.gemspec CHANGED
@@ -2,16 +2,16 @@
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.7.8 ruby lib
5
+ # stub: glimmer 2.7.9 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "glimmer".freeze
9
- s.version = "2.7.8"
9
+ s.version = "2.7.9"
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 = "2024-07-01"
14
+ s.date = "2024-07-02"
15
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
16
16
  s.email = "andy.am@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -56,8 +56,7 @@ module Glimmer
56
56
  property_observer_list(property_name) << observer
57
57
  # if property writer does not exist, add_property_writer_observers will ensure_array_object_observer only
58
58
  add_property_writer_observers(property_name, options)
59
- open_struct_loaded = !!::OpenStruct rescue false
60
- add_key_writer_observer(property_name, options) if is_a?(Struct) || (open_struct_loaded && is_a?(OpenStruct))
59
+ add_key_writer_observer(property_name, options) unless (['Struct', 'OpenStruct'] & self.class.ancestors.map(&:to_s)).empty?
61
60
  observer
62
61
  end
63
62
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.7.8
4
+ version: 2.7.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-07-01 00:00:00.000000000 Z
11
+ date: 2024-07-02 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: array_include_methods