ilex 0.1.8 → 0.1.9

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: 0270cc4a6ad17198cccaa8dfe059fc68a8acb05d9d690ac54d2b4590bed94e16
4
- data.tar.gz: faa95ab242ab07977737971bb7b98c76afbf5b3a7f5450c919716a92fcdc393c
3
+ metadata.gz: 52dca54a1d2d71e2ef66b74507d0ac0e6d72c68ade1c7993cfd524564869636a
4
+ data.tar.gz: 765e2c30ac981634ea6fcb4b07f484ef6fecdf9cb99947ccb783d816e5787e74
5
5
  SHA512:
6
- metadata.gz: 7730bd1a0fd1552619a659347437fc206ca393c57859ff85e3270002274d9619005a2c97f813e591b29fd0488cc89d1a4b9802c1332a795baea90d272da0f2dd
7
- data.tar.gz: 7b8dfb00406cb0916000945feb3c0df9188f6d4c941777e64bde12a16ecdbcf19524913bdad2ec382c254677a9be67e8a735251aaa1af08b35c802717273efb2
6
+ metadata.gz: 55d1bbc9f3153568d3d13e03fd4c11a7aef6450bdd30c16065ef1a0e6e95967158418817d8fe2bed8a5975fef03c4b4eee1a9e8908882b5cbba7f72f615a4e89
7
+ data.tar.gz: 29074aba634643602d17ab0a3f4a7841711fa525fd33836dbf3c1c8fcd2eae7f4e5985ba25c9df692fc71043715a5c2f70f38a498dfecd32a6d325a8a3c0bd5c
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.9](https://github.com/joshleblanc/ilex/compare/v0.1.8...v0.1.9) (2021-07-24)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * when block returns an arbre element, render context ([e3eda72](https://github.com/joshleblanc/ilex/commit/e3eda728fd30bcb15ebb3f5234229b644bbcf59a))
11
+
5
12
  ### [0.1.8](https://github.com/joshleblanc/ilex/compare/v0.1.7...v0.1.8) (2021-06-16)
6
13
 
7
14
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- ilex (0.1.8)
4
+ ilex (0.1.9)
5
5
  arbre
6
6
  rails (>= 5.2, < 7.0)
7
7
 
@@ -142,7 +142,7 @@ GEM
142
142
  rubocop-ast (1.4.1)
143
143
  parser (>= 2.7.1.5)
144
144
  ruby-progressbar (1.11.0)
145
- ruby2_keywords (0.0.4)
145
+ ruby2_keywords (0.0.5)
146
146
  sprockets (4.0.2)
147
147
  concurrent-ruby (~> 1.0)
148
148
  rack (> 1, < 3)
@@ -21,8 +21,8 @@ module Ilex
21
21
 
22
22
  def render(*args, &blk)
23
23
  define_method :call do
24
- ctx = Context.new(self)
25
- ctx.instance_eval(&blk).to_s
24
+ @ctx = Context.new(self)
25
+ @ctx.instance_eval(&blk).html_safe
26
26
  end
27
27
  end
28
28
 
@@ -42,7 +42,6 @@ module Ilex
42
42
  adjusted_name = name.chomp("Component").underscore
43
43
  raise(NameError, "undefined local variable or method `#{adjusted_name}` for #{self}")
44
44
  end
45
-
46
45
  end
47
46
  end
48
47
  end
data/lib/ilex/context.rb CHANGED
@@ -28,28 +28,8 @@ module Ilex
28
28
  @component_wardens ||= ComponentWardens.new(@component)
29
29
  end
30
30
 
31
- # This is overriding arbre::rails::rendering
32
- # It performs the same actions, but returns html_safe on a passed block
33
- #
34
- # Not 100% sure this is needed, but view_components won't render their
35
- # contents without it, when rendered in an arbre tree
36
- def render(*args)
37
- rendered = helpers.render(*args) do
38
- if block_given?
39
- contents = yield
40
- if contents.is_a? Array
41
- contents.join.html_safe
42
- else
43
- contents.html_safe
44
- end
45
- end
46
- end
47
- case rendered
48
- when Arbre::Context
49
- current_arbre_element.add_child rendered
50
- else
51
- text_node rendered
52
- end
31
+ def render(*args, &blk)
32
+ helpers.render(*args, &blk)
53
33
  end
54
34
 
55
35
  def respond_to_missing?(method, include_all)
@@ -5,11 +5,18 @@ module Ilex
5
5
  def capture(*args)
6
6
  value = nil
7
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)
8
+
9
+ # if args.first&.respond_to? :ctx
10
+ # value = args.first.ctx.children.to_s
11
+ # end
12
+ # We're only capturing the last returned arbre element
13
+ # This uses that element to get the current context, and
14
+ # get the html for the whole tree
15
+ # We have to collect the children manually because
16
+ # `content` is overridden
17
+ if value.is_a? Arbre::Element
18
+ value = value.arbre_context.children.to_s
19
+ end
13
20
 
14
21
  if (string = buffer.presence || value) && string.is_a?(String)
15
22
  ERB::Util.html_escape string
data/lib/ilex/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Ilex
4
- VERSION = "0.1.8"
4
+ VERSION = "0.1.9"
5
5
  end
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.8
4
+ version: 0.1.9
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-06-16 00:00:00.000000000 Z
11
+ date: 2021-07-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: arbre