debride-erb 1.0.1 → 1.0.3
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 +1 -2
- data/History.rdoc +16 -1
- data/Manifest.txt +1 -0
- data/Rakefile +2 -2
- data/lib/debride_erb.rb +59 -14
- 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 +42 -53
- 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: dd46dfcb2de9b65eb7fc8876f27df42e3d5659f4fdebfeee430efe93764245e6
|
|
4
|
+
data.tar.gz: 42cbce854d62e7e920fa88ae1b001a31746e20ab126d263546eb98fac497fb55
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 79c18ef184f56d1588b6e6c903c7b8c8c92877087941a8d688b45e474658843d1b373bcc767a012389877b9efe826d4fd62b289c475ce9d11879ff6e67e44bbb
|
|
7
|
+
data.tar.gz: 63d073ff622d55bcb8a50c98a85b6b864edbafe077e2ba2f63c36fff68d82c78cf18e5011a3ef4717725ef57942e52fed401d52c6cd55827aafcdc2b74095565
|
checksums.yaml.gz.sig
CHANGED
|
@@ -1,2 +1 @@
|
|
|
1
|
-
|
|
2
|
-
K2�n9�J�#s�W�'�*懁�ς��(]A����ȇ\'BÛY�����+cJ1:�I�┊��I��^Q@@��>$eV��l@�/������φ���`��)��LSZ*f�X����6��O�3\B����.g�[��c�S��������
|
|
1
|
+
|�nn��x�����p��C�9
|
data/History.rdoc
CHANGED
|
@@ -1,3 +1,19 @@
|
|
|
1
|
+
=== 1.0.3 / 2026-01-26
|
|
2
|
+
|
|
3
|
+
* 1 bug fix:
|
|
4
|
+
|
|
5
|
+
* Bump debride dependency to pick up prism version.
|
|
6
|
+
|
|
7
|
+
=== 1.0.2 / 2023-05-02
|
|
8
|
+
|
|
9
|
+
* 1 major enhancement:
|
|
10
|
+
|
|
11
|
+
* Switched from erubis to to erubi.
|
|
12
|
+
|
|
13
|
+
* 1 minor enhancement:
|
|
14
|
+
|
|
15
|
+
* Brought in action_view hacks to enable block calls w/ <%= forms.
|
|
16
|
+
|
|
1
17
|
=== 1.0.1 / 2015-04-13
|
|
2
18
|
|
|
3
19
|
* 1 bug fix:
|
|
@@ -9,4 +25,3 @@
|
|
|
9
25
|
* 1 major enhancement
|
|
10
26
|
|
|
11
27
|
* 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.3"
|
|
10
10
|
end
|
|
11
11
|
|
|
12
12
|
##
|
|
@@ -16,32 +16,77 @@ 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
|
+
NotRubyParser.new.process ruby, file
|
|
23
23
|
rescue => e
|
|
24
24
|
warn ruby if option[:verbose]
|
|
25
25
|
raise e
|
|
26
26
|
end
|
|
27
27
|
end
|
|
28
28
|
|
|
29
|
-
|
|
30
|
-
|
|
29
|
+
# stolen (and munged) from lib/action_view/template/handlers/erb/erubi.rb
|
|
30
|
+
# this is also in the flay gem, update both!
|
|
31
|
+
class Erubi < ::Erubi::Engine
|
|
32
|
+
# :nodoc: all
|
|
33
|
+
def initialize(input, properties = {})
|
|
34
|
+
@newline_pending = 0
|
|
31
35
|
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
36
|
+
properties[:postamble] = "_buf.to_s"
|
|
37
|
+
properties[:bufvar] = "_buf"
|
|
38
|
+
properties[:freeze_template_literals] = false
|
|
39
|
+
|
|
40
|
+
super
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def add_text(text)
|
|
44
|
+
return if text.empty?
|
|
45
|
+
|
|
46
|
+
if text == "\n"
|
|
47
|
+
@newline_pending += 1
|
|
35
48
|
else
|
|
36
|
-
src <<
|
|
49
|
+
src << "_buf.safe_append='"
|
|
50
|
+
src << "\n" * @newline_pending if @newline_pending > 0
|
|
51
|
+
src << text.gsub(/['\\]/, '\\\\\&')
|
|
52
|
+
src << "';"
|
|
53
|
+
|
|
54
|
+
@newline_pending = 0
|
|
37
55
|
end
|
|
38
56
|
end
|
|
39
57
|
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
58
|
+
BLOCK_EXPR = /\s*((\s+|\))do|\{)(\s*\|[^|]*\|)?\s*\Z/
|
|
59
|
+
|
|
60
|
+
def add_expression(indicator, code)
|
|
61
|
+
flush_newline_if_pending(src)
|
|
62
|
+
|
|
63
|
+
if (indicator == "==") || @escape
|
|
64
|
+
src << "_buf.safe_expr_append="
|
|
43
65
|
else
|
|
44
|
-
src << "
|
|
66
|
+
src << "_buf.append="
|
|
67
|
+
end
|
|
68
|
+
|
|
69
|
+
if BLOCK_EXPR.match?(code)
|
|
70
|
+
src << " " << code
|
|
71
|
+
else
|
|
72
|
+
src << "(" << code << ");"
|
|
73
|
+
end
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
def add_code(code)
|
|
77
|
+
flush_newline_if_pending(src)
|
|
78
|
+
super
|
|
79
|
+
end
|
|
80
|
+
|
|
81
|
+
def add_postamble(_)
|
|
82
|
+
flush_newline_if_pending(src)
|
|
83
|
+
super
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
def flush_newline_if_pending(src)
|
|
87
|
+
if @newline_pending > 0
|
|
88
|
+
src << "_buf.safe_append='#{"\n" * @newline_pending}';"
|
|
89
|
+
@newline_pending = 0
|
|
45
90
|
end
|
|
46
91
|
end
|
|
47
92
|
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,17 @@
|
|
|
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.3
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Ryan Davis
|
|
8
|
-
autorequire:
|
|
9
8
|
bindir: bin
|
|
10
9
|
cert_chain:
|
|
11
10
|
- |
|
|
12
11
|
-----BEGIN CERTIFICATE-----
|
|
13
|
-
|
|
12
|
+
MIIDPjCCAiagAwIBAgIBCjANBgkqhkiG9w0BAQsFADBFMRMwEQYDVQQDDApyeWFu
|
|
14
13
|
ZC1ydWJ5MRkwFwYKCZImiZPyLGQBGRYJemVuc3BpZGVyMRMwEQYKCZImiZPyLGQB
|
|
15
|
-
|
|
14
|
+
GRYDY29tMB4XDTI2MDEwNzAxMDkxNFoXDTI3MDEwNzAxMDkxNFowRTETMBEGA1UE
|
|
16
15
|
AwwKcnlhbmQtcnVieTEZMBcGCgmSJomT8ixkARkWCXplbnNwaWRlcjETMBEGCgmS
|
|
17
16
|
JomT8ixkARkWA2NvbTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALda
|
|
18
17
|
b9DCgK+627gPJkB6XfjZ1itoOQvpqH1EXScSaba9/S2VF22VYQbXU1xQXL/WzCkx
|
|
@@ -21,86 +20,78 @@ cert_chain:
|
|
|
21
20
|
GiadM9GHRaDiaxuX0cIUBj19T01mVE2iymf9I6bEsiayK/n6QujtyCbTWsAS9Rqt
|
|
22
21
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
|
23
22
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
|
24
|
-
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
23
|
+
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
|
24
|
+
AQA/X8/PKTTc/IkYQEUL6XWtfK8fAfbuLJzmLcz6f2ZWrtBvPsYvqRuwI1bWUtil
|
|
25
|
+
2ibJEfIuSIHX6BsUTX18+hlaIussf6EWq/YkE7e2BKmgQE42vSOZMce0kCEAPbx0
|
|
26
|
+
rQtqonfWTHQ8UbQ7GqCL3gDQ0QDD2B+HUlb4uaCZ2icxqa/eOtxMvHC2tj+h0xKY
|
|
27
|
+
xL84ipM5kr0bHGf9/MRZJWcw51urueNycBXu1Xh+pEN8qBmYsFRR4SIODLClybAO
|
|
28
|
+
6cbm2PyPQgKNiqE4H+IQrDVHd9bJs1XgLElk3qoaJBWXc/5fy0J1imYb25UqmiHG
|
|
29
|
+
snGe1hrppvBRdcyEzvhfIPjI
|
|
31
30
|
-----END CERTIFICATE-----
|
|
32
|
-
date:
|
|
31
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
33
32
|
dependencies:
|
|
34
33
|
- !ruby/object:Gem::Dependency
|
|
35
34
|
name: debride
|
|
36
35
|
requirement: !ruby/object:Gem::Requirement
|
|
37
36
|
requirements:
|
|
38
|
-
- - ~>
|
|
37
|
+
- - "~>"
|
|
39
38
|
- !ruby/object:Gem::Version
|
|
40
|
-
version: '1.
|
|
39
|
+
version: '1.15'
|
|
41
40
|
type: :runtime
|
|
42
41
|
prerelease: false
|
|
43
42
|
version_requirements: !ruby/object:Gem::Requirement
|
|
44
43
|
requirements:
|
|
45
|
-
- - ~>
|
|
44
|
+
- - "~>"
|
|
46
45
|
- !ruby/object:Gem::Version
|
|
47
|
-
version: '1.
|
|
46
|
+
version: '1.15'
|
|
48
47
|
- !ruby/object:Gem::Dependency
|
|
49
|
-
name:
|
|
48
|
+
name: erubi
|
|
50
49
|
requirement: !ruby/object:Gem::Requirement
|
|
51
50
|
requirements:
|
|
52
|
-
- - ~>
|
|
51
|
+
- - "~>"
|
|
53
52
|
- !ruby/object:Gem::Version
|
|
54
|
-
version:
|
|
53
|
+
version: '1.10'
|
|
55
54
|
type: :runtime
|
|
56
55
|
prerelease: false
|
|
57
56
|
version_requirements: !ruby/object:Gem::Requirement
|
|
58
57
|
requirements:
|
|
59
|
-
- - ~>
|
|
58
|
+
- - "~>"
|
|
60
59
|
- !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'
|
|
60
|
+
version: '1.10'
|
|
76
61
|
- !ruby/object:Gem::Dependency
|
|
77
62
|
name: rdoc
|
|
78
63
|
requirement: !ruby/object:Gem::Requirement
|
|
79
64
|
requirements:
|
|
80
|
-
- -
|
|
65
|
+
- - ">="
|
|
81
66
|
- !ruby/object:Gem::Version
|
|
82
|
-
version: '
|
|
67
|
+
version: '6.0'
|
|
68
|
+
- - "<"
|
|
69
|
+
- !ruby/object:Gem::Version
|
|
70
|
+
version: '8'
|
|
83
71
|
type: :development
|
|
84
72
|
prerelease: false
|
|
85
73
|
version_requirements: !ruby/object:Gem::Requirement
|
|
86
74
|
requirements:
|
|
87
|
-
- -
|
|
75
|
+
- - ">="
|
|
76
|
+
- !ruby/object:Gem::Version
|
|
77
|
+
version: '6.0'
|
|
78
|
+
- - "<"
|
|
88
79
|
- !ruby/object:Gem::Version
|
|
89
|
-
version: '
|
|
80
|
+
version: '8'
|
|
90
81
|
- !ruby/object:Gem::Dependency
|
|
91
82
|
name: hoe
|
|
92
83
|
requirement: !ruby/object:Gem::Requirement
|
|
93
84
|
requirements:
|
|
94
|
-
- - ~>
|
|
85
|
+
- - "~>"
|
|
95
86
|
- !ruby/object:Gem::Version
|
|
96
|
-
version: '
|
|
87
|
+
version: '4.5'
|
|
97
88
|
type: :development
|
|
98
89
|
prerelease: false
|
|
99
90
|
version_requirements: !ruby/object:Gem::Requirement
|
|
100
91
|
requirements:
|
|
101
|
-
- - ~>
|
|
92
|
+
- - "~>"
|
|
102
93
|
- !ruby/object:Gem::Version
|
|
103
|
-
version: '
|
|
94
|
+
version: '4.5'
|
|
104
95
|
description: Extends debride to analyze erb files (erubis ala rails, actually).
|
|
105
96
|
email:
|
|
106
97
|
- ryand-ruby@zenspider.com
|
|
@@ -111,39 +102,37 @@ extra_rdoc_files:
|
|
|
111
102
|
- Manifest.txt
|
|
112
103
|
- README.rdoc
|
|
113
104
|
files:
|
|
114
|
-
- .autotest
|
|
115
|
-
- .gemtest
|
|
105
|
+
- ".autotest"
|
|
116
106
|
- History.rdoc
|
|
117
107
|
- Manifest.txt
|
|
118
108
|
- README.rdoc
|
|
119
109
|
- Rakefile
|
|
120
110
|
- lib/debride_erb.rb
|
|
111
|
+
- test/block.erb
|
|
121
112
|
- test/file.erb
|
|
122
113
|
- test/test_debride_erb.rb
|
|
123
114
|
homepage: https://github.com/seattlerb/debride-erb
|
|
124
115
|
licenses:
|
|
125
116
|
- MIT
|
|
126
|
-
metadata:
|
|
127
|
-
|
|
117
|
+
metadata:
|
|
118
|
+
homepage_uri: https://github.com/seattlerb/debride-erb
|
|
128
119
|
rdoc_options:
|
|
129
|
-
- --main
|
|
120
|
+
- "--main"
|
|
130
121
|
- README.rdoc
|
|
131
122
|
require_paths:
|
|
132
123
|
- lib
|
|
133
124
|
required_ruby_version: !ruby/object:Gem::Requirement
|
|
134
125
|
requirements:
|
|
135
|
-
- -
|
|
126
|
+
- - ">="
|
|
136
127
|
- !ruby/object:Gem::Version
|
|
137
128
|
version: '0'
|
|
138
129
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
139
130
|
requirements:
|
|
140
|
-
- -
|
|
131
|
+
- - ">="
|
|
141
132
|
- !ruby/object:Gem::Version
|
|
142
133
|
version: '0'
|
|
143
134
|
requirements: []
|
|
144
|
-
|
|
145
|
-
rubygems_version: 2.4.5
|
|
146
|
-
signing_key:
|
|
135
|
+
rubygems_version: 3.7.2
|
|
147
136
|
specification_version: 4
|
|
148
137
|
summary: Extends debride to analyze erb files (erubis ala rails, actually).
|
|
149
138
|
test_files: []
|
metadata.gz.sig
CHANGED
|
Binary file
|
data/.gemtest
DELETED
|
File without changes
|