flay 2.13.0 → 2.13.1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- checksums.yaml.gz.sig +0 -0
- data/History.rdoc +6 -0
- data/lib/flay.rb +1 -1
- data/lib/flay_erb.rb +67 -1
- data.tar.gz.sig +0 -0
- metadata +13 -13
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 54b8d2857a8c1d6a80e25b8bf348680eac8bee34c861b7c22abee64c0baa3d6d
|
4
|
+
data.tar.gz: 5bdeb6f27e249e6d5f53ee94388b8aa91b9160a4e2e75d86d25a6353ab1005d3
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: a2b963166b19e6a470da6b2e103d2f47f62a988576211988509dba933e1890481710d6ae360ee69372b1f8abb9a9b420a3ed70165bef8db213c4b911d0bdf4f5
|
7
|
+
data.tar.gz: 07b7559e966fa5ecf50b7df1758afa80cf871e86322902c1561487f95435cac55eb6428512b1f1d916473dcdc7b19b67f41b62bdf517388189951b04d0925ff3
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/History.rdoc
CHANGED
data/lib/flay.rb
CHANGED
data/lib/flay_erb.rb
CHANGED
@@ -10,7 +10,8 @@ class Flay
|
|
10
10
|
def process_erb file
|
11
11
|
erb = File.read file
|
12
12
|
|
13
|
-
ruby = Erubi
|
13
|
+
ruby = Erubi.new(erb).src
|
14
|
+
|
14
15
|
begin
|
15
16
|
RubyParser.new.process(ruby, file)
|
16
17
|
rescue => e
|
@@ -18,4 +19,69 @@ class Flay
|
|
18
19
|
raise e
|
19
20
|
end
|
20
21
|
end
|
22
|
+
|
23
|
+
# stolen (and munged) from lib/action_view/template/handlers/erb/erubi.rb
|
24
|
+
# this is also in the debride-erb gem, update both!
|
25
|
+
class Erubi < ::Erubi::Engine
|
26
|
+
# :nodoc: all
|
27
|
+
def initialize(input, properties = {})
|
28
|
+
@newline_pending = 0
|
29
|
+
|
30
|
+
properties[:postamble] = "_buf.to_s"
|
31
|
+
properties[:bufvar] = "_buf"
|
32
|
+
properties[:freeze_template_literals] = false
|
33
|
+
|
34
|
+
super
|
35
|
+
end
|
36
|
+
|
37
|
+
def add_text(text)
|
38
|
+
return if text.empty?
|
39
|
+
|
40
|
+
if text == "\n"
|
41
|
+
@newline_pending += 1
|
42
|
+
else
|
43
|
+
src << "_buf.safe_append='"
|
44
|
+
src << "\n" * @newline_pending if @newline_pending > 0
|
45
|
+
src << text.gsub(/['\\]/, '\\\\\&')
|
46
|
+
src << "';"
|
47
|
+
|
48
|
+
@newline_pending = 0
|
49
|
+
end
|
50
|
+
end
|
51
|
+
|
52
|
+
BLOCK_EXPR = /\s*((\s+|\))do|\{)(\s*\|[^|]*\|)?\s*\Z/
|
53
|
+
|
54
|
+
def add_expression(indicator, code)
|
55
|
+
flush_newline_if_pending(src)
|
56
|
+
|
57
|
+
if (indicator == "==") || @escape
|
58
|
+
src << "_buf.safe_expr_append="
|
59
|
+
else
|
60
|
+
src << "_buf.append="
|
61
|
+
end
|
62
|
+
|
63
|
+
if BLOCK_EXPR.match?(code)
|
64
|
+
src << " " << code
|
65
|
+
else
|
66
|
+
src << "(" << code << ");"
|
67
|
+
end
|
68
|
+
end
|
69
|
+
|
70
|
+
def add_code(code)
|
71
|
+
flush_newline_if_pending(src)
|
72
|
+
super
|
73
|
+
end
|
74
|
+
|
75
|
+
def add_postamble(_)
|
76
|
+
flush_newline_if_pending(src)
|
77
|
+
super
|
78
|
+
end
|
79
|
+
|
80
|
+
def flush_newline_if_pending(src)
|
81
|
+
if @newline_pending > 0
|
82
|
+
src << "_buf.safe_append='#{"\n" * @newline_pending}';"
|
83
|
+
@newline_pending = 0
|
84
|
+
end
|
85
|
+
end
|
86
|
+
end
|
21
87
|
end
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: flay
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.13.
|
4
|
+
version: 2.13.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Ryan Davis
|
@@ -10,9 +10,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
|
@@ -22,14 +22,14 @@ cert_chain:
|
|
22
22
|
qhtV7HJxNKuPj/JFH0D2cswvzznE/a5FOYO68g+YCuFi5L8wZuuM8zzdwjrWHqSV
|
23
23
|
gBEfoTEGr7Zii72cx+sCAwEAAaM5MDcwCQYDVR0TBAIwADALBgNVHQ8EBAMCBLAw
|
24
24
|
HQYDVR0OBBYEFEfFe9md/r/tj/Wmwpy+MI8d9k/hMA0GCSqGSIb3DQEBCwUAA4IB
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
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-07-20 00:00:00.000000000 Z
|
33
33
|
dependencies:
|
34
34
|
- !ruby/object:Gem::Dependency
|
35
35
|
name: sexp_processor
|
@@ -141,14 +141,14 @@ dependencies:
|
|
141
141
|
requirements:
|
142
142
|
- - "~>"
|
143
143
|
- !ruby/object:Gem::Version
|
144
|
-
version: '
|
144
|
+
version: '4.0'
|
145
145
|
type: :development
|
146
146
|
prerelease: false
|
147
147
|
version_requirements: !ruby/object:Gem::Requirement
|
148
148
|
requirements:
|
149
149
|
- - "~>"
|
150
150
|
- !ruby/object:Gem::Version
|
151
|
-
version: '
|
151
|
+
version: '4.0'
|
152
152
|
description: |-
|
153
153
|
Flay analyzes code for structural similarities. Differences in literal
|
154
154
|
values, variable, class, method names, whitespace, programming style,
|
@@ -196,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
196
196
|
- !ruby/object:Gem::Version
|
197
197
|
version: '0'
|
198
198
|
requirements: []
|
199
|
-
rubygems_version: 3.
|
199
|
+
rubygems_version: 3.4.10
|
200
200
|
signing_key:
|
201
201
|
specification_version: 4
|
202
202
|
summary: Flay analyzes code for structural similarities
|
metadata.gz.sig
CHANGED
Binary file
|