ruby-exclaim 0.1.0 → 0.1.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/.circleci/config.yml +8 -6
- data/.github/CODEOWNERS +1 -0
- data/CHANGELOG.md +4 -0
- data/README.md +3 -5
- data/lib/exclaim/bind.rb +18 -6
- data/lib/exclaim/implementations/example_implementation_map.rb +2 -3
- data/lib/exclaim/version.rb +1 -1
- data/ruby-exclaim.gemspec +1 -1
- metadata +8 -7
- data/.github/workflows/release.yml +0 -29
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 1c108c1900809559c4fbcd3b1488636b56190630bba66f5cdcaf620170c8d8e2
|
4
|
+
data.tar.gz: 61ec43e7d945f0e474bcd8778edc0c2b3119f3afcceaa30549f601f936c2bac0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 470364f3b893180ece919ab1ab315ad12315d6a6673e6cb98f42ac03f836caadf6a50431af5dd2046bf527ce2f42ff62129f9462ecd3a51b3d6ec5f7dccb67a2
|
7
|
+
data.tar.gz: e12ff894c269e62ff479ad1c31f404a5da049a2273d290ac2f132585731b9bc2167c0893e74a18c9ebad11619b9925790c8991de2546ed78a1e95ac0e03eb5b4
|
data/.circleci/config.yml
CHANGED
@@ -1,4 +1,5 @@
|
|
1
1
|
version: 2.1
|
2
|
+
|
2
3
|
workflows:
|
3
4
|
version: 2
|
4
5
|
ruby-exclaim:
|
@@ -8,18 +9,19 @@ workflows:
|
|
8
9
|
jobs:
|
9
10
|
build:
|
10
11
|
docker:
|
11
|
-
- image:
|
12
|
+
- image: $SALSIFY_ECR_REPO/ruby_ci:3.3.5
|
13
|
+
aws_auth:
|
14
|
+
aws_access_key_id: $ECR_AWS_ACCESS_KEY_ID
|
15
|
+
aws_secret_access_key: $ECR_AWS_SECRET_ACCESS_KEY
|
12
16
|
environment:
|
13
|
-
RACK_ENV: "test"
|
14
|
-
RAILS_ENV: "test"
|
15
17
|
CIRCLE_TEST_REPORTS: "test-results"
|
16
18
|
working_directory: ~/ruby-exclaim
|
17
19
|
steps:
|
18
20
|
- checkout
|
19
21
|
- restore_cache:
|
20
22
|
keys:
|
21
|
-
- v1-gems-ruby-
|
22
|
-
- v1-gems-ruby-
|
23
|
+
- v1-gems-ruby-3.3.5-{{ checksum "ruby-exclaim.gemspec" }}-{{ checksum "Gemfile" }}
|
24
|
+
- v1-gems-ruby-3.3.5-
|
23
25
|
- run:
|
24
26
|
name: Install Gems
|
25
27
|
command: |
|
@@ -28,7 +30,7 @@ jobs:
|
|
28
30
|
bundle clean
|
29
31
|
fi
|
30
32
|
- save_cache:
|
31
|
-
key: v1-gems-ruby-
|
33
|
+
key: v1-gems-ruby-3.3.5-{{ checksum "ruby-exclaim.gemspec" }}-{{ checksum "Gemfile" }}
|
32
34
|
paths:
|
33
35
|
- "vendor/bundle"
|
34
36
|
- "gemfiles/vendor/bundle"
|
data/.github/CODEOWNERS
ADDED
@@ -0,0 +1 @@
|
|
1
|
+
* @skarger
|
data/CHANGELOG.md
CHANGED
@@ -6,6 +6,10 @@ The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
|
6
6
|
|
7
7
|
## Unreleased
|
8
8
|
|
9
|
+
## 0.1.1 - 2024-11-18
|
10
|
+
### Fixed
|
11
|
+
- Fix various issues related to path segments that appear to be numbers.
|
12
|
+
|
9
13
|
## 0.1.0 - 2021-05-06
|
10
14
|
### Added
|
11
15
|
- Ability to disable all HTML escaping by setting the `should_escape_html` flag to `false` when instantiating
|
data/README.md
CHANGED
@@ -220,10 +220,8 @@ exclaim_ui.render(env: my_environment)
|
|
220
220
|
|
221
221
|
Dot-separated `$bind` paths dig into nested `env` values: `a.b.c` refers to `{ "a" => { "b" => { "c" => "value" } } }`
|
222
222
|
|
223
|
-
If a `$bind`
|
224
|
-
|
225
|
-
|
226
|
-
`"my_array.1"` refers to array index 1 in an `env` like `{ "my_array: ["zero", "one", ...] }`
|
223
|
+
If the field a `$bind` subpath refers is an Array, the next segment is assumed to be an integer. For example,
|
224
|
+
`"my_array.1"` refers to array index 1, value "zero" in an `env` like `{ "my_array: ["zero", "one", ...] }`.
|
227
225
|
|
228
226
|
### Implementing Components and Helpers
|
229
227
|
|
@@ -800,7 +798,7 @@ After checking out the repo, run `bin/setup` to install dependencies. Then,
|
|
800
798
|
run `rake spec` to run the tests. You can also run `bin/console` for an
|
801
799
|
interactive prompt that will allow you to experiment.
|
802
800
|
|
803
|
-
To install this gem onto your local machine, run `bundle exec rake install`.
|
801
|
+
To install this gem onto your local machine, run `bundle exec rake install`.
|
804
802
|
|
805
803
|
To release a new version, update the version number in `version.rb`. When merged
|
806
804
|
to the default branch, [a GitHub action](.github/workflows/release.yml) will
|
data/lib/exclaim/bind.rb
CHANGED
@@ -14,15 +14,27 @@ module Exclaim
|
|
14
14
|
def path=(value)
|
15
15
|
@path = value
|
16
16
|
@path_keys = @path.split('.')
|
17
|
-
@path_keys_for_arrays = @path_keys.map do |string|
|
18
|
-
Integer(string)
|
19
|
-
rescue ArgumentError, TypeError
|
20
|
-
string
|
21
|
-
end
|
22
17
|
end
|
23
18
|
|
24
19
|
def evaluate(env)
|
25
|
-
|
20
|
+
obj = env
|
21
|
+
|
22
|
+
@path_keys.each do |key|
|
23
|
+
return nil if !obj.is_a?(Hash) && !obj.is_a?(Array)
|
24
|
+
|
25
|
+
if obj.is_a?(Array)
|
26
|
+
key = begin
|
27
|
+
Integer(key)
|
28
|
+
rescue ArgumentError, TypeError
|
29
|
+
return nil
|
30
|
+
end
|
31
|
+
end
|
32
|
+
|
33
|
+
obj = obj[key]
|
34
|
+
return nil if obj.nil?
|
35
|
+
end
|
36
|
+
|
37
|
+
obj
|
26
38
|
end
|
27
39
|
end
|
28
40
|
end
|
@@ -14,8 +14,7 @@ module Exclaim
|
|
14
14
|
extend self
|
15
15
|
|
16
16
|
def example_implementation_map
|
17
|
-
@example_implementation_map ||=
|
18
|
-
{
|
17
|
+
@example_implementation_map ||= {
|
19
18
|
'each' => EACH_COMPONENT,
|
20
19
|
'image' => IMAGE_COMPONENT,
|
21
20
|
'if' => IF_HELPER,
|
@@ -25,7 +24,7 @@ module Exclaim
|
|
25
24
|
'text' => TEXT_COMPONENT,
|
26
25
|
'vbox' => VBOX_COMPONENT
|
27
26
|
}
|
28
|
-
|
27
|
+
|
29
28
|
end
|
30
29
|
end
|
31
30
|
end
|
data/lib/exclaim/version.rb
CHANGED
data/ruby-exclaim.gemspec
CHANGED
@@ -20,7 +20,7 @@ Gem::Specification.new do |spec|
|
|
20
20
|
# Set 'allowed_push_post' to control where this gem can be published.
|
21
21
|
if spec.respond_to?(:metadata)
|
22
22
|
spec.metadata['allowed_push_host'] = 'https://rubygems.org'
|
23
|
-
|
23
|
+
spec.metadata['rubygems_mfa_required'] = 'true'
|
24
24
|
else
|
25
25
|
raise 'RubyGems 2.0 or newer is required to protect against public gem pushes.'
|
26
26
|
end
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ruby-exclaim
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Salsify, Inc
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2024-11-19 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: bundler
|
@@ -104,7 +104,7 @@ extensions: []
|
|
104
104
|
extra_rdoc_files: []
|
105
105
|
files:
|
106
106
|
- ".circleci/config.yml"
|
107
|
-
- ".github/
|
107
|
+
- ".github/CODEOWNERS"
|
108
108
|
- ".gitignore"
|
109
109
|
- ".overcommit.yml"
|
110
110
|
- ".rspec"
|
@@ -144,7 +144,8 @@ licenses:
|
|
144
144
|
- MIT
|
145
145
|
metadata:
|
146
146
|
allowed_push_host: https://rubygems.org
|
147
|
-
|
147
|
+
rubygems_mfa_required: 'true'
|
148
|
+
post_install_message:
|
148
149
|
rdoc_options: []
|
149
150
|
require_paths:
|
150
151
|
- lib
|
@@ -159,8 +160,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
159
160
|
- !ruby/object:Gem::Version
|
160
161
|
version: '0'
|
161
162
|
requirements: []
|
162
|
-
rubygems_version: 3.
|
163
|
-
signing_key:
|
163
|
+
rubygems_version: 3.3.26
|
164
|
+
signing_key:
|
164
165
|
specification_version: 4
|
165
166
|
summary: Ruby utilities for Exclaim UIs
|
166
167
|
test_files: []
|
@@ -1,29 +0,0 @@
|
|
1
|
-
name: Release
|
2
|
-
|
3
|
-
on:
|
4
|
-
check_suite:
|
5
|
-
types: [completed]
|
6
|
-
|
7
|
-
jobs:
|
8
|
-
release:
|
9
|
-
name: Check and Release New Version
|
10
|
-
runs-on: ubuntu-latest
|
11
|
-
# `github.ref` from the `check_suite` trigger is always the default branch
|
12
|
-
if: format('refs/heads/{0}', github.event.check_suite.head_branch) == github.ref && github.event.check_suite.conclusion == 'success'
|
13
|
-
steps:
|
14
|
-
- name: Checkout Code
|
15
|
-
uses: actions/checkout@v2
|
16
|
-
with:
|
17
|
-
fetch-depth: 2
|
18
|
-
|
19
|
-
- name: Setup Ruby
|
20
|
-
uses: actions/setup-ruby@v1
|
21
|
-
with:
|
22
|
-
ruby-version: 2.6
|
23
|
-
|
24
|
-
- name: Release Gem
|
25
|
-
id: release-gem
|
26
|
-
uses: salsify/action-release-gem@v1.1.0
|
27
|
-
env:
|
28
|
-
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
29
|
-
RUBYGEMS_API_KEY: ${{ secrets.RUBYGEMS_API_KEY }}
|