erbh 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +3 -3
- data/erbh.gemspec +1 -1
- data/lib/erbh.rb +13 -8
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 5d1f0a5b16f1f85c4fa063b2f80d8f7c0a94781d
|
4
|
+
data.tar.gz: 2f78a4bebef506c055f360018308dc4b12cf4cda
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 01a3096428b66899b8bc42d1738b64e550a31b8aa076ab8c84f06f7b0c79087207ce05d8cab5da224c39b28853dbb3c89012b77e98a03edd92855035006e6922
|
7
|
+
data.tar.gz: 016b7e7cdf9ad90590d783589ed85797f1cb6716519be49f3994ea92119d6c6af9627a9c7c7ae2d7dda4457e36adbd34afbea287bf18c8935218fad0735c4d79
|
data/README.md
CHANGED
@@ -29,10 +29,10 @@ include ERBh
|
|
29
29
|
erbh('<%= @foo %>, <%= @bar %>', foo: 100, bar: 'zoo')
|
30
30
|
#=> "100, zoo"
|
31
31
|
|
32
|
-
erbh(<<-EOS, {foo: 1..3}, trim_mode: '
|
33
|
-
|
32
|
+
erbh(<<-EOS, {foo: 1..3}, trim_mode: '%')
|
33
|
+
% @foo.each do |i|
|
34
34
|
<%= i %>
|
35
|
-
|
35
|
+
% end
|
36
36
|
EOS
|
37
37
|
#=> "1\n2\n3\n"
|
38
38
|
```
|
data/erbh.gemspec
CHANGED
data/lib/erbh.rb
CHANGED
@@ -3,17 +3,22 @@ require 'erb'
|
|
3
3
|
module ERBh
|
4
4
|
@@methods = {}
|
5
5
|
|
6
|
+
@@default_options = {
|
7
|
+
:safe_level => nil,
|
8
|
+
:trim_mode => '-',
|
9
|
+
:eoutvar => '_erbout',
|
10
|
+
}
|
11
|
+
|
6
12
|
def self.define_method(name, &block)
|
7
13
|
@@methods[name] = block
|
8
14
|
end
|
9
15
|
|
10
|
-
def
|
11
|
-
|
12
|
-
|
13
|
-
:trim_mode => nil,
|
14
|
-
:eoutvar => '_erbout',
|
15
|
-
}.merge(options)
|
16
|
+
def self.default_options
|
17
|
+
@@default_options
|
18
|
+
end
|
16
19
|
|
20
|
+
def erbh(str, variables = {}, options = {})
|
21
|
+
options = @@default_options.merge(options)
|
17
22
|
context = Object.new
|
18
23
|
|
19
24
|
variables.each do |name, value|
|
@@ -27,8 +32,8 @@ module ERBh
|
|
27
32
|
end
|
28
33
|
|
29
34
|
context.instance_eval do
|
30
|
-
erb = ERB.new("<% @#{options[:eoutvar]} = #{options[:eoutvar]}
|
31
|
-
erb.result(binding)
|
35
|
+
erb = ERB.new("<% @#{options[:eoutvar]} = #{options[:eoutvar]} %>\n" + str, *options.values_at(:safe_level, :trim_mode, :eoutvar))
|
36
|
+
erb.result(binding).sub(/\A\n/, '')
|
32
37
|
end
|
33
38
|
end
|
34
39
|
module_function :erbh
|