k-templator 0.1.1 → 0.2.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 +4 -4
- data/README.md +2 -0
- data/lib/templator/generator.rb +3 -1
- data/lib/templator/version.rb +1 -1
- data/lib/templator.rb +24 -5
- 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: c7bacef89b1c7d0f1ac686ffe7b888bb29def2b6
|
4
|
+
data.tar.gz: 1abdf4056474ce13965c37015a20adcfe618ead9
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: aa00fa2a4b569e90fd2fff0071374981c125f3afd24494b3d2fe4a6857c56d871fd924c5ba66f8f4c97551f7381ff559ceee11dc9f878f2a59b0021c4b0e1c51
|
7
|
+
data.tar.gz: e60e62d6c263c931eec066a44e5ebfdfdac336931a291362cd32fcb2f2fb07780aba5788d86f7fb7b1fc1ac6ba6889627e2bd0fe2c20004c5b21ce8e0c6d0bd5
|
data/README.md
CHANGED
@@ -1,5 +1,7 @@
|
|
1
1
|
# K-Templator
|
2
2
|
|
3
|
+
[](https://travis-ci.org/khaiql/k-templator) [](https://badge.fury.io/rb/k-templator)
|
4
|
+
|
3
5
|
Tini tool to make use of ERB template and yaml format for generating content of file
|
4
6
|
|
5
7
|
## Installation
|
data/lib/templator/generator.rb
CHANGED
@@ -6,13 +6,15 @@ module Templator
|
|
6
6
|
class Generator
|
7
7
|
attr_reader :template, :var_file
|
8
8
|
|
9
|
-
def initialize(template, var_file)
|
9
|
+
def initialize(template, var_file, extra_args = {})
|
10
10
|
@template = template
|
11
11
|
@var_file = var_file
|
12
|
+
@extra_args = extra_args
|
12
13
|
end
|
13
14
|
|
14
15
|
def generate(output_path = "")
|
15
16
|
vars = load_vars_from_yaml(self.var_file)
|
17
|
+
vars = vars.merge(@extra_args)
|
16
18
|
|
17
19
|
template = Tilt.new(self.template)
|
18
20
|
result = template.render(self, vars)
|
data/lib/templator/version.rb
CHANGED
data/lib/templator.rb
CHANGED
@@ -5,13 +5,32 @@ require_relative "templator/version"
|
|
5
5
|
module Templator
|
6
6
|
class Executor < Thor
|
7
7
|
desc "generate", "Generate content from template and vars"
|
8
|
-
option :template, required: true
|
9
|
-
option :var_file, required: true
|
10
|
-
option :output_path
|
8
|
+
option :template, required: true, aliases: '-t'
|
9
|
+
option :var_file, required: true, aliases: '-f'
|
10
|
+
option :output_path, aliases: '-o'
|
11
|
+
option :extra_vars, default: '', desc: 'Support key=value pairs only, separated by commas', banner: '"key=value,other_key=other_value"'
|
11
12
|
def generate
|
12
|
-
|
13
|
-
|
13
|
+
extra_vars = convert_extra_vars(options[:extra_vars])
|
14
|
+
generator = Templator::Generator.new(options[:template], options[:var_file], extra_vars)
|
15
|
+
say generator.generate(options[:output_path])
|
16
|
+
end
|
17
|
+
|
18
|
+
desc 'version', 'Current version'
|
19
|
+
map %w[-v --version] => :version
|
20
|
+
def version
|
21
|
+
say Templator::VERSION
|
22
|
+
end
|
23
|
+
|
24
|
+
private
|
25
|
+
|
26
|
+
def convert_extra_vars(args = "")
|
27
|
+
args.split(',').reduce({}) do |hash, kv|
|
28
|
+
key, value = kv.split('=').map(&:strip)
|
29
|
+
hash[key] = value
|
30
|
+
hash
|
31
|
+
end
|
14
32
|
end
|
15
33
|
end
|
16
34
|
end
|
17
35
|
|
36
|
+
Templator::Executor.start
|