erb_asterisk 0.0.7 → 0.0.8
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/erb_asterisk.gemspec +2 -0
- data/exe/erb_asterisk +5 -1
- data/lib/erb_asterisk.rb +18 -5
- data/lib/erb_asterisk/arg_parser.rb +23 -0
- data/lib/erb_asterisk/version.rb +1 -1
- metadata +16 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: bbf38bf4e673c087ae0196dc27ecb1e34c94d1df
|
4
|
+
data.tar.gz: 8da193f97e93ea16c87a9ec70fc294c6dfd39c0c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: d715f98ac45b62b52a2431418c152e09940bb572f6b470def263604952a117e1fb33e02be6290cd11b488d5e833b9ae5b27e321227d201dfbcd3c157b336342c
|
7
|
+
data.tar.gz: ced26955e954ee6fdbbc08f33cabb429c21fbfae13b5956cec00705a532230ff731cba22e88c54cb66633bdc517fac53370318c90b670d791c9a5acc8ee5919a
|
data/erb_asterisk.gemspec
CHANGED
@@ -24,6 +24,8 @@ Gem::Specification.new do |spec|
|
|
24
24
|
spec.executables = 'erb_asterisk'
|
25
25
|
spec.require_paths = ['lib']
|
26
26
|
|
27
|
+
spec.add_runtime_dependency 'slop', '~> 4.5'
|
28
|
+
|
27
29
|
spec.add_development_dependency 'bundler', '~> 1.15'
|
28
30
|
spec.add_development_dependency 'rake', '~> 10.0'
|
29
31
|
spec.add_development_dependency 'minitest', '~> 5.10', '>= 5.10.3'
|
data/exe/erb_asterisk
CHANGED
@@ -1,10 +1,14 @@
|
|
1
1
|
#!/usr/bin/env ruby
|
2
2
|
|
3
|
+
require 'optparse'
|
3
4
|
require 'pathname'
|
4
5
|
$LOAD_PATH.unshift(
|
5
6
|
File.expand_path('../../lib', Pathname.new(__FILE__).realpath))
|
6
7
|
|
7
8
|
require 'erb_asterisk'
|
9
|
+
require 'erb_asterisk/arg_parser'
|
10
|
+
|
11
|
+
arg_parser = ErbAsterisk::ArgParser.new
|
8
12
|
|
9
13
|
include ErbAsterisk
|
10
|
-
execute
|
14
|
+
execute(arg_parser.execute)
|
data/lib/erb_asterisk.rb
CHANGED
@@ -4,9 +4,8 @@ require 'pathname'
|
|
4
4
|
|
5
5
|
module ErbAsterisk
|
6
6
|
# Render template
|
7
|
-
# TODO: render user defined templates
|
8
7
|
def render(template, vars = {})
|
9
|
-
tpl =
|
8
|
+
tpl = read_template(template)
|
10
9
|
e = ERB.new(tpl)
|
11
10
|
|
12
11
|
b = TOPLEVEL_BINDING
|
@@ -56,8 +55,8 @@ module ErbAsterisk
|
|
56
55
|
@yields[tag]
|
57
56
|
end
|
58
57
|
|
59
|
-
def execute
|
60
|
-
init_instance
|
58
|
+
def execute(opts)
|
59
|
+
init_instance(opts)
|
61
60
|
load_project_file
|
62
61
|
|
63
62
|
root = asterisk_root
|
@@ -73,10 +72,13 @@ module ErbAsterisk
|
|
73
72
|
ERB_ASTERISK_CONF = 'asterisk.conf'.freeze
|
74
73
|
ERB_ASTERISK_DIR = 'asterisk/'.freeze
|
75
74
|
|
76
|
-
def init_instance
|
75
|
+
def init_instance(opts)
|
77
76
|
@exports = {}
|
78
77
|
@templates_path = ''
|
79
78
|
@yields = {}
|
79
|
+
|
80
|
+
user_path = opts[:templates].nil? ? '~/.erb_asterisk' : opts[:templates]
|
81
|
+
@user_templates = File.expand_path("#{user_path}/templates")
|
80
82
|
end
|
81
83
|
|
82
84
|
def asterisk_root
|
@@ -141,4 +143,15 @@ module ErbAsterisk
|
|
141
143
|
File.write("#{root}#{include_file}", result)
|
142
144
|
end
|
143
145
|
end
|
146
|
+
|
147
|
+
def read_template(template)
|
148
|
+
file_name = "#{template}.erb"
|
149
|
+
project_template = "#{@templates_path}/#{file_name}"
|
150
|
+
return File.read(project_template) if File.exist?(project_template)
|
151
|
+
|
152
|
+
user_template = "#{@user_templates}/#{file_name}"
|
153
|
+
return File.read(user_template) if File.exist?(user_template)
|
154
|
+
|
155
|
+
raise "Template not found: #{template}"
|
156
|
+
end
|
144
157
|
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
require 'slop'
|
2
|
+
require 'erb_asterisk/version'
|
3
|
+
|
4
|
+
module ErbAsterisk
|
5
|
+
class ArgParser
|
6
|
+
def execute
|
7
|
+
Slop.parse do |o|
|
8
|
+
o.string '-t', '--templates',
|
9
|
+
'set templates path (e.g.: ~/.erb_asterisk)'
|
10
|
+
|
11
|
+
o.on '-v', '--version', 'print the version' do
|
12
|
+
puts "#{VERSION}"
|
13
|
+
exit
|
14
|
+
end
|
15
|
+
|
16
|
+
o.on '-h', '--help', 'print this help' do
|
17
|
+
puts o
|
18
|
+
exit
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
data/lib/erb_asterisk/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: erb_asterisk
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.8
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Artem Baikuzin
|
@@ -10,6 +10,20 @@ bindir: exe
|
|
10
10
|
cert_chain: []
|
11
11
|
date: 2017-08-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: slop
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '4.5'
|
20
|
+
type: :runtime
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '4.5'
|
13
27
|
- !ruby/object:Gem::Dependency
|
14
28
|
name: bundler
|
15
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -98,6 +112,7 @@ files:
|
|
98
112
|
- erb_asterisk.gemspec
|
99
113
|
- exe/erb_asterisk
|
100
114
|
- lib/erb_asterisk.rb
|
115
|
+
- lib/erb_asterisk/arg_parser.rb
|
101
116
|
- lib/erb_asterisk/version.rb
|
102
117
|
homepage: https://github.com/ybinzu/erb_asterisk
|
103
118
|
licenses:
|