hamlit 2.2.1 → 2.2.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/.travis.yml +0 -2
- data/CHANGELOG.md +12 -1
- data/Gemfile +1 -2
- data/benchmark/utils/benchmark_ips_extension.rb +1 -1
- data/bin/test +0 -1
- data/lib/hamlit/filters/plain.rb +19 -8
- data/lib/hamlit/parser/haml_util.rb +6 -1
- data/lib/hamlit/version.rb +1 -1
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bdbcd9855ceed711ca31e228ae8d9eb034868259
|
4
|
+
data.tar.gz: 7b0e66130cefe424a2463a283c6a930ad6ae2e60
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: da1b2dc6acad532b7983ad4fe19ff39a4dc3fe94869c7a90b68f0fb8f3d1689d1168edbcf8ba0eeae4ec43d1ad6ad9ee88394b604eaa723c371f01e3520e404c
|
7
|
+
data.tar.gz: 099914dd8eb91a102613b42290f5aa87bd0332c87f83fef8f74c88d0d0ac9848f2ad1644744f817d29efd5cd93da1940c5a33b43385bd4fa53433526aa4290a7
|
data/.travis.yml
CHANGED
data/CHANGELOG.md
CHANGED
@@ -4,7 +4,18 @@ All notable changes to this project will be documented in this file. This
|
|
4
4
|
project adheres to [Semantic Versioning](http://semver.org/). This change log is based upon
|
5
5
|
[keep-a-changelog](https://github.com/olivierlacan/keep-a-changelog).
|
6
6
|
|
7
|
-
## [2.2.
|
7
|
+
## [2.2.2](https://github.com/k0kubun/hamlit/compare/v2.2.1...v2.2.2) - 2016-02-21
|
8
|
+
|
9
|
+
### Added
|
10
|
+
|
11
|
+
- Optimize performance of plain filter
|
12
|
+
|
13
|
+
### Fixed
|
14
|
+
|
15
|
+
- Escape only interpolated text for plain filter
|
16
|
+
[#58](https://github.com/k0kubun/hamlit/issues/58). *Thanks to @shaneog*
|
17
|
+
|
18
|
+
## [2.2.1](https://github.com/k0kubun/hamlit/compare/v2.2.0...v2.2.1) - 2016-02-06
|
8
19
|
|
9
20
|
### Added
|
10
21
|
|
data/Gemfile
CHANGED
@@ -7,8 +7,7 @@ gem 'benchmark-ips', '2.3.0'
|
|
7
7
|
gem 'minitest-line'
|
8
8
|
gem 'pry-byebug'
|
9
9
|
|
10
|
-
|
11
|
-
if RUBY_VERSION >= '2.1.0' && !is_windows
|
10
|
+
if RUBY_PLATFORM !~ /mswin|mingw|bccwin|wince/
|
12
11
|
gem 'faml'
|
13
12
|
gem 'lineprof'
|
14
13
|
gem 'stackprof'
|
data/bin/test
CHANGED
data/lib/hamlit/filters/plain.rb
CHANGED
@@ -1,15 +1,26 @@
|
|
1
|
+
require 'hamlit/string_splitter'
|
2
|
+
|
1
3
|
module Hamlit
|
2
4
|
class Filters
|
3
5
|
class Plain < Base
|
4
6
|
def compile(node)
|
5
|
-
text = node.value[:text]
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
7
|
+
text = node.value[:text]
|
8
|
+
text = text.rstrip unless ::Hamlit::HamlUtil.contains_interpolation?(text) # for compatibility
|
9
|
+
[:multi, *compile_plain(text)]
|
10
|
+
end
|
11
|
+
|
12
|
+
private
|
13
|
+
|
14
|
+
def compile_plain(text)
|
15
|
+
string_literal = ::Hamlit::HamlUtil.unescape_interpolation(text)
|
16
|
+
StringSplitter.compile(string_literal).map do |temple|
|
17
|
+
type, str = temple
|
18
|
+
case type
|
19
|
+
when :dynamic
|
20
|
+
[:escape, true, [:dynamic, str]]
|
21
|
+
else
|
22
|
+
temple
|
23
|
+
end
|
13
24
|
end
|
14
25
|
end
|
15
26
|
end
|
@@ -199,6 +199,8 @@ MSG
|
|
199
199
|
end
|
200
200
|
|
201
201
|
# Original Haml::Util.unescape_interpolation
|
202
|
+
# ex) slow_unescape_interpolation('foo#{bar}baz"', escape_html: true)
|
203
|
+
# #=> "\"foo\#{::Hamlit::HamlHelpers.html_escape((bar))}baz\\\"\""
|
202
204
|
def slow_unescape_interpolation(str, escape_html = nil)
|
203
205
|
res = ''
|
204
206
|
rest = ::Hamlit::HamlUtil.handle_interpolation str.dump do |scan|
|
@@ -223,7 +225,10 @@ MSG
|
|
223
225
|
res + rest
|
224
226
|
end
|
225
227
|
|
226
|
-
# Customized Haml::Util.unescape_interpolation to handle escape by Hamlit
|
228
|
+
# Customized Haml::Util.unescape_interpolation to handle escape by Hamlit.
|
229
|
+
# It wraps double quotes to given `str` with escaping `"`.
|
230
|
+
#
|
231
|
+
# ex) unescape_interpolation('foo#{bar}baz"') #=> "\"foo\#{bar}baz\\\"\""
|
227
232
|
def unescape_interpolation(str)
|
228
233
|
res = ''
|
229
234
|
rest = ::Hamlit::HamlUtil.handle_interpolation str.dump do |scan|
|
data/lib/hamlit/version.rb
CHANGED
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: hamlit
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.2.
|
4
|
+
version: 2.2.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Takashi Kokubun
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2016-02-
|
11
|
+
date: 2016-02-21 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: temple
|