haml 6.1.3 → 6.1.4

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: 6fdb8a50c83ab63c697225ffc269dfcff134a8eac3d28f5b13c5b5a09257f849
4
- data.tar.gz: f7027d35f57f74ece886ced333a6eefa2d5278086899ac1431b9ea81935c5cc2
3
+ metadata.gz: 3d737ee35f4f57bdbbedceeb61233e0b21818fee84a50e00a1e317b2a8efcb50
4
+ data.tar.gz: 6e8a41c9e3a9e8c9db478f0c5ea636a6eb8bb2fe811b609664808edfac204645
5
5
  SHA512:
6
- metadata.gz: a72f386df2549eadf33e568fa2d33dba9f49fee6c9ef869a66c81a6d414f53fc0c1f6fc666a3434ca2df27cec89c4e7ed302336a009115ee678c426614b53b61
7
- data.tar.gz: d9585240bf8cc82bb38d6f1dfad9f3c12f3b2654ada0fd7cf7972bf5018cc137917e522a3927510eab7aa90d923c0d5d1dc0352d98e1f586482e25c5f62f42b3
6
+ metadata.gz: b298a5a331bf81368054ac7fbae382a4ea739d9b24a8aa2db68ddf0e9595e116d3439ae75ddf73bd16dc943ee5e6fa0bdcd3f693ddf09c5abf54eaacbcfd9b14
7
+ data.tar.gz: b5ebe7e3ae7337224db692aad4c116674a6992e0880f46e96a4e9486d72bf22f57b3d1fb94396353d3b06d680387fbfb24f4dcc7ef0eb17dca4acbc7bc0336e9
data/CHANGELOG.md CHANGED
@@ -1,5 +1,9 @@
1
1
  # Haml Changelog
2
2
 
3
+ ## 6.1.4
4
+
5
+ * Let `Haml::Util.escape_html` use `ERB::Escape` if available [#1145](https://github.com/haml/haml/issues/1145)
6
+
3
7
  ## 6.1.3
4
8
 
5
9
  * Add `Haml::RailsTemplate#default_format` for Turbo compatibility [#1144](https://github.com/haml/haml/issues/1144)
data/ext/haml/haml.c CHANGED
@@ -77,12 +77,6 @@ escape_attribute(VALUE escape_attrs, VALUE str)
77
77
  }
78
78
  }
79
79
 
80
- static VALUE
81
- rb_escape_html(RB_UNUSED_VAR(VALUE self), VALUE value)
82
- {
83
- return escape_html(to_s(value));
84
- }
85
-
86
80
  static VALUE
87
81
  haml_build_id(VALUE escape_attrs, VALUE values)
88
82
  {
@@ -504,14 +498,12 @@ rb_haml_build(int argc, VALUE *argv, RB_UNUSED_VAR(VALUE self))
504
498
  void
505
499
  Init_haml(void)
506
500
  {
507
- VALUE mHaml, mUtil;
501
+ VALUE mHaml;
508
502
 
509
503
  mHaml = rb_define_module("Haml");
510
504
  mObjectRef = rb_define_module_under(mHaml, "ObjectRef");
511
- mUtil = rb_define_module_under(mHaml, "Util");
512
505
  mAttributeBuilder = rb_define_module_under(mHaml, "AttributeBuilder");
513
506
 
514
- rb_define_singleton_method(mUtil, "escape_html", rb_escape_html, 1);
515
507
  rb_define_singleton_method(mAttributeBuilder, "build", rb_haml_build, -1);
516
508
  rb_define_singleton_method(mAttributeBuilder, "build_id", rb_haml_build_id, -1);
517
509
  rb_define_singleton_method(mAttributeBuilder, "build_class", rb_haml_build_class, -1);
data/lib/haml/util.rb CHANGED
@@ -14,15 +14,16 @@ module Haml
14
14
  module Util
15
15
  extend self
16
16
 
17
- # For JRuby, TruffleRuby, and Wasm, fallback to Ruby implementation.
18
- if /java|wasm/ === RUBY_PLATFORM || RUBY_ENGINE == 'truffleruby'
17
+ begin # Ruby 3.2+ or ERB 4+
18
+ require 'erb/escape'
19
+
20
+ define_singleton_method(:escape_html, ERB::Escape.instance_method(:html_escape))
21
+ rescue LoadError
19
22
  require 'cgi/escape'
20
23
 
21
24
  def self.escape_html(html)
22
25
  CGI.escapeHTML(html.to_s)
23
26
  end
24
- else
25
- require 'haml/haml' # Haml::Util.escape_html
26
27
  end
27
28
 
28
29
  # TODO: Remove unescape_interpolation's workaround and get rid of `respond_to?`.
data/lib/haml/version.rb CHANGED
@@ -1,4 +1,4 @@
1
1
  # frozen_string_literal: true
2
2
  module Haml
3
- VERSION = '6.1.3'
3
+ VERSION = '6.1.4'
4
4
  end
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: 6.1.3
4
+ version: 6.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Natalie Weizenbaum
@@ -356,7 +356,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
356
356
  - !ruby/object:Gem::Version
357
357
  version: '0'
358
358
  requirements: []
359
- rubygems_version: 3.4.1
359
+ rubygems_version: 3.4.10
360
360
  signing_key:
361
361
  specification_version: 4
362
362
  summary: An elegant, structured (X)HTML/XML templating engine.