erbx 0.1.1 → 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 +30 -4
- data/lib/erbx/version.rb +2 -2
- data/lib/erbx.rb +15 -15
- metadata +6 -5
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: e64d1f5fd7aa9ac7e7cf4739c288bafd67b0b45e344ef667c185513648206b5d
|
4
|
+
data.tar.gz: 9494c04055d32663df331c9b6a41ea4f08e67070c4edfdf8bc75a1f7f533e22b
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f58e90a4f67778afe3e7a5cea0796f08d28dd1d282b11ca983314c85edba5ca95ce6dce0666ef96f7614cb68d834c3da833121c7e547bfb6db005b1873767c2f
|
7
|
+
data.tar.gz: 98664388538b16d2a453e9a356922241731c065b9a4f77b064f5de44bbfec32764d2971da56abc358595bb57b3b9c2406c635109472872a9621217e9136b2015
|
data/README.md
CHANGED
@@ -10,17 +10,17 @@ ERBX is a tiny extension to ERB allowing these tags:
|
|
10
10
|
- `{{ ... }}` as an equivalent to `<%= ... %>` (print ruby code)
|
11
11
|
- `(( ... ))` as an equivalent to `<%- ... -%>` (run ruby code)
|
12
12
|
|
13
|
+
Both tag pairs are configurable.
|
14
|
+
|
13
15
|
---
|
14
16
|
|
15
|
-
Installation
|
16
|
-
--------------------------------------------------
|
17
|
+
## Installation
|
17
18
|
|
18
19
|
```
|
19
20
|
$ gem install erbx
|
20
21
|
```
|
21
22
|
|
22
|
-
Usage
|
23
|
-
--------------------------------------------------
|
23
|
+
## Usage
|
24
24
|
|
25
25
|
Given this ERBX templalte:
|
26
26
|
|
@@ -57,6 +57,32 @@ puts template.result
|
|
57
57
|
#=> You rolled [4, 2]
|
58
58
|
```
|
59
59
|
|
60
|
+
## Custom Tags
|
61
|
+
|
62
|
+
If you wish to use different tags in your template, you can provide them using
|
63
|
+
these four options:
|
64
|
+
|
65
|
+
- `code_open` - default `((`
|
66
|
+
- `code_close` - default `))`
|
67
|
+
- `output_open` - default `{{`
|
68
|
+
- `output_close` - default `}}`
|
69
|
+
|
70
|
+
For example:
|
71
|
+
|
72
|
+
```ruby
|
73
|
+
# Render example with options
|
74
|
+
require 'erbx'
|
75
|
+
|
76
|
+
template = ERBX.load 'example/template2.md', code_open: '===[', code_close: ']==='
|
77
|
+
puts template.result_with_hash number: rand(100..999)
|
78
|
+
#=> This template only uses output tags, and uses data provided by the caller.
|
79
|
+
#=> This is useful when the file may contain (( markers like these )) that are
|
80
|
+
#=> not intended to be interpreted as code.
|
81
|
+
#=>
|
82
|
+
#=> Random number: 938
|
83
|
+
|
84
|
+
```
|
85
|
+
|
60
86
|
## Contributing / Support
|
61
87
|
|
62
88
|
If you experience any issue, have a question or a suggestion, or if you wish
|
data/lib/erbx/version.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
1
|
class ERBX
|
2
|
-
VERSION =
|
3
|
-
end
|
2
|
+
VERSION = '0.1.3'
|
3
|
+
end
|
data/lib/erbx.rb
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
require 'erb'
|
2
|
-
require 'erbx/version'
|
3
2
|
|
4
3
|
class ERBX
|
5
4
|
class << self
|
6
|
-
def load(filename)
|
7
|
-
new File.read
|
5
|
+
def load(filename, options = {})
|
6
|
+
new File.read(filename), options
|
8
7
|
end
|
9
8
|
|
10
|
-
def new(content)
|
11
|
-
erb_content = expose_erb_tags content
|
12
|
-
ERB.new
|
13
|
-
# The below syntax requires ruby >= 2.6
|
14
|
-
# ERB.new(erb_content, trim_mode: '%-')
|
9
|
+
def new(content, options = {})
|
10
|
+
erb_content = expose_erb_tags content, options
|
11
|
+
ERB.new erb_content, trim_mode: '%-'
|
15
12
|
end
|
16
13
|
|
17
14
|
private
|
18
15
|
|
19
|
-
def expose_erb_tags(content)
|
16
|
+
def expose_erb_tags(content, options = {})
|
17
|
+
code_open = options[:code_open] || '(('
|
18
|
+
code_close = options[:code_close] || '))'
|
19
|
+
output_open = options[:output_open] || '{{'
|
20
|
+
output_close = options[:output_close] || '}}'
|
21
|
+
|
20
22
|
content
|
21
|
-
.gsub(
|
22
|
-
.gsub(
|
23
|
-
.gsub(
|
24
|
-
.gsub(
|
23
|
+
.gsub(code_open, '<%-')
|
24
|
+
.gsub(code_close, '-%>')
|
25
|
+
.gsub(output_open, '<%=')
|
26
|
+
.gsub(output_close, '%>')
|
25
27
|
end
|
26
28
|
end
|
27
29
|
end
|
28
|
-
|
29
|
-
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erbx
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Danny Ben Shitrit
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2023-05-16 00:00:00.000000000 Z
|
12
12
|
dependencies: []
|
13
13
|
description: Extended ERB with prettier tags
|
14
14
|
email: db@dannyben.com
|
@@ -22,7 +22,8 @@ files:
|
|
22
22
|
homepage: https://github.com/dannyben/erbx
|
23
23
|
licenses:
|
24
24
|
- MIT
|
25
|
-
metadata:
|
25
|
+
metadata:
|
26
|
+
rubygems_mfa_required: 'true'
|
26
27
|
post_install_message:
|
27
28
|
rdoc_options: []
|
28
29
|
require_paths:
|
@@ -31,14 +32,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
31
32
|
requirements:
|
32
33
|
- - ">="
|
33
34
|
- !ruby/object:Gem::Version
|
34
|
-
version: 2.
|
35
|
+
version: 2.6.0
|
35
36
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
36
37
|
requirements:
|
37
38
|
- - ">="
|
38
39
|
- !ruby/object:Gem::Version
|
39
40
|
version: '0'
|
40
41
|
requirements: []
|
41
|
-
rubygems_version: 3.
|
42
|
+
rubygems_version: 3.3.26
|
42
43
|
signing_key:
|
43
44
|
specification_version: 4
|
44
45
|
summary: ERB Extra
|