glimmer 1.0.1 → 1.0.2

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: e658a13d552f17f352fa3a932ded6dbcaaef5e423fda5f02d7fa0a6b93d1152a
4
- data.tar.gz: bd5291701f81271b2f3c005c4e1a0216cc90d7bcdb3a386afc751430e57f425e
3
+ metadata.gz: e227b3d1ae8d0ccf9052ea6b361096bf2642e86263e0248744c565882ead6a7a
4
+ data.tar.gz: f166fc97d61c14ed1f57b69ff315d877efe376f20c176fd1594ec66858639315
5
5
  SHA512:
6
- metadata.gz: ac46e59a6f2e75ad89df1725bb7ebd5b740512544969e016cef62670d214a14d1dc6d1873c7e9a268f726ad0b21214c4760a8001111afae9c2a8d3db088f12ec
7
- data.tar.gz: 3cc604177fd6101d53a9aa6a26c36f9eda889d81c5fc16f432289c50961e99bd7bf4401563b3fd27317796c3baaffd91f2b00f801a8002b555b26e5c4dbddb45
6
+ metadata.gz: 39ce7a948dfe263276326d96dd7a3da79b6b048809b81bde4087fca5781269353d3fdc821f6f1b32b4bd1c1e6c3e6e556ddd062eed05e68f15ba72e4a1e53a4e
7
+ data.tar.gz: 135fac09cc38d03cccffdb169be39fa5af5b85b0b21ec879f21d892c94d06e77b1cdc4d87775502ab3c3b45179cfbdc5b3ee4a127981f0d7bd8be19359774176
@@ -3,9 +3,14 @@
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
+ ## 1.0.2
7
+
8
+ - Support ObservableArray notifications on `unshift`, `prepend`, and `append`
9
+
6
10
  ## 1.0.1
7
11
 
8
12
  - Fixed issue with excluded keywords getting caught up by the infinite-loop-detection check
13
+ - Upgraded to array_include_method v1.0.3
9
14
 
10
15
  ## 1.0.0
11
16
 
