Module: FSR::App
- Included in:
- Listener::Outbound
- Defined in:
- lib/fsr/app/read.rb,
lib/fsr/app.rb,
lib/fsr/app/log.rb,
lib/fsr/app/set.rb,
lib/fsr/app/fifo.rb,
lib/fsr/app/speak.rb,
lib/fsr/app/limit.rb,
lib/fsr/app/answer.rb,
lib/fsr/app/hangup.rb,
lib/fsr/app/bridge.rb,
lib/fsr/app/transfer.rb,
lib/fsr/app/fs_break.rb,
lib/fsr/app/fs_sleep.rb,
lib/fsr/app/playback.rb,
lib/fsr/app/uuid_dump.rb,
lib/fsr/app/conference.rb,
lib/fsr/app/uuid_setvar.rb,
lib/fsr/app/execute_app.rb,
lib/fsr/app/uuid_getvar.rb,
lib/fsr/app/bind_meta_app.rb,
lib/fsr/app/play_and_get_digits.rb
Overview
http://wiki.freeswitch.org/wiki/Misc._Dialplan_Tools_play_and_get_digits
Defined Under Namespace
Classes: Answer, Application, BindMetaApp, Bridge, Conference, ExecuteApp, FSBreak, FSSleep, Fifo, Hangup, Limit, Log, PlayAndGetDigits, Playback, Read, Set, Speak, Transfer, UuidDump, UuidGetVar, UuidSetVar
Constant Summary
- APPLICATIONS =
{}
- LOAD_PATH =
[FSR::ROOT.join("fsr/app")]
- REGISTER_CODE =
"def %s(*args, &block); APPLICATIONS[%p].new(*args, &block); end"
Class Method Summary (collapse)
- + (Object) list
-
+ (Object) load_all(force_reload = false)
Load all of the applications we find in App::LOAD_PATH.
- + (Object) load_application(application, force_reload = false)
- + (Object) register(application, obj)
Instance Method Summary (collapse)
Class Method Details
+ (Object) list
31 32 33 |
# File 'lib/fsr/app.rb', line 31 def self.list APPLICATIONS.keys end |
+ (Object) load_all(force_reload = false)
Load all of the applications we find in App::LOAD_PATH
55 56 57 58 59 60 61 62 63 |
# File 'lib/fsr/app.rb', line 55 def self.load_all(force_reload = false) glob = "{#{LOAD_PATH.join(',')}}/*.{so,rb,bundle}" Dir[glob].each do |file| force_reload ? load(file) : require(file) end list end |
+ (Object) load_application(application, force_reload = false)
35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/fsr/app.rb', line 35 def self.load_application(application, force_reload = false) exception = nil if Pathname(application).absolute? glob = application else glob = "{#{LOAD_PATH.join(',')}}/#{application}.{so,rb,bundle}" end Dir[glob].each do |file| begin return force_reload ? load(file) : require(file) rescue LoadError => exception end end raise("Couldn't find %s in %p" % [application, LOAD_PATH]) end |
+ (Object) register(application, obj)
26 27 28 29 |
# File 'lib/fsr/app.rb', line 26 def self.register(application, obj) APPLICATIONS[application.to_sym] = obj App.module_eval(REGISTER_CODE % [application, application]) end |
Instance Method Details
- (Object) applications
65 66 67 |
# File 'lib/fsr/app.rb', line 65 def applications FSR::App.list end |