erbr 0.0.1
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 +7 -0
- data/lib/erbr.rb +40 -0
- metadata +44 -0
checksums.yaml
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
---
|
|
2
|
+
SHA256:
|
|
3
|
+
metadata.gz: 421f2bbd47625febc65b016ddbdc0476083eb0fde4516a3740a1e3e05b528b41
|
|
4
|
+
data.tar.gz: f1dc2eb493d94fcb9d91b29c00ab252072dc198ca7acba8dababd3edfa976434
|
|
5
|
+
SHA512:
|
|
6
|
+
metadata.gz: 005bb8166d3db963f4088909c80daebb37ff615905a7ec8ebdffe8ac66b789bd29c07b3f7643a1a02da7a7753685de4985254a7336574eb1e844a83bd932662d
|
|
7
|
+
data.tar.gz: 87e0ec5e35eae35edb745d7c19bdd4eecbe5cd720ad96ad55b6e541e6206d4928c926f9de5848b85c2d0487493ebab3cfefd072e793e29221dbc5d8642711f00
|
data/lib/erbr.rb
ADDED
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
require 'erb'
|
|
2
|
+
|
|
3
|
+
# Main gem class;
|
|
4
|
+
module ERBR
|
|
5
|
+
class << self
|
|
6
|
+
# Renders template;
|
|
7
|
+
#
|
|
8
|
+
# Example:
|
|
9
|
+
# >> render("template.html.erb", "layout.html.erb", args)
|
|
10
|
+
#
|
|
11
|
+
# Arguments:
|
|
12
|
+
# args: (Any) holds flexible data type to make variables available for erb placeholders;
|
|
13
|
+
# args["name"] => "Fushiguro Toji": this way views can see @args["name"] making the value available for view throught @args;
|
|
14
|
+
# so ERBR.render(any, any, :suguru => "geto") is available throught @args[0]["suguru"];
|
|
15
|
+
|
|
16
|
+
def render(template_name, layout_name, *args)
|
|
17
|
+
template_file = File.read(template_name)
|
|
18
|
+
|
|
19
|
+
args.length > 0 ? @args = args : args = nil
|
|
20
|
+
|
|
21
|
+
if layout_name
|
|
22
|
+
layout_file = File.read(layout_name)
|
|
23
|
+
|
|
24
|
+
rendered_template = ERB.new(template_file).result(binding)
|
|
25
|
+
bind_template_to_layout(layout_file) { rendered_template }
|
|
26
|
+
else
|
|
27
|
+
ERB.new(template_file).result(binding)
|
|
28
|
+
end
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
# Bounds template with layout;
|
|
32
|
+
|
|
33
|
+
private
|
|
34
|
+
def bind_template_to_layout(layout_file)
|
|
35
|
+
yield
|
|
36
|
+
|
|
37
|
+
ERB.new(layout_file).result(binding)
|
|
38
|
+
end
|
|
39
|
+
end
|
|
40
|
+
end
|
metadata
ADDED
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: erbr
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- wnccys
|
|
8
|
+
autorequire:
|
|
9
|
+
bindir: bin
|
|
10
|
+
cert_chain: []
|
|
11
|
+
date: 2024-04-25 00:00:00.000000000 Z
|
|
12
|
+
dependencies: []
|
|
13
|
+
description: " Allows easy ERB layout rendering with embbed variables "
|
|
14
|
+
email:
|
|
15
|
+
executables: []
|
|
16
|
+
extensions: []
|
|
17
|
+
extra_rdoc_files: []
|
|
18
|
+
files:
|
|
19
|
+
- lib/erbr.rb
|
|
20
|
+
homepage: https://rubygems.org/gems/erbr
|
|
21
|
+
licenses:
|
|
22
|
+
- MIT
|
|
23
|
+
metadata:
|
|
24
|
+
source_code_uri: https://github.com/wnccys/erbr
|
|
25
|
+
post_install_message:
|
|
26
|
+
rdoc_options: []
|
|
27
|
+
require_paths:
|
|
28
|
+
- lib
|
|
29
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
30
|
+
requirements:
|
|
31
|
+
- - ">="
|
|
32
|
+
- !ruby/object:Gem::Version
|
|
33
|
+
version: 2.7.0
|
|
34
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
35
|
+
requirements:
|
|
36
|
+
- - ">="
|
|
37
|
+
- !ruby/object:Gem::Version
|
|
38
|
+
version: '0'
|
|
39
|
+
requirements: []
|
|
40
|
+
rubygems_version: 3.5.9
|
|
41
|
+
signing_key:
|
|
42
|
+
specification_version: 4
|
|
43
|
+
summary: ERB template render
|
|
44
|
+
test_files: []
|