haml 5.1.0 → 5.1.1
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/CHANGELOG.md +7 -0
- data/README.md +1 -1
- data/haml.gemspec +8 -0
- data/lib/haml/attribute_compiler.rb +1 -1
- data/lib/haml/compiler.rb +1 -1
- data/lib/haml/exec.rb +3 -5
- data/lib/haml/filters.rb +2 -2
- data/lib/haml/parser.rb +12 -11
- data/lib/haml/railtie.rb +1 -2
- data/lib/haml/util.rb +1 -1
- data/lib/haml/version.rb +1 -1
- metadata +10 -4
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: b452821b37a39c122c73b034833f334367ea652bcbc9c8166fb4b146622766a2
|
4
|
+
data.tar.gz: 41b11d87fa61bc35507519f25843284e07a6610bcc65e1beef5302590d925556
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: c68926aed4f1615985b6da508e8eafb4951162ab1064b94f5d2c17978390d82d2912098bdf74b90acfea1df1a21d711c0e3d14315394ebc7fa60341dd2c61975
|
7
|
+
data.tar.gz: 499700814e3f72d7d7f033b80b9cd6b701ef07bcf46f1399ece0cf0dad5ddea6bbdff912775c3cd4e1506735cb7fd85cd1666903e69706968874b80788a2a9a7
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,12 @@
|
|
1
1
|
# Haml Changelog
|
2
2
|
|
3
|
+
## 5.1.1
|
4
|
+
|
5
|
+
Released on May 25, 2019
|
6
|
+
([diff](https://github.com/haml/haml/compare/v5.1.0...v5.1.1)).
|
7
|
+
|
8
|
+
* Fix NameError bug for that happens on ruby 2.6.1-2.6.3 + haml 5.1.0 + rails 4.2.x + erubi. (Akira Matsuda)
|
9
|
+
|
3
10
|
## 5.1.0
|
4
11
|
|
5
12
|
Released on May 16, 2019
|
data/README.md
CHANGED
@@ -2,7 +2,7 @@
|
|
2
2
|
|
3
3
|
[](http://rubygems.org/gems/haml)
|
4
4
|
[](http://travis-ci.org/haml/haml)
|
5
|
-
[](https://codeclimate.com/github/haml/haml)
|
6
6
|
[](https://coveralls.io/r/haml/haml)
|
7
7
|
[](http://inch-ci.org/github/haml/haml)
|
8
8
|
|
data/haml.gemspec
CHANGED
@@ -14,6 +14,14 @@ Gem::Specification.new do |spec|
|
|
14
14
|
end
|
15
15
|
spec.homepage = 'http://haml.info/'
|
16
16
|
spec.license = "MIT"
|
17
|
+
spec.metadata = {
|
18
|
+
"bug_tracker_uri" => "https://github.com/haml/haml/issues",
|
19
|
+
"changelog_uri" => "https://github.com/haml/haml/blob/master/CHANGELOG.md",
|
20
|
+
"documentation_uri" => "http://haml.info/docs.html",
|
21
|
+
"homepage_uri" => "http://haml.info",
|
22
|
+
"mailing_list_uri" => "https://groups.google.com/forum/?fromgroups#!forum/haml",
|
23
|
+
"source_code_uri" => "https://github.com/haml/haml"
|
24
|
+
}
|
17
25
|
|
18
26
|
spec.required_ruby_version = '>= 2.0.0'
|
19
27
|
|
@@ -7,7 +7,7 @@ module Haml
|
|
7
7
|
# @param type [Symbol] :static or :dynamic
|
8
8
|
# @param key [String]
|
9
9
|
# @param value [String] Actual string value for :static type, value's Ruby literal for :dynamic type.
|
10
|
-
|
10
|
+
AttributeValue = Struct.new(:type, :key, :value) do
|
11
11
|
# @return [String] A Ruby literal of value.
|
12
12
|
def to_literal
|
13
13
|
case type
|
data/lib/haml/compiler.rb
CHANGED
@@ -168,7 +168,7 @@ module Haml
|
|
168
168
|
end
|
169
169
|
|
170
170
|
def compile_filter
|
171
|
-
unless filter = @filters[@node.value[:name]]
|
171
|
+
unless (filter = @filters[@node.value[:name]])
|
172
172
|
name = @node.value[:name]
|
173
173
|
if ["maruku", "textile"].include?(name)
|
174
174
|
raise Error.new(Error.message(:install_haml_contrib, name), @node.line - 1)
|
data/lib/haml/exec.rb
CHANGED
@@ -338,11 +338,9 @@ END
|
|
338
338
|
end
|
339
339
|
|
340
340
|
def validate_ruby(code)
|
341
|
-
|
342
|
-
|
343
|
-
|
344
|
-
$!
|
345
|
-
end
|
341
|
+
eval("BEGIN {return nil}; #{code}", binding, @options[:filename] || "")
|
342
|
+
rescue ::SyntaxError # Not to be confused with Haml::SyntaxError
|
343
|
+
$!
|
346
344
|
end
|
347
345
|
end
|
348
346
|
end
|
data/lib/haml/filters.rb
CHANGED
@@ -120,7 +120,7 @@ module Haml
|
|
120
120
|
# @param text [String] The source text for the filter to process
|
121
121
|
# @return [String] The filtered result
|
122
122
|
# @raise [Haml::Error] if it's not overridden
|
123
|
-
def render(
|
123
|
+
def render(_text)
|
124
124
|
raise Error.new("#{self.inspect}#render not defined!")
|
125
125
|
end
|
126
126
|
|
@@ -131,7 +131,7 @@ module Haml
|
|
131
131
|
# @param text [String] The source text for the filter to process
|
132
132
|
# @return [String] The filtered result
|
133
133
|
# @raise [Haml::Error] if it or \{#render} isn't overridden
|
134
|
-
def render_with_options(text,
|
134
|
+
def render_with_options(text, _options)
|
135
135
|
render(text)
|
136
136
|
end
|
137
137
|
|
data/lib/haml/parser.rb
CHANGED
@@ -179,7 +179,7 @@ module Haml
|
|
179
179
|
private
|
180
180
|
|
181
181
|
# @private
|
182
|
-
|
182
|
+
Line = Struct.new(:whitespace, :text, :full, :index, :parser, :eod) do
|
183
183
|
alias_method :eod?, :eod
|
184
184
|
|
185
185
|
# @private
|
@@ -195,7 +195,7 @@ module Haml
|
|
195
195
|
end
|
196
196
|
|
197
197
|
# @private
|
198
|
-
|
198
|
+
ParseNode = Struct.new(:type, :line, :value, :parent, :children) do
|
199
199
|
def initialize(*args)
|
200
200
|
super
|
201
201
|
self.children ||= []
|
@@ -208,12 +208,13 @@ module Haml
|
|
208
208
|
|
209
209
|
# @param [String] new - Hash literal including dynamic values.
|
210
210
|
# @param [String] old - Hash literal including dynamic values or Ruby literal of multiple Hashes which MUST be interpreted as method's last arguments.
|
211
|
-
|
211
|
+
DynamicAttributes = Struct.new(:new, :old) do
|
212
|
+
undef :old=
|
212
213
|
def old=(value)
|
213
214
|
unless value =~ /\A{.*}\z/m
|
214
215
|
raise ArgumentError.new('Old attributes must start with "{" and end with "}"')
|
215
216
|
end
|
216
|
-
|
217
|
+
self[:old] = value
|
217
218
|
end
|
218
219
|
|
219
220
|
# This will be a literal for Haml::Buffer#attributes's last argument, `attributes_hashes`.
|
@@ -288,7 +289,7 @@ module Haml
|
|
288
289
|
end
|
289
290
|
|
290
291
|
def block_keyword(text)
|
291
|
-
return unless keyword = text.scan(BLOCK_KEYWORD_REGEX)[0]
|
292
|
+
return unless (keyword = text.scan(BLOCK_KEYWORD_REGEX)[0])
|
292
293
|
keyword[0] || keyword[1]
|
293
294
|
end
|
294
295
|
|
@@ -535,7 +536,7 @@ module Haml
|
|
535
536
|
|
536
537
|
# Post-process case statements to normalize the nesting of "when" clauses
|
537
538
|
return unless node.value[:keyword] == "case"
|
538
|
-
return unless first = node.children.first
|
539
|
+
return unless (first = node.children.first)
|
539
540
|
return unless first.type == :silent_script && first.value[:keyword] == "when"
|
540
541
|
return if first.children.empty?
|
541
542
|
# If the case node has a "when" child with children, it's the
|
@@ -584,9 +585,9 @@ module Haml
|
|
584
585
|
scanner = StringScanner.new(text)
|
585
586
|
scanner.scan(/\s+/)
|
586
587
|
until scanner.eos?
|
587
|
-
return unless key = scanner.scan(LITERAL_VALUE_REGEX)
|
588
|
+
return unless (key = scanner.scan(LITERAL_VALUE_REGEX))
|
588
589
|
return unless scanner.scan(/\s*=>\s*/)
|
589
|
-
return unless value = scanner.scan(LITERAL_VALUE_REGEX)
|
590
|
+
return unless (value = scanner.scan(LITERAL_VALUE_REGEX))
|
590
591
|
return unless scanner.scan(/\s*(?:,|$)\s*/)
|
591
592
|
attributes[eval(key).to_s] = eval(value).to_s
|
592
593
|
end
|
@@ -714,7 +715,7 @@ module Haml
|
|
714
715
|
end
|
715
716
|
|
716
717
|
def parse_new_attribute(scanner)
|
717
|
-
unless name = scanner.scan(/[-:\w]+/)
|
718
|
+
unless (name = scanner.scan(/[-:\w]+/))
|
718
719
|
return if scanner.scan(/\)/)
|
719
720
|
return false
|
720
721
|
end
|
@@ -723,8 +724,8 @@ module Haml
|
|
723
724
|
return name, [:static, true] unless scanner.scan(/=/) #/end
|
724
725
|
|
725
726
|
scanner.scan(/\s*/)
|
726
|
-
unless quote = scanner.scan(/["']/)
|
727
|
-
return false unless var = scanner.scan(/(@@?|\$)?\w+/)
|
727
|
+
unless (quote = scanner.scan(/["']/))
|
728
|
+
return false unless (var = scanner.scan(/(@@?|\$)?\w+/))
|
728
729
|
return name, [:dynamic, var]
|
729
730
|
end
|
730
731
|
|
data/lib/haml/railtie.rb
CHANGED
@@ -34,8 +34,7 @@ module Haml
|
|
34
34
|
# solved by looking for ::Erubi first.
|
35
35
|
# However, in JRuby, the const_defined? finds it anyway, so we must make sure that it's
|
36
36
|
# not just a reference to ::Erubi.
|
37
|
-
if defined?(::Erubi) &&
|
38
|
-
ActionView::Template::Handlers::ERB::Erubi != ::Erubi
|
37
|
+
if defined?(::Erubi) && (::ActionView::Template::Handlers::ERB.const_get('Erubi') != ::Erubi)
|
39
38
|
require "haml/helpers/safe_erubi_template"
|
40
39
|
Haml::Filters::RailsErb.template_class = Haml::SafeErubiTemplate
|
41
40
|
else
|
data/lib/haml/util.rb
CHANGED
@@ -234,7 +234,7 @@ MSG
|
|
234
234
|
scanner = StringScanner.new(str.dup.force_encoding(Encoding::ASCII_8BIT))
|
235
235
|
bom = scanner.scan(/\xEF\xBB\xBF/n)
|
236
236
|
return bom unless scanner.scan(/-\s*#\s*/n)
|
237
|
-
if coding = try_parse_haml_emacs_magic_comment(scanner)
|
237
|
+
if (coding = try_parse_haml_emacs_magic_comment(scanner))
|
238
238
|
return bom, coding
|
239
239
|
end
|
240
240
|
|
data/lib/haml/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: haml
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 5.1.
|
4
|
+
version: 5.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Natalie Weizenbaum
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2019-05-
|
14
|
+
date: 2019-05-25 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: temple
|
@@ -163,7 +163,13 @@ files:
|
|
163
163
|
homepage: http://haml.info/
|
164
164
|
licenses:
|
165
165
|
- MIT
|
166
|
-
metadata:
|
166
|
+
metadata:
|
167
|
+
bug_tracker_uri: https://github.com/haml/haml/issues
|
168
|
+
changelog_uri: https://github.com/haml/haml/blob/master/CHANGELOG.md
|
169
|
+
documentation_uri: http://haml.info/docs.html
|
170
|
+
homepage_uri: http://haml.info
|
171
|
+
mailing_list_uri: https://groups.google.com/forum/?fromgroups#!forum/haml
|
172
|
+
source_code_uri: https://github.com/haml/haml
|
167
173
|
post_install_message:
|
168
174
|
rdoc_options: []
|
169
175
|
require_paths:
|
@@ -179,7 +185,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
179
185
|
- !ruby/object:Gem::Version
|
180
186
|
version: '0'
|
181
187
|
requirements: []
|
182
|
-
rubygems_version: 3.0.
|
188
|
+
rubygems_version: 3.0.3
|
183
189
|
signing_key:
|
184
190
|
specification_version: 4
|
185
191
|
summary: An elegant, structured (X)HTML/XML templating engine.
|