erbh 0.1.2 → 0.1.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/README.md +3 -3
  3. data/erbh.gemspec +1 -1
  4. data/lib/erbh.rb +13 -8
  5. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 3365c9260853a05f9f9e69d4c1aee71475705608
4
- data.tar.gz: 5d8499f8c432d2fffe5ce2add7a4ac23b9ce7514
3
+ metadata.gz: 5d1f0a5b16f1f85c4fa063b2f80d8f7c0a94781d
4
+ data.tar.gz: 2f78a4bebef506c055f360018308dc4b12cf4cda
5
5
  SHA512:
6
- metadata.gz: 18fc7f6b4249c8229adc6c90b0b9fb99404432e9d8c88eb68fbb7b0bb666815d365b44f5e565fa3325610532fecf7297c53cac0865f192b65a72f06d14c3d971
7
- data.tar.gz: dc219ac729cbd8af9c80206895b272070358a6185a5e1093a7b90ce07ae2032ea8c659918b7837130b602c8dfaab7104cf9ce6fcdf2e8a51404641857fc9bb28
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
- <%- @foo.each do |i| -%>
32
+ erbh(<<-EOS, {foo: 1..3}, trim_mode: '%')
33
+ % @foo.each do |i|
34
34
  <%= i %>
35
- <%- end -%>
35
+ % end
36
36
  EOS
37
37
  #=> "1\n2\n3\n"
38
38
  ```
@@ -1,7 +1,7 @@
1
1
  # coding: utf-8
2
2
  Gem::Specification.new do |spec|
3
3
  spec.name = 'erbh'
4
- spec.version = '0.1.2'
4
+ spec.version = '0.1.3'
5
5
  spec.authors = ['Genki Sugawara']
6
6
  spec.email = ['sugawara@cookpad.com']
7
7
 
@@ -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 erbh(str, variables = {}, options = {})
11
- options = {
12
- :safe_level => nil,
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]} %>" + str, *options.values_at(:safe_level, :trim_mode, :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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: erbh
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Genki Sugawara