erbx 0.1.2 → 0.1.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/README.md +30 -4
- data/lib/erbx/version.rb +2 -2
- data/lib/erbx.rb +14 -11
- 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
@@ -2,25 +2,28 @@ require 'erb'
|
|
2
2
|
|
3
3
|
class ERBX
|
4
4
|
class << self
|
5
|
-
def load(filename)
|
6
|
-
new File.read
|
5
|
+
def load(filename, options = {})
|
6
|
+
new File.read(filename), options
|
7
7
|
end
|
8
8
|
|
9
|
-
def new(content)
|
10
|
-
erb_content = expose_erb_tags content
|
9
|
+
def new(content, options = {})
|
10
|
+
erb_content = expose_erb_tags content, options
|
11
11
|
ERB.new erb_content, trim_mode: '%-'
|
12
12
|
end
|
13
13
|
|
14
14
|
private
|
15
15
|
|
16
|
-
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
|
+
|
17
22
|
content
|
18
|
-
.gsub(
|
19
|
-
.gsub(
|
20
|
-
.gsub(
|
21
|
-
.gsub(
|
23
|
+
.gsub(code_open, '<%-')
|
24
|
+
.gsub(code_close, '-%>')
|
25
|
+
.gsub(output_open, '<%=')
|
26
|
+
.gsub(output_close, '%>')
|
22
27
|
end
|
23
28
|
end
|
24
29
|
end
|
25
|
-
|
26
|
-
|
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.3.
|
42
|
+
rubygems_version: 3.3.26
|
42
43
|
signing_key:
|
43
44
|
specification_version: 4
|
44
45
|
summary: ERB Extra
|