debride-erb 1.0.1 → 1.0.2
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 +5 -5
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +10 -1
- data/Manifest.txt +1 -0
- data/Rakefile +1 -1
- data/lib/debride_erb.rb +57 -13
- data/test/block.erb +5 -0
- data/test/file.erb +1 -1
- data/test/test_debride_erb.rb +21 -2
- data.tar.gz.sig +0 -0
- metadata +41 -49
- metadata.gz.sig +0 -0
- data/.gemtest +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
|
-
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
2
|
+
SHA256:
|
3
|
+
metadata.gz: 81c551fc516b4b0008e5ad8baa6fbbe97d82eefb884ffeea51cba53b1d6cb51f
|
4
|
+
data.tar.gz: 5f84aabef77af827bacb91b2f420a62db4909dacfb840ad9377b9458a6e945ad
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 296e8b21a2b7ada3f91435b2d93c9a173f1ae3037fd55b76d99620798a177e21affd2bcbcf2bed02456bc5146c89873209768ba7e7743a6535401bd20266a4ed
|
7
|
+
data.tar.gz: c449998879e46d947fd1df7a285aed79e43533d8a3d53f9317ef5a569123e6c6a04d08ffa0bc179db043aabaeb299f33d9f1f4877bcaaca3087d29a83faffacd
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
@@ -1,3 +1,13 @@
|
|
1
|
+
=== 1.0.2 / 2023-05-02
|
2
|
+
|
3
|
+
* 1 major enhancement:
|
4
|
+
|
5
|
+
* Switched from erubis to to erubi.
|
6
|
+
|
7
|
+
* 1 minor enhancement:
|
8
|
+
|
9
|
+
* Brought in action_view hacks to enable block calls w/ <%= forms.
|
10
|
+
|
1
11
|
=== 1.0.1 / 2015-04-13
|
2
12
|
|
3
13
|
* 1 bug fix:
|
@@ -9,4 +19,3 @@
|
|
9
19
|
* 1 major enhancement
|
10
20
|
|
11
21
|
* Birthday!
|
12
|
-
|
data/Manifest.txt
CHANGED
data/Rakefile
CHANGED
data/lib/debride_erb.rb
CHANGED
@@ -2,11 +2,11 @@
|
|
2
2
|
|
3
3
|
require "debride"
|
4
4
|
require "erb"
|
5
|
-
require "
|
5
|
+
require "erubi"
|
6
6
|
|
7
7
|
class Debride
|
8
8
|
module Erb
|
9
|
-
VERSION = "1.0.
|
9
|
+
VERSION = "1.0.2"
|
10
10
|
end
|
11
11
|
|
12
12
|
##
|
@@ -16,7 +16,7 @@ class Debride
|
|
16
16
|
def process_erb file
|
17
17
|
erb = File.read file
|
18
18
|
|
19
|
-
ruby =
|
19
|
+
ruby = Erubi.new(erb).src
|
20
20
|
|
21
21
|
begin
|
22
22
|
RubyParser.new.process ruby, file
|
@@ -26,22 +26,66 @@ class Debride
|
|
26
26
|
end
|
27
27
|
end
|
28
28
|
|
29
|
-
|
30
|
-
|
29
|
+
# stolen (and munged) from lib/action_view/template/handlers/erb/erubi.rb
|
30
|
+
class Erubi < ::Erubi::Engine
|
31
|
+
# :nodoc: all
|
32
|
+
def initialize(input, properties = {})
|
33
|
+
@newline_pending = 0
|
31
34
|
|
32
|
-
|
33
|
-
|
34
|
-
|
35
|
+
properties[:postamble] = "_buf.to_s"
|
36
|
+
properties[:bufvar] = "_buf"
|
37
|
+
properties[:freeze_template_literals] = false
|
38
|
+
|
39
|
+
super
|
40
|
+
end
|
41
|
+
|
42
|
+
def add_text(text)
|
43
|
+
return if text.empty?
|
44
|
+
|
45
|
+
if text == "\n"
|
46
|
+
@newline_pending += 1
|
35
47
|
else
|
36
|
-
src <<
|
48
|
+
src << "_buf.safe_append='"
|
49
|
+
src << "\n" * @newline_pending if @newline_pending > 0
|
50
|
+
src << text.gsub(/['\\]/, '\\\\\&')
|
51
|
+
src << "';"
|
52
|
+
|
53
|
+
@newline_pending = 0
|
37
54
|
end
|
38
55
|
end
|
39
56
|
|
40
|
-
|
41
|
-
|
42
|
-
|
57
|
+
BLOCK_EXPR = /\s*((\s+|\))do|\{)(\s*\|[^|]*\|)?\s*\Z/
|
58
|
+
|
59
|
+
def add_expression(indicator, code)
|
60
|
+
flush_newline_if_pending(src)
|
61
|
+
|
62
|
+
if (indicator == "==") || @escape
|
63
|
+
src << "_buf.safe_expr_append="
|
43
64
|
else
|
44
|
-
src << "
|
65
|
+
src << "_buf.append="
|
66
|
+
end
|
67
|
+
|
68
|
+
if BLOCK_EXPR.match?(code)
|
69
|
+
src << " " << code
|
70
|
+
else
|
71
|
+
src << "(" << code << ");"
|
72
|
+
end
|
73
|
+
end
|
74
|
+
|
75
|
+
def add_code(code)
|
76
|
+
flush_newline_if_pending(src)
|
77
|
+
super
|
78
|
+
end
|
79
|
+
|
80
|
+
def add_postamble(_)
|
81
|
+
flush_newline_if_pending(src)
|
82
|
+
super
|
83
|
+
end
|
84
|
+
|
85
|
+
def flush_newline_if_pending(src)
|
86
|
+
if @newline_pending > 0
|
87
|
+
src << "_buf.safe_append='#{"\n" * @newline_pending}';"
|
88
|
+
@newline_pending = 0
|
45
89
|
end
|
46
90
|
end
|
47
91
|
end
|
data/test/block.erb
ADDED
data/test/file.erb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
woot
|
1
|
+
woot <%= 42 %>
|
data/test/test_debride_erb.rb
CHANGED
@@ -4,12 +4,31 @@ require "debride_erb"
|
|
4
4
|
module TestDebride; end
|
5
5
|
|
6
6
|
class TestDebride::TestErb < Minitest::Test
|
7
|
+
make_my_diffs_pretty!
|
8
|
+
|
7
9
|
def test_process_erb
|
8
10
|
sexp = Debride.new.process_erb "test/file.erb"
|
9
11
|
|
10
12
|
exp = s(:block,
|
11
|
-
s(:lasgn, :_buf, s(:
|
12
|
-
s(:
|
13
|
+
s(:lasgn, :_buf, s(:call, s(:colon3, :String), :new)),
|
14
|
+
s(:attrasgn, s(:lvar, :_buf), :safe_append=, s(:str, "woot ")),
|
15
|
+
s(:attrasgn, s(:lvar, :_buf), :append=, s(:lit, 42)),
|
16
|
+
s(:attrasgn, s(:lvar, :_buf), :safe_append=, s(:str, "\n")),
|
17
|
+
s(:call, s(:lvar, :_buf), :to_s))
|
18
|
+
|
19
|
+
assert_equal exp, sexp
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_process_block
|
23
|
+
sexp = Debride.new.process_erb "test/block.erb"
|
24
|
+
|
25
|
+
exp = s(:block,
|
26
|
+
s(:lasgn, :_buf, s(:call, s(:colon3, :String), :new)),
|
27
|
+
s(:attrasgn, s(:lvar, :_buf), :append=,
|
28
|
+
s(:iter,
|
29
|
+
s(:call, nil, :block_call, s(:lit, 1), s(:lit, 2)),
|
30
|
+
s(:args, :f),
|
31
|
+
s(:attrasgn, s(:lvar, :_buf), :safe_append=, s(:str, "\nwoot?\n")))),
|
13
32
|
s(:call, s(:lvar, :_buf), :to_s))
|
14
33
|
|
15
34
|
assert_equal exp, sexp
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,18 +1,18 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: debride-erb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.0.
|
4
|
+
version: 1.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
12
12
|
-----BEGIN CERTIFICATE-----
|
13
|
-
|
13
|
+
MIIDPjCCAiagAwIBAgIBBzANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
14
14
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
15
|
-
|
15
|
+
GRYDY29tMB4XDTIzMDEwMTA3NTExN1oXDTI0MDEwMTA3NTExN1owRTETMBEGA1UE
|
16
16
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
17
17
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
18
18
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
@@ -21,86 +21,78 @@ cert_chain:
|
|
21
21
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
24
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
+
AQAkg3y+PBnBAPWdxxITm5sPHqdWQgSyCpRA20o4LTuWr8BWhSXBkfQNa7cY6fOn
|
26
|
+
xyM34VPzBFbExv6XOGDfOMFBVaYTHuN9peC/5/umL7kLl+nflXzL2QA7K6LYj5Bg
|
27
|
+
sM574Onr0dZDM6Vn69bzQ7rBIFDfK/OhlPzqKZad4nsdcsVH8ODCiT+ATMIZyz5K
|
28
|
+
WCnNtqlyiWXI8tdTpahDgcUwfcN/oN7v4K8iU5IbLJX6HQ5DKgmKjfb6XyMth16k
|
29
|
+
ROfWo9Uyp8ba/j9eVG14KkYRaLydAY1MNQk2yd3R5CGfeOpD1kttxjoypoUJ2dOG
|
30
|
+
nsNBRuQJ1UfiCG97a6DNm+Fr
|
31
31
|
-----END CERTIFICATE-----
|
32
|
-
date:
|
32
|
+
date: 2023-05-02 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: debride
|
36
36
|
requirement: !ruby/object:Gem::Requirement
|
37
37
|
requirements:
|
38
|
-
- - ~>
|
38
|
+
- - "~>"
|
39
39
|
- !ruby/object:Gem::Version
|
40
40
|
version: '1.2'
|
41
41
|
type: :runtime
|
42
42
|
prerelease: false
|
43
43
|
version_requirements: !ruby/object:Gem::Requirement
|
44
44
|
requirements:
|
45
|
-
- - ~>
|
45
|
+
- - "~>"
|
46
46
|
- !ruby/object:Gem::Version
|
47
47
|
version: '1.2'
|
48
48
|
- !ruby/object:Gem::Dependency
|
49
|
-
name:
|
49
|
+
name: erubi
|
50
50
|
requirement: !ruby/object:Gem::Requirement
|
51
51
|
requirements:
|
52
|
-
- - ~>
|
52
|
+
- - "~>"
|
53
53
|
- !ruby/object:Gem::Version
|
54
|
-
version:
|
54
|
+
version: '1.10'
|
55
55
|
type: :runtime
|
56
56
|
prerelease: false
|
57
57
|
version_requirements: !ruby/object:Gem::Requirement
|
58
58
|
requirements:
|
59
|
-
- - ~>
|
59
|
+
- - "~>"
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version:
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: minitest
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
requirements:
|
66
|
-
- - ~>
|
67
|
-
- !ruby/object:Gem::Version
|
68
|
-
version: '5.6'
|
69
|
-
type: :development
|
70
|
-
prerelease: false
|
71
|
-
version_requirements: !ruby/object:Gem::Requirement
|
72
|
-
requirements:
|
73
|
-
- - ~>
|
74
|
-
- !ruby/object:Gem::Version
|
75
|
-
version: '5.6'
|
61
|
+
version: '1.10'
|
76
62
|
- !ruby/object:Gem::Dependency
|
77
63
|
name: rdoc
|
78
64
|
requirement: !ruby/object:Gem::Requirement
|
79
65
|
requirements:
|
80
|
-
- -
|
66
|
+
- - ">="
|
81
67
|
- !ruby/object:Gem::Version
|
82
68
|
version: '4.0'
|
69
|
+
- - "<"
|
70
|
+
- !ruby/object:Gem::Version
|
71
|
+
version: '7'
|
83
72
|
type: :development
|
84
73
|
prerelease: false
|
85
74
|
version_requirements: !ruby/object:Gem::Requirement
|
86
75
|
requirements:
|
87
|
-
- -
|
76
|
+
- - ">="
|
88
77
|
- !ruby/object:Gem::Version
|
89
78
|
version: '4.0'
|
79
|
+
- - "<"
|
80
|
+
- !ruby/object:Gem::Version
|
81
|
+
version: '7'
|
90
82
|
- !ruby/object:Gem::Dependency
|
91
83
|
name: hoe
|
92
84
|
requirement: !ruby/object:Gem::Requirement
|
93
85
|
requirements:
|
94
|
-
- - ~>
|
86
|
+
- - "~>"
|
95
87
|
- !ruby/object:Gem::Version
|
96
|
-
version: '
|
88
|
+
version: '4.0'
|
97
89
|
type: :development
|
98
90
|
prerelease: false
|
99
91
|
version_requirements: !ruby/object:Gem::Requirement
|
100
92
|
requirements:
|
101
|
-
- - ~>
|
93
|
+
- - "~>"
|
102
94
|
- !ruby/object:Gem::Version
|
103
|
-
version: '
|
95
|
+
version: '4.0'
|
104
96
|
description: Extends debride to analyze erb files (erubis ala rails, actually).
|
105
97
|
email:
|
106
98
|
- ryand-ruby@zenspider.com
|
@@ -111,39 +103,39 @@ extra_rdoc_files:
|
|
111
103
|
- Manifest.txt
|
112
104
|
- README.rdoc
|
113
105
|
files:
|
114
|
-
- .autotest
|
115
|
-
- .gemtest
|
106
|
+
- ".autotest"
|
116
107
|
- History.rdoc
|
117
108
|
- Manifest.txt
|
118
109
|
- README.rdoc
|
119
110
|
- Rakefile
|
120
111
|
- lib/debride_erb.rb
|
112
|
+
- test/block.erb
|
121
113
|
- test/file.erb
|
122
114
|
- test/test_debride_erb.rb
|
123
115
|
homepage: https://github.com/seattlerb/debride-erb
|
124
116
|
licenses:
|
125
117
|
- MIT
|
126
|
-
metadata:
|
127
|
-
|
118
|
+
metadata:
|
119
|
+
homepage_uri: https://github.com/seattlerb/debride-erb
|
120
|
+
post_install_message:
|
128
121
|
rdoc_options:
|
129
|
-
- --main
|
122
|
+
- "--main"
|
130
123
|
- README.rdoc
|
131
124
|
require_paths:
|
132
125
|
- lib
|
133
126
|
required_ruby_version: !ruby/object:Gem::Requirement
|
134
127
|
requirements:
|
135
|
-
- -
|
128
|
+
- - ">="
|
136
129
|
- !ruby/object:Gem::Version
|
137
130
|
version: '0'
|
138
131
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
139
132
|
requirements:
|
140
|
-
- -
|
133
|
+
- - ">="
|
141
134
|
- !ruby/object:Gem::Version
|
142
135
|
version: '0'
|
143
136
|
requirements: []
|
144
|
-
|
145
|
-
|
146
|
-
signing_key:
|
137
|
+
rubygems_version: 3.4.10
|
138
|
+
signing_key:
|
147
139
|
specification_version: 4
|
148
140
|
summary: Extends debride to analyze erb files (erubis ala rails, actually).
|
149
141
|
test_files: []
|
metadata.gz.sig
CHANGED
Binary file
|
data/.gemtest
DELETED
File without changes
|