glimmer-dsl-web 0.8.6 → 0.8.8
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 +10 -0
- data/README.md +3 -3
- data/VERSION +1 -1
- data/glimmer-dsl-web.gemspec +3 -3
- data/lib/glimmer/util/url_builder.rb +9 -3
- data/lib/rails/resource_service.rb +4 -0
- metadata +3 -3
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: db73018239b32a5d5ef65132760f1df53fe162e8199468b674d0a3e4fd675863
|
|
4
|
+
data.tar.gz: f188ededffff10a18faebbdf370967fed8d0ffc1b220289524d659e61b694c31
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9f1bc0048487b56d1b58a6f4ccf784b3ab3ceb8c5cc97aad007f2ae1a1aec666e09a18d4261109cb12dab99bbae3aae2bd111dcba25670ae94db24569e473266
|
|
7
|
+
data.tar.gz: f3715134efe3b06bb2677e15939a23d097a9d825afd99d42275fa350c0097b9bd4bf6f7fb0ed64e64193e2e44151b50caa92ce995e127aab389997cff9445046
|
data/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,15 @@
|
|
|
1
1
|
# Change Log
|
|
2
2
|
|
|
3
|
+
## 0.8.8
|
|
4
|
+
|
|
5
|
+
- `Glimmer::Util::UrlBuilder` supports `params` to set multiple params at once as a hash
|
|
6
|
+
- Fix issue with `Glimmer::Util::UrlBuilder` when using paths ending with `.json`
|
|
7
|
+
|
|
8
|
+
## 0.8.7
|
|
9
|
+
|
|
10
|
+
- Upgrade to glimmer 0.8.2 as it has a fixed dependency on facets 3.1.0 to avoid the breaking changes of the new facets 3.2.0
|
|
11
|
+
- `Glimmer::Util::UrlBuilder` resiliency against nil and empty params, paths, and fragments
|
|
12
|
+
|
|
3
13
|
## 0.8.6
|
|
4
14
|
|
|
5
15
|
- `Glimmer::Util::UrlBuilder` implementation to facilitate building URLs (with protocol scheme, host, path, query params, and fragment)
|
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.8.
|
|
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.8.8 (Beta)
|
|
2
2
|
## Ruby-in-the-Browser Web Frontend Framework
|
|
3
3
|
### The "Rails" of Frontend Frameworks!!! ([Fukuoka Award Winning](https://andymaleh.blogspot.com/2025/01/glimmer-dsl-for-web-wins-in-fukuoka.html))
|
|
4
4
|
#### Finally, Ruby Developer Productivity, Happiness, and Fun in the Frontend!!!
|
|
@@ -1411,7 +1411,7 @@ Please follow these steps to setup.
|
|
|
1411
1411
|
Install a Rails 7 gem:
|
|
1412
1412
|
|
|
1413
1413
|
```
|
|
1414
|
-
gem install rails -v7.0.8.
|
|
1414
|
+
gem install rails -v7.0.8.8
|
|
1415
1415
|
```
|
|
1416
1416
|
|
|
1417
1417
|
Start a new Rails 7 app:
|
|
@@ -1423,7 +1423,7 @@ rails new glimmer_app_server
|
|
|
1423
1423
|
Add the following to `Gemfile`:
|
|
1424
1424
|
|
|
1425
1425
|
```
|
|
1426
|
-
gem 'glimmer-dsl-web', '~> 0.8.
|
|
1426
|
+
gem 'glimmer-dsl-web', '~> 0.8.8'
|
|
1427
1427
|
```
|
|
1428
1428
|
|
|
1429
1429
|
Run:
|
data/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
0.8.
|
|
1
|
+
0.8.8
|
data/glimmer-dsl-web.gemspec
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
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.8.
|
|
5
|
+
# stub: glimmer-dsl-web 0.8.8 ruby lib
|
|
6
6
|
|
|
7
7
|
Gem::Specification.new do |s|
|
|
8
8
|
s.name = "glimmer-dsl-web".freeze
|
|
9
|
-
s.version = "0.8.
|
|
9
|
+
s.version = "0.8.8".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]
|
|
@@ -106,7 +106,7 @@ Gem::Specification.new do |s|
|
|
|
106
106
|
|
|
107
107
|
s.specification_version = 4
|
|
108
108
|
|
|
109
|
-
s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 2.8.
|
|
109
|
+
s.add_runtime_dependency(%q<glimmer>.freeze, ["~> 2.8.2".freeze])
|
|
110
110
|
s.add_runtime_dependency(%q<glimmer-dsl-xml>.freeze, ["~> 1.4.0".freeze])
|
|
111
111
|
s.add_runtime_dependency(%q<glimmer-dsl-css>.freeze, ["~> 1.5.2".freeze])
|
|
112
112
|
s.add_runtime_dependency(%q<opal>.freeze, ["= 1.8.2".freeze])
|
|
@@ -26,7 +26,7 @@ module Glimmer
|
|
|
26
26
|
module Util
|
|
27
27
|
class UrlBuilder
|
|
28
28
|
DEFAULT_SCHEME = 'https'
|
|
29
|
-
REGEXP_URL = /^(
|
|
29
|
+
REGEXP_URL = /^(https?)?(:\/\/)?(([^\/\:]+):?(\d+)?)?(\/[^?#]*)?(\?[^#]*)?(\#.+)?$/
|
|
30
30
|
|
|
31
31
|
class << self
|
|
32
32
|
def current
|
|
@@ -41,6 +41,7 @@ module Glimmer
|
|
|
41
41
|
|
|
42
42
|
def scheme(value)
|
|
43
43
|
@scheme = value || DEFAULT_SCHEME
|
|
44
|
+
@scheme = @scheme.gsub(/[:\/]/, '')
|
|
44
45
|
self
|
|
45
46
|
end
|
|
46
47
|
alias protocol scheme
|
|
@@ -73,6 +74,11 @@ module Glimmer
|
|
|
73
74
|
self
|
|
74
75
|
end
|
|
75
76
|
|
|
77
|
+
def params(params_hash)
|
|
78
|
+
@params = @params.merge(params_hash)
|
|
79
|
+
self
|
|
80
|
+
end
|
|
81
|
+
|
|
76
82
|
def query(value)
|
|
77
83
|
return self if value.nil?
|
|
78
84
|
|
|
@@ -100,14 +106,14 @@ module Glimmer
|
|
|
100
106
|
def to_url
|
|
101
107
|
output = "#{@scheme}://#{@host}"
|
|
102
108
|
output += ":#{@port}" if @port
|
|
103
|
-
output += "#{@path}#{compute_query}#{@fragment}"
|
|
109
|
+
output += "#{@path&.strip}#{compute_query}#{@fragment&.strip}"
|
|
104
110
|
output
|
|
105
111
|
end
|
|
106
112
|
alias to_s to_url
|
|
107
113
|
alias build to_url
|
|
108
114
|
|
|
109
115
|
def compute_query
|
|
110
|
-
computed_query = @params.map { |name, value| "#{name}=#{value}" }.join('&')
|
|
116
|
+
computed_query = @params.reject { |name, value| value.nil? || value.to_s.empty? }.map { |name, value| "#{name}=#{value}" }.join('&')
|
|
111
117
|
computed_query = "?#{computed_query}" unless computed_query.empty?
|
|
112
118
|
computed_query
|
|
113
119
|
end
|
|
@@ -16,6 +16,8 @@ module Rails
|
|
|
16
16
|
HTTP.get(index_resource_url, payload: index_show_destroy_resource_params(params: params.to_h)) do |response|
|
|
17
17
|
if response.ok? && !resource_class.nil?
|
|
18
18
|
resource_response_objects = Native(response.body)
|
|
19
|
+
# TODO consider having index not make the assumpion that resource_response_objects is an array in case it isn't
|
|
20
|
+
# when including pagination information (maybe test if it is an array first)
|
|
19
21
|
resources = resource_response_objects.map { |resource_response_object| build_resource_from_response_object(resource_class:, resource_response_object:) }
|
|
20
22
|
end
|
|
21
23
|
response_handler.call(response, resources)
|
|
@@ -111,6 +113,8 @@ module Rails
|
|
|
111
113
|
resource_response_object.each { |attribute, value| resource.send("#{attribute}=", value) rescue nil }
|
|
112
114
|
resource
|
|
113
115
|
end
|
|
116
|
+
|
|
117
|
+
# TODO consider offering generic Rails::ResourceService.get, Rails::ResourceService.put, Rails::ResourceService.post, Rails::ResourceService.patch, Rails::ResourceService.delete methods
|
|
114
118
|
end
|
|
115
119
|
end
|
|
116
120
|
end
|
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: glimmer-dsl-web
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.8.
|
|
4
|
+
version: 0.8.8
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andy Maleh
|
|
@@ -15,14 +15,14 @@ dependencies:
|
|
|
15
15
|
requirements:
|
|
16
16
|
- - "~>"
|
|
17
17
|
- !ruby/object:Gem::Version
|
|
18
|
-
version: 2.8.
|
|
18
|
+
version: 2.8.2
|
|
19
19
|
type: :runtime
|
|
20
20
|
prerelease: false
|
|
21
21
|
version_requirements: !ruby/object:Gem::Requirement
|
|
22
22
|
requirements:
|
|
23
23
|
- - "~>"
|
|
24
24
|
- !ruby/object:Gem::Version
|
|
25
|
-
version: 2.8.
|
|
25
|
+
version: 2.8.2
|
|
26
26
|
- !ruby/object:Gem::Dependency
|
|
27
27
|
name: glimmer-dsl-xml
|
|
28
28
|
requirement: !ruby/object:Gem::Requirement
|