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 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