Class: Adhearsion::DialPlan::Loader
- Inherits:
-
Object
- Object
- Adhearsion::DialPlan::Loader
show all
- Defined in:
- lib/adhearsion/voip/dial_plan.rb
Defined Under Namespace
Classes: ContextNameCollector
Class Attribute Summary collapse
Class Method Summary
collapse
Instance Method Summary
collapse
Constructor Details
#initialize ⇒ Loader
Returns a new instance of Loader.
184
185
186
|
# File 'lib/adhearsion/voip/dial_plan.rb', line 184
def initialize
@context_collector = ContextNameCollector.new
end
|
Class Attribute Details
.default_dial_plan_file_name ⇒ Object
Returns the value of attribute default_dial_plan_file_name.
150
151
152
|
# File 'lib/adhearsion/voip/dial_plan.rb', line 150
def default_dial_plan_file_name
@default_dial_plan_file_name
end
|
Class Method Details
.load(dial_plan_as_string) ⇒ Object
152
153
154
155
156
157
158
|
# File 'lib/adhearsion/voip/dial_plan.rb', line 152
def load(dial_plan_as_string)
string_io = StringIO.new dial_plan_as_string
def string_io.path
"(eval)"
end
load_dialplans string_io
end
|
.load_dialplans(*files) ⇒ Object
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
|
# File 'lib/adhearsion/voip/dial_plan.rb', line 160
def load_dialplans(*files)
files = Adhearsion::AHN_CONFIG.files_from_setting("paths", "dialplan") if files.empty?
files = Array files
files.map! do |file|
case file
when File, StringIO
file
when String
File.new file
else
raise ArgumentError, "Unrecognized type of file #{file.inspect}"
end
end
returning new do |loader|
files.each do |file|
loader.load file
end
end
end
|
Instance Method Details
188
189
190
|
# File 'lib/adhearsion/voip/dial_plan.rb', line 188
def contexts
@context_collector.contexts
end
|
#load(dialplan_file) ⇒ Object
192
193
194
195
196
|
# File 'lib/adhearsion/voip/dial_plan.rb', line 192
def load(dialplan_file)
dialplan_code = dialplan_file.read
@context_collector.instance_eval(dialplan_code, dialplan_file.path)
nil
end
|