glimmer-dsl-web 0.2.5 → 0.2.6

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: cefe3f3c8cf1e4e34eb1703d601e57a99e000ac5691542f275e8c998c6467914
4
- data.tar.gz: f70430fa7d665432a870e01bf69a6e42b328c5b8def261cd1b3fb330451dd54f
3
+ metadata.gz: 45ca1b698d2d53da63a133041ac83c77888d42b1e504bc2fa3b81b54c610ff32
4
+ data.tar.gz: 91268134dcba4d5d04435d8ee517f7a1e39e277ff0be9487aa7dd99eb1899ee2
5
5
  SHA512:
6
- metadata.gz: 1610a4360edd9019218e7d483e97b45d636da381250edba3616503d5677c4109818ee81d1b9ae2715688632214edadc96762c81c2fde2706ace9d7bae9a0dbc2
7
- data.tar.gz: f35f136f78c03b53c264392cb1ee1c9bae16601b2992b721bea0a3748a6cbcff2e67012ef86d3e8cd4c2cdbfccec577921a4322833d5223bd27bbc0a114c16a4
6
+ metadata.gz: 68b47d95332b4156d5c04643078cf95bf9d51098b5219836bb1a25eb440d2db25fca55ade3179c64b6587b887b890d4188eb8a91b2f9a32c78ba88027c114774
7
+ data.tar.gz: efdb2f8bfb640b0fe1ce052cf867c2d0b58f4ceae6284e23178f51d42b296e53dda009794cd08cb7a46ec2cc0894f0a9054c1a903d40bc7c62dae0570eec16e9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,10 @@
1
1
  # Change Log
2
2
 
3
+ ## 0.2.6
4
+
5
+ - Upgrade to `glimmer-dsl-xml` 1.4.0 to provide access to `html_to_glimmer` converter command (converts legacy HTML to Glimmer DSL syntax)
6
+ - Upgrade to `glimmer-dsl-css` 1.4.0 to provide access to `css_to_glimmer` converter command (converts legacy CSS to Glimmer DSL syntax)
7
+
3
8
  ## 0.2.5
4
9
 
5
10
  - Support `Element#class_name` as an alternative to `Element#class` because `class` is a reserved method in Ruby
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 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for Web 0.2.5 (Beta)
1
+ # [<img src="https://raw.githubusercontent.com/AndyObtiva/glimmer/master/images/glimmer-logo-hi-res.png" height=85 />](https://github.com/AndyObtiva/glimmer) Glimmer DSL for Web 0.2.6 (Beta)
2
2
  ## Ruby in the Browser Web Frontend Framework
3
3
  ### Finally, Ruby Developer Productivity, Happiness, and Fun in the Frontend!!!