data/PROCESS.md CHANGED
@@ -3,13 +3,13 @@
3
3
  **Glimmer Process** is the lightweight software development process used for building [Glimmer](https://github.com/AndyObtiva/glimmer) libraries and [Glimmer](https://github.com/AndyObtiva/glimmer) apps, which goes beyond Agile, rendering all Agile processes obsolete. **Glimmer Process** is simply made up of 7 guidelines to pick and choose as necessary until software development needs are satisfied. Not all guidelines need to be incorporated into every project, but it is still important to think through every one of them before ruling any out. Guidelines can be followed in any order.
4
4
 
5
5
  ## GPG (Glimmer Process Guidelines):
6
- - **Requirements Gathering**: Spend no more than a few hours writing the initial requirements you know from the business owner, gathering missing requirements, and planning to elicit more requirements from users, customers, and stakeholders. Requirements are not set in stone, but serve as a good starting point in understanding what a project is about. After initial release, only document small tasks going forward.
7
- - **Software Architecture and Design Diagrams**: Perform software architecture and design activities as necessary by analyzing requirements and creating diagrams.
8
- - **Initial Release Plan**: This guideline's motto is "Plans are Nothing. Planning is Everything" (said by Dwight D. Eisenhower) because the initial release plan is not set in stone and might change completely, but is still invaluable in launching a new project forward. Consider including alpha releases (for internal testing) and beta releases (for customer testing).
9
- - **Small Releases**: Develop and release in small increments. Do not release more than 3-weeks worth of work, preferring releases that are shorter than a week worth of work whenever possible. Break releases down. If you need to support multiple platforms, release for a platform at a time. If a feature includes a number of other features, then release them one by one instead of all at once. If a feature involves multiple options, release the default version first, and then release extra options later.
10
- - **Usability Testing**: Make sure to observe a user using your software the first few releases or when releasing critical brand new unproven features. Ask them to complete a list of goals using the software, but do not help them to complete them unless they get very stuck. Write down notes silently while observing them use your software. Once done with usability testing, you may then ask further questions about any of the notes you wrote down, and afterwards add the notes as feature enhancements and bug fixes. Implement them and then do another usability test with the improvements in place. Repeat as necessary only.
11
- - **Automated Tests**: Cover sensitive parts of the code with automated tests at the appropriate level of testing needed. Run tests in a continuous integration server.
12
- - **Refactoring**: Simplify code, eliminate code duplication, improve code organization, extract reusable components, and extract reusable libraries at every opportunity possible.
6
+ 1. **Requirements Gathering**: Spend no more than a few hours writing the initial requirements you know from the business owner, gathering missing requirements, and planning to elicit more requirements from users, customers, and stakeholders. Requirements are not set in stone, but serve as a good starting point in understanding what a project is about. After initial release, only document small tasks going forward.
7
+ 2. **Software Architecture and Design Diagrams**: Perform software architecture and design activities as necessary by analyzing requirements and creating diagrams.
8
+ 3. **Initial Release Plan**: This guideline's motto is "Plans are Nothing. Planning is Everything" (said by Dwight D. Eisenhower) because the initial release plan is not set in stone and might change completely, but is still invaluable in launching a new project forward. Consider including alpha releases (for internal testing) and beta releases (for customer testing).
9
+ 4. **Small Releases**: Develop and release in small increments. Do not release more than 3-weeks worth of work, preferring releases that are shorter than a week worth of work whenever possible. Break releases down. If you need to support multiple platforms, release for a platform at a time. If a feature includes a number of other features, then release them one by one instead of all at once. If a feature involves multiple options, release the default version first, and then release extra options later.
10
+ 5. **Usability Testing**: Make sure to observe a user using your software the first few releases or when releasing critical brand new unproven features. Ask them to complete a list of goals using the software, but do not help them to complete them unless they get very stuck. Write down notes silently while observing them use your software. Once done with usability testing, you may then ask further questions about any of the notes you wrote down, and afterwards add the notes as feature enhancements and bug fixes. Implement them and then do another usability test with the improvements in place. Repeat as necessary only.
11
+ 6. **Automated Tests**: Cover sensitive parts of the code with automated tests at the appropriate level of testing needed. Run tests in a continuous integration server.
12
+ 7. **Refactoring**: Simplify code, eliminate code duplication, improve code organization, extract reusable components, and extract reusable libraries at every opportunity possible.
13
13
 
14
14
  --
15
15
 
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 1.0.1 - DSL Framework
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 1.0.2 - DSL Framework
2
2
  [![Gem Version](https://badge.fury.io/rb/glimmer.svg)](http://badge.fury.io/rb/glimmer)
3
3
  [![Travis CI](https://travis-ci.com/AndyObtiva/glimmer.svg?branch=master)](https://travis-ci.com/github/AndyObtiva/glimmer)
4
4
  [![Coverage Status](https://coveralls.io/repos/github/AndyObtiva/glimmer/badge.svg?branch=master)](https://coveralls.io/github/AndyObtiva/glimmer?branch=master)
@@ -9,12 +9,12 @@
9
9
 
10
10
  (The Original Glimmer Library Since 2007. Beware of Imitators!)
11
11
 
12
- [**Glimmer**](https://rubygems.org/gems/glimmer) started out as [GUI Library](https://github.com/AndyObtiva/glimmer-dsl-swt) and grew into a full-fledged [DSL Framework](#multi-dsl-support). Glimmer's namesake is referring to the Glimmer of Ruby in Graphical User Interfaces (contrary to popular myth perpetrated by [Charles Nutter](http://blog.headius.com/2007/11/tab-sweep.html), Glimmer has nothing to do with the ill-fated Whitney Houston movie, which does not in fact share the same name)
13
-
14
12
  [**Glimmer**](https://rubygems.org/gems/glimmer) is a DSL Framework that consists of:
15
13
  - DSL Engine: enables building DSLs for desktop GUI, XML/HTML documents, CSS styling, and webification of desktop apps.
16
14
  - Data-Binding/Observer/Observable Library: enables synchronizing GUI with Model Attributes bidirectionally.
17
15
 
16
+ [**Glimmer**](https://rubygems.org/gems/glimmer) started out as [GUI Library](https://github.com/AndyObtiva/glimmer-dsl-swt) and grew into a full-fledged [DSL Framework](#multi-dsl-support). Glimmer's namesake is referring to the Glimmer of Ruby in Graphical User Interfaces (contrary to popular myth perpetrated by [Charles Nutter](http://blog.headius.com/2007/11/tab-sweep.html), Glimmer has nothing to do with the ill-fated Whitney Houston movie, which does not in fact share the same name)
17
+
18
18
  [**Glimmer**](https://rubygems.org/gems/glimmer) supports the following DSLs:
19
19
  - [glimmer-dsl-swt](https://github.com/AndyObtiva/glimmer-dsl-swt): Glimmer DSL for SWT (JRuby Desktop Development GUI Library)
20
20
  - [glimmer-dsl-tk](https://github.com/AndyObtiva/glimmer-dsl-tk): Glimmer DSL for Tk (Ruby Desktop Development GUI Library)
@@ -29,7 +29,7 @@ Featured in<br />JRuby Cookbook](http://shop.oreilly.com/product/9780596519650.d
29
29
 
30
30
  ## Table of contents
31
31
 
32
- - [Glimmer 1.0.1](#-glimmer-101)
32
+ - [Glimmer 1.0.2](#-glimmer-102)
33
33
  - [Glimmer DSL for SWT (JRuby Desktop Development GUI Library)](#glimmer-dsl-for-swt-jruby-desktop-development-gui-library)
34
34
  - [Glimmer DSL for SWT Samples](#glimmer-dsl-for-swt-samples)
35
35
  - [Hello, World!](#hello-world)
@@ -753,6 +753,7 @@ Here is a list of notable 3rd party gems used by Glimmer and Glimmer DSLs:
753
753
  - [puts_debuggerer](https://github.com/AndyObtiva/puts_debuggerer): helps in troubleshooting when adding `require 'pd'` and using the `pd` command instead of `puts` or `p` (also `#pd_inspect` or `#pdi` instead of `#inspect`)
754
754
  - [rake](https://github.com/ruby/rake): used to implement and execute `glimmer` commands
755
755
  - [rake-tui](https://github.com/AndyObtiva/rake-tui): Rake Text-based User Interface. Allows navigating rake tasks with arrow keys and filtering task list by typing to quickly find an run a rake task.
756
+ - [rouge](https://github.com/rouge-ruby/rouge): Ruby syntax highlighter used in the `code_text` [Glimmer DSL for SWT custom widget](https://github.com/AndyObtiva/glimmer-dsl-swt#custom-widgets) leveraged by the [Glimmer Meta-Sample](https://github.com/AndyObtiva/glimmer-dsl-swt#samples)
756
757
  - [super_module](https://github.com/AndyObtiva/super_module): used to cleanly write the Glimmer::UI:CustomWidget and Glimmer::UI::CustomShell modules
757
758
  - [text-table](https://github.com/aptinio/text-table): renders textual data in a textual table for the command-line interface of Glimmer
758
759
  - [warbler](https://github.com/jruby/warbler): converts a Glimmer app into a Java JAR file during packaging
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.0.1
1
+ 1.0.2
@@ -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 1.0.1 ruby lib
5
+ # stub: glimmer 1.0.2 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "glimmer".freeze
9
- s.version = "1.0.1"
9
+ s.version = "1.0.2"
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 = "2020-10-04"
14
+ s.date = "2020-10-27"
15
15
  s.description = "Glimmer is a Ruby DSL engine with support for the Glimmer DSL for SWT (JRuby Desktop Development GUI Library), the Glimmer DSL for Tk (Ruby Desktop Development GUI Library), the Glimmer DSL for Opal (Web GUI Adapter for Desktop Apps), the Glimmer DSL for XML (& HTML), and the Glimmer DSL for CSS.".freeze
16
16
  s.email = "andy.am@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -64,6 +64,7 @@ Gem::Specification.new do |s|
64
64
  s.add_development_dependency(%q<coveralls>.freeze, ["= 0.8.23"])
65
65
  s.add_development_dependency(%q<simplecov>.freeze, ["~> 0.16.1"])
66
66
  s.add_development_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0"])
67
+ s.add_development_dependency(%q<rake-tui>.freeze, [">= 0"])
67
68
  else
68
69
  s.add_dependency(%q<array_include_methods>.freeze, [">= 1.0.3", "< 2.0.0"])
69
70
  s.add_dependency(%q<facets>.freeze, [">= 3.1.0", "< 4.0.0"])
@@ -76,6 +77,7 @@ Gem::Specification.new do |s|
76
77
  s.add_dependency(%q<coveralls>.freeze, ["= 0.8.23"])
77
78
  s.add_dependency(%q<simplecov>.freeze, ["~> 0.16.1"])
78
79
  s.add_dependency(%q<simplecov-lcov>.freeze, ["~> 0.7.0"])
80
+ s.add_dependency(%q<rake-tui>.freeze, [">= 0"])
79
81
  end
80
82
  end
81
83
 
@@ -109,6 +109,7 @@ module Glimmer
109
109
  end
110
110
  end
111
111
  alias push <<
112
+ alias append <<
112
113
 
113
114
  def []=(index, value)
114
115
  old_value = self[index]
@@ -261,6 +262,14 @@ module Glimmer
261
262
  end
262
263
  end
263
264
 
265
+ def unshift(element)
266
+ super(element).tap do
267
+ add_element_observers(element)
268
+ notify_observers
269
+ end
270
+ end
271
+ alias prepend unshift
272
+
264
273
  def reject!(&block)
265
274
  if block.nil?
266
275
  super
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: 1.0.1
4
+ version: 1.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - AndyMaleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-10-04 00:00:00.000000000 Z
11
+ date: 2020-10-27 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: array_include_methods
@@ -194,6 +194,20 @@ dependencies:
194
194
  - - "~>"
195
195
  - !ruby/object:Gem::Version
196
196
  version: 0.7.0
197
+ - !ruby/object:Gem::Dependency
198
+ name: rake-tui
199
+ requirement: !ruby/object:Gem::Requirement
200
+ requirements:
201
+ - - ">="
202
+ - !ruby/object:Gem::Version
203
+ version: '0'
204
+ type: :development
205
+ prerelease: false
206
+ version_requirements: !ruby/object:Gem::Requirement
207
+ requirements:
208
+ - - ">="
209
+ - !ruby/object:Gem::Version
210
+ version: '0'
197
211
  description: Glimmer is a Ruby DSL engine with support for the Glimmer DSL for SWT
198
212
  (JRuby Desktop Development GUI Library), the Glimmer DSL for Tk (Ruby Desktop Development
199
213
  GUI Library), the Glimmer DSL for Opal (Web GUI Adapter for Desktop Apps), the Glimmer