ilex 0.1.5 → 0.1.6
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/.versionrc.json +1 -1
- data/CHANGELOG.md +7 -0
- data/Gemfile.lock +2 -1
- data/cedar.gemspec +1 -0
- data/lib/ilex.rb +4 -0
- data/lib/ilex/arbre_ext/element.rb +27 -0
- data/lib/ilex/engine.rb +9 -0
- data/lib/ilex/rails_ext/action_view/base.rb +21 -0
- data/lib/ilex/version.rb +1 -1
- metadata +25 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4f98672db74bb9e94ee80eb636e5878900d5a348fd4879633d5e44dcbc289053
|
4
|
+
data.tar.gz: 6cccb6d5f4a506995fe4549f249ba0cd5150d8e3b26955985f1a5b25d9d4b359
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 97243cd6826be3e81e93dd847adcbc50a36045865bc67c325524a4945dc7690479a9a15037b061edfd7b2c18c377ebda444d80a44b009a8afca2c2b78a022d81
|
7
|
+
data.tar.gz: db12e3bb02e3e7277bbf2a15e40839616b64b283733fe9ba1cf17bf28029383ca9b2c246aaa7eef2ddaa56a1cd5f0c1009605d040853133416e3d64732f92a87
|
data/.versionrc.json
CHANGED
data/CHANGELOG.md
CHANGED
@@ -2,6 +2,13 @@
|
|
2
2
|
|
3
3
|
All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
|
4
4
|
|
5
|
+
### [0.1.6](https://github.com/joshleblanc/cedar/compare/v0.1.5...v0.1.6) (2021-04-18)
|
6
|
+
|
7
|
+
|
8
|
+
### Bug Fixes
|
9
|
+
|
10
|
+
* allow rendering form helpers with blocks ([9a24ed7](https://github.com/joshleblanc/cedar/commit/9a24ed7388c60f7a7ed4398dc4871974302c87f3)), closes [activeadmin/arbre#64](https://github.com/activeadmin/arbre/issues/64)
|
11
|
+
|
5
12
|
### [0.1.5](https://github.com/joshleblanc/cedar/compare/v0.1.4...v0.1.5) (2021-04-17)
|
6
13
|
|
7
14
|
|
data/Gemfile.lock
CHANGED
data/cedar.gemspec
CHANGED
@@ -32,6 +32,7 @@ Gem::Specification.new do |spec|
|
|
32
32
|
# Uncomment to register a new dependency of your gem
|
33
33
|
# spec.add_dependency "example-gem", "~> 1.0"
|
34
34
|
spec.add_dependency "arbre"
|
35
|
+
spec.add_dependency "rails", [">= 5.2", "< 7.0"]
|
35
36
|
|
36
37
|
# For more information and examples about making a new gem, checkout our
|
37
38
|
# guide at: https://bundler.io/guides/creating_gem.html
|
data/lib/ilex.rb
CHANGED
@@ -6,8 +6,12 @@ require_relative "ilex/component_warden"
|
|
6
6
|
require_relative "ilex/component_wardens"
|
7
7
|
require_relative "ilex/context"
|
8
8
|
require_relative "ilex/component"
|
9
|
+
require_relative "ilex/arbre_ext/element"
|
10
|
+
require_relative "ilex/rails_ext/action_view/base"
|
11
|
+
require_relative "ilex/engine"
|
9
12
|
|
10
13
|
module Ilex
|
11
14
|
class Error < StandardError; end
|
12
15
|
# Your code goes here...
|
13
16
|
end
|
17
|
+
|
@@ -0,0 +1,27 @@
|
|
1
|
+
module Ilex
|
2
|
+
module ArbreExt
|
3
|
+
module Element
|
4
|
+
ruby2_keywords def method_missing(name, *args, &block)
|
5
|
+
if current_arbre_element.respond_to?(name)
|
6
|
+
current_arbre_element.send name, *args, &block
|
7
|
+
elsif assigns && assigns.has_key?(name)
|
8
|
+
assigns[name]
|
9
|
+
elsif helpers.respond_to?(name)
|
10
|
+
helper_capture(name, *args, &block)
|
11
|
+
else
|
12
|
+
super
|
13
|
+
end
|
14
|
+
end
|
15
|
+
|
16
|
+
# The helper might have a block that builds Arbre elements
|
17
|
+
# which will be rendered (#to_s) inside ActionView::Base#capture.
|
18
|
+
# We do not want such elements added to self, so we push a dummy
|
19
|
+
# current_arbre_element.
|
20
|
+
def helper_capture(name, *args, &block)
|
21
|
+
s = ""
|
22
|
+
within(Element.new) { s = helpers.send(name, *args, &block) }
|
23
|
+
s.is_a?(Element) ? s.to_s : s
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
data/lib/ilex/engine.rb
ADDED
@@ -0,0 +1,21 @@
|
|
1
|
+
module Ilex
|
2
|
+
module RailsExt
|
3
|
+
module ActionView
|
4
|
+
module Base
|
5
|
+
def capture(*args)
|
6
|
+
value = nil
|
7
|
+
buffer = with_output_buffer { value = yield(*args) }
|
8
|
+
|
9
|
+
# Override to handle Arbre elements inside helper blocks.
|
10
|
+
# See https://github.com/rails/rails/issues/17661
|
11
|
+
# and https://github.com/rails/rails/pull/18024#commitcomment-8975180
|
12
|
+
value = value.to_s if value.is_a?(Arbre::Element)
|
13
|
+
|
14
|
+
if (string = buffer.presence || value) && string.is_a?(String)
|
15
|
+
ERB::Util.html_escape string
|
16
|
+
end
|
17
|
+
end
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/ilex/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: ilex
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Joshua LeBlanc
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2021-04-
|
11
|
+
date: 2021-04-18 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: arbre
|
@@ -24,6 +24,26 @@ dependencies:
|
|
24
24
|
- - ">="
|
25
25
|
- !ruby/object:Gem::Version
|
26
26
|
version: '0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rails
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '5.2'
|
34
|
+
- - "<"
|
35
|
+
- !ruby/object:Gem::Version
|
36
|
+
version: '7.0'
|
37
|
+
type: :runtime
|
38
|
+
prerelease: false
|
39
|
+
version_requirements: !ruby/object:Gem::Requirement
|
40
|
+
requirements:
|
41
|
+
- - ">="
|
42
|
+
- !ruby/object:Gem::Version
|
43
|
+
version: '5.2'
|
44
|
+
- - "<"
|
45
|
+
- !ruby/object:Gem::Version
|
46
|
+
version: '7.0'
|
27
47
|
description: Extends view components to allow rendering inline arbre templates
|
28
48
|
email:
|
29
49
|
- jleblanc@hey.com
|
@@ -46,10 +66,13 @@ files:
|
|
46
66
|
- bin/setup
|
47
67
|
- cedar.gemspec
|
48
68
|
- lib/ilex.rb
|
69
|
+
- lib/ilex/arbre_ext/element.rb
|
49
70
|
- lib/ilex/component.rb
|
50
71
|
- lib/ilex/component_warden.rb
|
51
72
|
- lib/ilex/component_wardens.rb
|
52
73
|
- lib/ilex/context.rb
|
74
|
+
- lib/ilex/engine.rb
|
75
|
+
- lib/ilex/rails_ext/action_view/base.rb
|
53
76
|
- lib/ilex/version.rb
|
54
77
|
homepage: https://github.com/joshleblanc/ilex
|
55
78
|
licenses:
|