4
4
  [![Gem Version](https://badge.fury.io/rb/glimmer-dsl-web.svg)](http://badge.fury.io/rb/glimmer-dsl-web)
@@ -1211,6 +1211,8 @@ You can setup Glimmer DSL for Web in [Rails 7](#rails-7), [Rails 6](#rails-6), o
1211
1211
 
1212
1212
  ### Rails 7
1213
1213
 
1214
+ (NOTE: In the future, we plan to automate the setup steps below. If you would like to help contribute that to the project, please do so and open a Pull Request.)
1215
+
1214
1216
  Please follow these steps to setup.
1215
1217
 
1216
1218
  Install a Rails 7 gem:
@@ -1228,7 +1230,7 @@ rails new glimmer_app_server
1228
1230
  Add the following to `Gemfile`:
1229
1231
 
1230
1232
  ```
1231
- gem 'glimmer-dsl-web', '~> 0.2.5'
1233
+ gem 'glimmer-dsl-web', '~> 0.2.6'
1232
1234
  ```
1233
1235
 
1234
1236
  Run:
@@ -1430,6 +1432,8 @@ Next, read [Usage](#usage) instructions, and check out [Samples](#samples).
1430
1432
 
1431
1433
  ### Rails 6
1432
1434
 
1435
+ (NOTE: In the future, we plan to automate the setup steps below. If you would like to help contribute that to the project, please do so and open a Pull Request.)
1436
+
1433
1437
  Please follow these steps to setup.
1434
1438
 
1435
1439
  Install a Rails 6 gem:
@@ -1453,7 +1457,7 @@ Disable the `webpacker` gem line in `Gemfile`:
1453
1457
  Add the following to `Gemfile`:
1454
1458
 
1455
1459
  ```ruby
1456
- gem 'glimmer-dsl-web', '~> 0.2.5'
1460
+ gem 'glimmer-dsl-web', '~> 0.2.6'
1457
1461
  ```
1458
1462
 
1459
1463
  Run:
@@ -3184,9 +3188,13 @@ Learn more by reading the [GPG](https://github.com/AndyObtiva/glimmer/blob/maste
3184
3188
 
3185
3189
  F.A.Q. (Frequently Asked Questions):
3186
3190
 
3191
+ **Can I reuse JavaScript libraries from Glimmer DSL for Web in Ruby?**
3192
+
3193
+ Absolutely. Glimmer DSL for Web can integrate with any JavaScript libraries. You can either load the JavaScript libraries in advance by linking to them in the Rails View/Layout (e.g. linking to JS library CDN URLs) or by including JavaScript files in the lookup directories of Opal Ruby, and adding a Ruby `require('path_to_js_lib')` call in the code. In Ruby, the `$$` global variable gives access to the top-level JavaScript global scope, which enables invocations on any JavaScript objects. For example, `$$.hljs` gives access to the loaded `window.hljs` object for the Highlight.js library, and that enables invoking any functions from that library as needed, like `$$.hljs.highlightAll` to activate code syntax highlighting.
3194
+
3187
3195
  **How does Glimmer DSL for Web compare to Rails Hotwire (Turbo)?**
3188
3196
 
3189
- Glimmer DSL for Web is a Frontend library, meaning it replaces the JavaScript layer in a web application (e.g. Rails app) with Ruby code. On the other hand, Rails Hotwire (Turbo) is mostly a Backend-driven technology that enables automatically replacing HTML DOM elements with HTML markup sent over the wire from a Rails Backend. So, the two technologies are mostly orthogonal, but can be used in the same Rails web application, albeit exclusively on separate web pages at the moment. In the future, we might explore supporting the ability to combine both technologies in the same pages, but until then, use on separate pages. Glimmer DSL for Web can handle any sort of Frontend interactions even without making HTTP calls to the Backend, so it can implement more use-cases than Hotwire. Using Glimmer DSL for Web with Rails API end-points is simpler than using Hotwire overall. That is because Glimmer Content Data-Binding is a simpler version of Turbo Frames that does not require worrying about setting and using element IDs (as that is handled automatically) and that operates at a more correct abstraction level for how we think about View component updates in relation to Model changes (we make updates at the Model layer, and they automatically get reflected in the View through data-binding). Also, Glimmer DSL for Web supports Glimmer Web Components, which enable better division of View code with higher readability than ERB. It is true that Hotwire is an improvement over using JavaScript frameworks like React when there is not much logic beyond updating elements with Server-Side rendered HTML. And, Glimmer DSL for Web is the next big advancement that brings a big improvement over the Hotwire approach.
3197
+ Glimmer DSL for Web is a Frontend library, meaning it replaces the JavaScript layer in a web application (e.g. Rails app) with Ruby code. On the other hand, Rails Hotwire (Turbo) is mostly a Backend-driven technology that enables automatically replacing HTML DOM elements with HTML markup sent over the wire from a Rails Backend. So, the two technologies are mostly orthogonal, but can be used in the same Rails web application, albeit exclusively on separate web pages at the moment. In the future, we might explore supporting the ability to combine both technologies in the same pages, but until then, use on separate pages. Glimmer DSL for Web can handle any sort of Frontend interactions even without making HTTP calls to the Backend, so it can implement more use-cases than Hotwire. Using Glimmer DSL for Web with Rails API end-points is simpler than using Hotwire overall. That is because Glimmer Content Data-Binding is a simpler version of Turbo Frames that does not require worrying about setting and using element IDs (as that is handled automatically) and that operates at a more correct abstraction level for how we think about View component updates in relation to Model changes (we make updates at the Model layer, and they automatically get reflected in the View through data-binding). Also, Glimmer DSL for Web supports Glimmer Web Components, which enable better division and organization of View code into modular components than ERB plus having higher readability. It is true that Hotwire is an improvement over using JavaScript frameworks like React when there is not much logic beyond updating elements with Server-Side rendered HTML. And, Glimmer DSL for Web is the next big advancement that provides an even simpler approach while also giving you full Frontend Development capabilities using Ruby in the Browser.
3190
3198
 
3191
3199
  **How does Glimmer DSL for Web compare to Phlex or ViewComponent?**
3192
3200
 
@@ -3204,6 +3212,7 @@ Without delving into details, Glimmer DSL for Web is meant to be a Ruby-based dr
3204
3212
 
3205
3213
  In the future, support for HTML Web Components will be added, and that will enable reuse of React components by using a library that converts them to HTML Web Components first like [react-to-web-component](https://github.com/bitovi/react-to-web-component) or [react-webcomponent](https://github.com/adobe/react-webcomponent).
3206
3214
 
3215
+
3207
3216
  ### Issues
3208
3217
 
3209
3218
  You may submit [issues](https://github.com/AndyObtiva/glimmer-dsl-web/issues) on [GitHub](https://github.com/AndyObtiva/glimmer-dsl-web/issues).
data/VERSION CHANGED
@@ -1 +1 @@
1
- 0.2.5
1
+ 0.2.6
@@ -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-dsl-web 0.2.5 ruby lib
5
+ # stub: glimmer-dsl-web 0.2.6 ruby lib
6
6
 
7
7
  Gem::Specification.new do |s|
8
8
  s.name = "glimmer-dsl-web".freeze
9
- s.version = "0.2.5"
9
+ s.version = "0.2.6".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 = ["Andy Maleh".freeze]
14
- s.date = "2024-05-12"
14
+ s.date = "2024-05-26"
15
15
  s.description = "Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework) enables building Web Frontends using Ruby in the Browser, as per Matz's recommendation in his RubyConf 2022 keynote speech to replace JavaScript with Ruby. It aims at providing the simplest, most intuitive, most straight-forward, and most productive frontend framework in existence. The framework follows the Ruby way (with DSLs and TIMTOWTDI) and the Rails way (Convention over Configuration) in building Isomorphic Ruby on Rails Applications. It provides a Ruby HTML DSL, which uniquely enables writing both structure code and logic code in one language. It supports both Unidirectional (One-Way) Data-Binding (using <=) and Bidirectional (Two-Way) Data-Binding (using <=>). Dynamic rendering (and re-rendering) of HTML content is also supported via Content Data-Binding. Modular design is supported with Glimmer Web Components. And, a Ruby CSS DSL is supported with the included Glimmer DSL for CSS. Many samples are demonstrated in the Rails sample app (there is a very minimal Standalone [No Rails] sample app too). You can finally live in pure Rubyland on the Web in both the frontend and backend with Glimmer DSL for Web! This gem relies on Opal Ruby.".freeze
16
16
  s.email = "andy.am@gmail.com".freeze
17
17
  s.extra_rdoc_files = [
@@ -76,24 +76,24 @@ Gem::Specification.new do |s|
76
76
  ]
77
77
  s.homepage = "http://github.com/AndyObtiva/glimmer-dsl-web".freeze
78
78
  s.licenses = ["MIT".freeze]
79
- s.rubygems_version = "3.4.10".freeze
79
+ s.rubygems_version = "3.5.3".freeze
80
80
  s.summary = "Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework)".freeze
81
81
 
82
82
  s.specification_version = 4
83
83
 
84
- s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 2.7.6"])
85
- s.add_runtime_dependency(%q<glimmer-dsl-xml>.freeze, ["~> 1.3.2"])
86
- s.add_runtime_dependency(%q<glimmer-dsl-css>.freeze, ["~> 1.2.3"])
87
- s.add_runtime_dependency(%q<opal>.freeze, ["= 1.8.2"])
88
- s.add_runtime_dependency(%q<opal-rails>.freeze, ["= 2.0.3"])
89
- s.add_runtime_dependency(%q<opal-async>.freeze, ["~> 1.4.1"])
90
- s.add_runtime_dependency(%q<opal-jquery>.freeze, ["~> 0.5.1"])
91
- s.add_runtime_dependency(%q<to_collection>.freeze, [">= 2.0.1", "< 3.0.0"])
92
- s.add_development_dependency(%q<puts_debuggerer>.freeze, [">= 0"])
93
- s.add_development_dependency(%q<rake>.freeze, [">= 10.1.0", "< 14.0.0"])
94
- s.add_development_dependency(%q<rake-tui>.freeze, [">= 0"])
95
- s.add_development_dependency(%q<jeweler>.freeze, [">= 2.3.9", "< 3.0.0"])
96
- s.add_development_dependency(%q<rdoc>.freeze, [">= 6.2.1", "< 7.0.0"])
97
- s.add_development_dependency(%q<opal-rspec>.freeze, ["~> 0.8.0.alpha2"])
84
+ s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 2.7.6".freeze])
85
+ s.add_runtime_dependency(%q<glimmer-dsl-xml>.freeze, ["~> 1.4.0".freeze])
86
+ s.add_runtime_dependency(%q<glimmer-dsl-css>.freeze, ["~> 1.4.0".freeze])
87
+ s.add_runtime_dependency(%q<opal>.freeze, ["= 1.8.2".freeze])
88
+ s.add_runtime_dependency(%q<opal-rails>.freeze, ["= 2.0.3".freeze])
89
+ s.add_runtime_dependency(%q<opal-async>.freeze, ["~> 1.4.1".freeze])
90
+ s.add_runtime_dependency(%q<opal-jquery>.freeze, ["~> 0.5.1".freeze])
91
+ s.add_runtime_dependency(%q<to_collection>.freeze, [">= 2.0.1".freeze, "< 3.0.0".freeze])
92
+ s.add_development_dependency(%q<puts_debuggerer>.freeze, [">= 0".freeze])
93
+ s.add_development_dependency(%q<rake>.freeze, [">= 10.1.0".freeze, "< 14.0.0".freeze])
94
+ s.add_development_dependency(%q<rake-tui>.freeze, [">= 0".freeze])
95
+ s.add_development_dependency(%q<jeweler>.freeze, [">= 2.3.9".freeze, "< 3.0.0".freeze])
96
+ s.add_development_dependency(%q<rdoc>.freeze, [">= 6.2.1".freeze, "< 7.0.0".freeze])
97
+ s.add_development_dependency(%q<opal-rspec>.freeze, ["~> 0.8.0.alpha2".freeze])
98
98
  end
99
99
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: glimmer-dsl-web
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.5
4
+ version: 0.2.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Andy Maleh
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-05-12 00:00:00.000000000 Z
11
+ date: 2024-05-26 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: glimmer
@@ -30,28 +30,28 @@ dependencies:
30
30
  requirements:
31
31
  - - "~>"
32
32
  - !ruby/object:Gem::Version
33
- version: 1.3.2
33
+ version: 1.4.0
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: 1.3.2
40
+ version: 1.4.0
41
41
  - !ruby/object:Gem::Dependency
42
42
  name: glimmer-dsl-css
43
43
  requirement: !ruby/object:Gem::Requirement
44
44
  requirements:
45
45
  - - "~>"
46
46
  - !ruby/object:Gem::Version
47
- version: 1.2.3
47
+ version: 1.4.0
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: 1.2.3
54
+ version: 1.4.0
55
55
  - !ruby/object:Gem::Dependency
56
56
  name: opal
57
57
  requirement: !ruby/object:Gem::Requirement
@@ -325,7 +325,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
325
325
  - !ruby/object:Gem::Version
326
326
  version: '0'
327
327
  requirements: []
328
- rubygems_version: 3.4.10
328
+ rubygems_version: 3.5.3
329
329
  signing_key:
330
330
  specification_version: 4
331
331
  summary: Glimmer DSL for Web (Ruby in the Browser Web Frontend Framework)