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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0f28160e260bb3c4849b7543f475b97c7d65b580
4
- data.tar.gz: 03485347c9b2928fee8068680a2e3a474fe538d3
3
+ metadata.gz: c7bacef89b1c7d0f1ac686ffe7b888bb29def2b6
4
+ data.tar.gz: 1abdf4056474ce13965c37015a20adcfe618ead9
5
5
  SHA512:
6
- metadata.gz: 05036aec2dd83afec6b77356ee21d16f0cf7ad91f8a6139c6948e35eb3dbc3198377fa86d5bee7bd05fe4cfa963e908296bbae80d2d52de25ce298e00218854c
7
- data.tar.gz: b56d9785b2e6567d8cff2a8f30be5ab365c8a96f7f521933b6cecb83b921d9279943406bf025b4ad83b7b4b3efd312d17622863356eb33778620f105a5fbee5d
6
+ metadata.gz: aa00fa2a4b569e90fd2fff0071374981c125f3afd24494b3d2fe4a6857c56d871fd924c5ba66f8f4c97551f7381ff559ceee11dc9f878f2a59b0021c4b0e1c51
7
+ data.tar.gz: e60e62d6c263c931eec066a44e5ebfdfdac336931a291362cd32fcb2f2fb07780aba5788d86f7fb7b1fc1ac6ba6889627e2bd0fe2c20004c5b21ce8e0c6d0bd5
data/README.md CHANGED
@@ -1,5 +1,7 @@
1
1
  # K-Templator
2
2
 
3
+ [![Build Status](https://travis-ci.org/khaiql/k-templator.svg?branch=master)](https://travis-ci.org/khaiql/k-templator) [![Gem Version](https://badge.fury.io/rb/k-templator.svg)](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
@@ -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)
@@ -1,3 +1,3 @@
1
1
  module Templator
2
- VERSION = "0.1.1"
2
+ VERSION = "0.2.1"
3
3
  end
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
- generator = Templator::Generator.new(options[:template], options[:var_file])
13
- puts generator.generate(options[:output_path])
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
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: k-templator
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Scott Le