erb_asterisk 0.0.8 → 0.0.9
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/README.md +20 -1
- data/lib/erb_asterisk/version.rb +1 -1
- data/lib/erb_asterisk.rb +12 -0
- 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: 56c267ce9256d428228ad19da87d44d5874d9e5d
|
4
|
+
data.tar.gz: 6b227d68ba7c6950c3cf52c4a681bbe21939d011
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: f42484185ce6cb853aea38fe81ffd00960eeb224c40aceb0bcaf834e7e384e87cffd275b6d1429e27e269f3e9034232b8a5d8b985e12aaa47fb8b5210f5aecb4
|
7
|
+
data.tar.gz: cd865167db02b11ffd66424b9c8f8286b59d62ff8194fa45f287dcbe629b716f2245107cb30f5dbacbd71b4bb46946e016a600ee6a7e757eb215ff3f0a1981cb
|
data/README.md
CHANGED
@@ -35,7 +35,7 @@ This gem is add ability to declare asterisk configuration with ERB files.
|
|
35
35
|
|
36
36
|
### Templates
|
37
37
|
|
38
|
-
Templates can be defined
|
38
|
+
Templates can be defined in `asterisk/templates`, user home directory `~/.erb_asterisk/templastes`, or via command line argument `--templates`.
|
39
39
|
|
40
40
|
pjsip_operators.erb:
|
41
41
|
```
|
@@ -121,6 +121,16 @@ extensions.conf:
|
|
121
121
|
include => office-inbound
|
122
122
|
```
|
123
123
|
|
124
|
+
#### Escape special symbols in extension name
|
125
|
+
```
|
126
|
+
exten => _<%= escape_exten 'LongExtension1234!' %>-X.,1,NoOp
|
127
|
+
```
|
128
|
+
|
129
|
+
Renders to:
|
130
|
+
```
|
131
|
+
exten => _Lo[n]gE[x]te[n]sio[n]1234[!]-X.,1,NoOp
|
132
|
+
```
|
133
|
+
|
124
134
|
#### Global variables
|
125
135
|
|
126
136
|
Project available global variables can be defined inside file `erb_asterisk_project.rb`, e.g.:
|
@@ -128,6 +138,15 @@ Project available global variables can be defined inside file `erb_asterisk_proj
|
|
128
138
|
OPERATORS_SIZE = 31
|
129
139
|
```
|
130
140
|
|
141
|
+
### Command line arguments
|
142
|
+
|
143
|
+
```
|
144
|
+
usage: exe/erb_asterisk [options]
|
145
|
+
-t, --templates set templates path (e.g.: ~/.erb_asterisk)
|
146
|
+
-v, --version print the version
|
147
|
+
-h, --help print this help
|
148
|
+
```
|
149
|
+
|
131
150
|
### Run erb_asterisk
|
132
151
|
|
133
152
|
$ cd /etc/asterisk
|
data/lib/erb_asterisk/version.rb
CHANGED
data/lib/erb_asterisk.rb
CHANGED
@@ -55,6 +55,17 @@ module ErbAsterisk
|
|
55
55
|
@yields[tag]
|
56
56
|
end
|
57
57
|
|
58
|
+
# Escape special symbols in extension name
|
59
|
+
#
|
60
|
+
# vnov -> v[n]on
|
61
|
+
# LongExtension1234! -> Lo[n]gE[x]te[n]sio[n]1234[!]
|
62
|
+
#
|
63
|
+
def escape_exten(exten)
|
64
|
+
exten.each_char.reduce('') do |s, c|
|
65
|
+
s << (ERB_ASTERISK_PATTERNS.include?(c.downcase) ? "[#{c}]" : c)
|
66
|
+
end
|
67
|
+
end
|
68
|
+
|
58
69
|
def execute(opts)
|
59
70
|
init_instance(opts)
|
60
71
|
load_project_file
|
@@ -71,6 +82,7 @@ module ErbAsterisk
|
|
71
82
|
ERB_PROJECT_FILE = './erb_asterisk_project.rb'.freeze
|
72
83
|
ERB_ASTERISK_CONF = 'asterisk.conf'.freeze
|
73
84
|
ERB_ASTERISK_DIR = 'asterisk/'.freeze
|
85
|
+
ERB_ASTERISK_PATTERNS = %w(x z n . !)
|
74
86
|
|
75
87
|
def init_instance(opts)
|
76
88
|
@exports = {}
|