erb_asterisk 0.0.8 → 0.0.9
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 +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 = {}
|