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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: bbf38bf4e673c087ae0196dc27ecb1e34c94d1df
4
- data.tar.gz: 8da193f97e93ea16c87a9ec70fc294c6dfd39c0c
3
+ metadata.gz: 56c267ce9256d428228ad19da87d44d5874d9e5d
4
+ data.tar.gz: 6b227d68ba7c6950c3cf52c4a681bbe21939d011
5
5
  SHA512:
6
- metadata.gz: d715f98ac45b62b52a2431418c152e09940bb572f6b470def263604952a117e1fb33e02be6290cd11b488d5e833b9ae5b27e321227d201dfbcd3c157b336342c
7
- data.tar.gz: ced26955e954ee6fdbbc08f33cabb429c21fbfae13b5956cec00705a532230ff731cba22e88c54cb66633bdc517fac53370318c90b670d791c9a5acc8ee5919a
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 only in `asterisk/templates` directory.
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
@@ -1,3 +1,3 @@
1
1
  module ErbAsterisk
2
- VERSION = '0.0.8'.freeze
2
+ VERSION = '0.0.9'.freeze
3
3
  end
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 = {}
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.8
4
+ version: 0.0.9
5
5
  platform: ruby
6
6
  authors:
7
7
  - Artem Baikuzin