bougyman-freeswitcher 0.1.2 → 0.1.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/fsr.rb +1 -1
- data/lib/fsr/app/limit.rb +19 -0
- data/spec/fsr/app/limit.rb +26 -0
- data/spec/fsr/loading.rb +2 -2
- metadata +3 -3
- data/lib/fsr/cmd/limit.rb +0 -31
- data/spec/fsr/cmd/limit.rb +0 -23
data/lib/fsr.rb
CHANGED
@@ -0,0 +1,19 @@
|
|
1
|
+
require "fsr/app"
|
2
|
+
module FSR
|
3
|
+
module App
|
4
|
+
class Limit < Application
|
5
|
+
|
6
|
+
def initialize(id = nil, realm = "$${domain}", limit = 5)
|
7
|
+
@realm, @id, @limit = realm, id, limit
|
8
|
+
raise "Must supply a valid id" if @id.nil?
|
9
|
+
end
|
10
|
+
|
11
|
+
def arguments
|
12
|
+
[@realm, @id, @limit]
|
13
|
+
end
|
14
|
+
|
15
|
+
end
|
16
|
+
|
17
|
+
register(:limit, Limit)
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,26 @@
|
|
1
|
+
require 'spec/helper'
|
2
|
+
require "fsr/app"
|
3
|
+
FSR::App.load_application("limit")
|
4
|
+
|
5
|
+
describe "Testing FSR::App::Limit" do
|
6
|
+
## Calls ##
|
7
|
+
# Interface to calls
|
8
|
+
it "FSR::App::Limit should send proper limit command only passing an id" do
|
9
|
+
limit = FSR::App::Limit.new("fsr_caller")
|
10
|
+
limit.raw.should == "limit($${domain} fsr_caller 5)"
|
11
|
+
limit.sendmsg.should == "call-command: execute\nexecute-app-name: limit\nexecute-app-arg: $${domain} fsr_caller 5\n\n"
|
12
|
+
end
|
13
|
+
|
14
|
+
it "FSR::App::Limit should send proper limit command passing id and realm" do
|
15
|
+
limit = FSR::App::Limit.new("fsr_caller", "foodomain")
|
16
|
+
limit.raw.should == "limit(foodomain fsr_caller 5)"
|
17
|
+
limit.sendmsg.should == "call-command: execute\nexecute-app-name: limit\nexecute-app-arg: foodomain fsr_caller 5\n\n"
|
18
|
+
end
|
19
|
+
|
20
|
+
it "FSR::App::Limit should send proper limit command passing id, realm, and limit" do
|
21
|
+
limit = FSR::App::Limit.new("fsr_caller", "foodomain", 10)
|
22
|
+
limit.raw.should == "limit(foodomain fsr_caller 10)"
|
23
|
+
limit.sendmsg.should == "call-command: execute\nexecute-app-name: limit\nexecute-app-arg: foodomain fsr_caller 10\n\n"
|
24
|
+
end
|
25
|
+
|
26
|
+
end
|
data/spec/fsr/loading.rb
CHANGED
@@ -4,7 +4,7 @@ require 'spec/helper'
|
|
4
4
|
describe "Testing FSR module loading methods" do
|
5
5
|
# When you add applications you must modify the expected apps_loaded behavior
|
6
6
|
it "Loads all applications" do
|
7
|
-
all_apps = [:play_and_get_digits, :uuid_dump, :uuid_setvar, :uuid_getvar, :read, :set, :transfer, :speak, :fs_sleep, :playback, :answer, :fifo, :bridge, :hangup, :conference, :fs_break, :log]
|
7
|
+
all_apps = [:play_and_get_digits, :uuid_dump, :uuid_setvar, :uuid_getvar, :read, :set, :transfer, :speak, :fs_sleep, :playback, :answer, :fifo, :bridge, :hangup, :conference, :fs_break, :log, :limit]
|
8
8
|
# Add any apps which will load to this set
|
9
9
|
apps_loaded = FSR.load_all_applications
|
10
10
|
apps_loaded.kind_of?(Array).should == true
|
@@ -16,7 +16,7 @@ describe "Testing FSR module loading methods" do
|
|
16
16
|
|
17
17
|
# When you add commands you must modify the expected cmds_loaded behavior
|
18
18
|
it "Loads all commands" do
|
19
|
-
all_commands = [:originate, :sofia, :fsctl, :sofia_contact, :status, :calls
|
19
|
+
all_commands = [:originate, :sofia, :fsctl, :sofia_contact, :status, :calls] # If you add a command add it to this set
|
20
20
|
cmds_loaded = FSR.load_all_commands
|
21
21
|
cmds_loaded.kind_of?(Array).should == true
|
22
22
|
all_commands.each do |cmd|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bougyman-freeswitcher
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Jayson Vaughn
|
@@ -60,6 +60,7 @@ files:
|
|
60
60
|
- lib/fsr/app/fs_break.rb
|
61
61
|
- lib/fsr/app/fs_sleep.rb
|
62
62
|
- lib/fsr/app/hangup.rb
|
63
|
+
- lib/fsr/app/limit.rb
|
63
64
|
- lib/fsr/app/log.rb
|
64
65
|
- lib/fsr/app/play_and_get_digits.rb
|
65
66
|
- lib/fsr/app/playback.rb
|
@@ -74,7 +75,6 @@ files:
|
|
74
75
|
- lib/fsr/cmd
|
75
76
|
- lib/fsr/cmd/calls.rb
|
76
77
|
- lib/fsr/cmd/fsctl.rb
|
77
|
-
- lib/fsr/cmd/limit.rb
|
78
78
|
- lib/fsr/cmd/originate.rb
|
79
79
|
- lib/fsr/cmd/sofia
|
80
80
|
- lib/fsr/cmd/sofia/profile.rb
|
@@ -268,6 +268,7 @@ test_files:
|
|
268
268
|
- spec/fsr/app/conference.rb
|
269
269
|
- spec/fsr/app/fifo.rb
|
270
270
|
- spec/fsr/app/hangup.rb
|
271
|
+
- spec/fsr/app/limit.rb
|
271
272
|
- spec/fsr/app/log.rb
|
272
273
|
- spec/fsr/app/play_and_get_digits.rb
|
273
274
|
- spec/fsr/app/playback.rb
|
@@ -276,7 +277,6 @@ test_files:
|
|
276
277
|
- spec/fsr/app.rb
|
277
278
|
- spec/fsr/cmd
|
278
279
|
- spec/fsr/cmd/calls.rb
|
279
|
-
- spec/fsr/cmd/limit.rb
|
280
280
|
- spec/fsr/cmd/originate.rb
|
281
281
|
- spec/fsr/cmd/sofia
|
282
282
|
- spec/fsr/cmd/sofia/profile.rb
|
data/lib/fsr/cmd/limit.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
require "fsr/app"
|
2
|
-
module FSR
|
3
|
-
module Cmd
|
4
|
-
class Limit < Command
|
5
|
-
|
6
|
-
def initialize(fs_socket = nil, id = nil, realm = "$${domain}", limit = 5)
|
7
|
-
@fs_socket = fs_socket # FSR::CommandSocket obj
|
8
|
-
@realm, @id, @limit = realm, id, limit
|
9
|
-
raise "Must supply a valid id" if @id.nil?
|
10
|
-
end
|
11
|
-
|
12
|
-
# Send the command to the event socket, using bgapi by default.
|
13
|
-
def run(api_method = :api)
|
14
|
-
orig_command = "%s %s" % [api_method, raw]
|
15
|
-
Log.debug "saying #{orig_command}"
|
16
|
-
@fs_socket.say(orig_command)
|
17
|
-
end
|
18
|
-
|
19
|
-
def arguments
|
20
|
-
[@realm, @id, @limit]
|
21
|
-
end
|
22
|
-
|
23
|
-
# This method builds the API command to send to the freeswitch event socket
|
24
|
-
def raw
|
25
|
-
orig_command = "limit %s %s %s" % arguments
|
26
|
-
end
|
27
|
-
end
|
28
|
-
|
29
|
-
register(:limit, Limit)
|
30
|
-
end
|
31
|
-
end
|
data/spec/fsr/cmd/limit.rb
DELETED
@@ -1,23 +0,0 @@
|
|
1
|
-
require 'spec/helper'
|
2
|
-
require "fsr/cmd"
|
3
|
-
FSR::Cmd.load_command("limit")
|
4
|
-
|
5
|
-
describe "Testing FSR::Cmd::Limit" do
|
6
|
-
## Calls ##
|
7
|
-
# Interface to calls
|
8
|
-
it "FSR::Cmd::Limit should send proper limit command only passing an id" do
|
9
|
-
limit = FSR::Cmd::Limit.new(nil, "fsr_caller")
|
10
|
-
limit.raw.should == "limit $${domain} fsr_caller 5"
|
11
|
-
end
|
12
|
-
|
13
|
-
it "FSR::Cmd::Limit should send proper limit command passing id and realm" do
|
14
|
-
limit = FSR::Cmd::Limit.new(nil, "fsr_caller", "foodomain")
|
15
|
-
limit.raw.should == "limit foodomain fsr_caller 5"
|
16
|
-
end
|
17
|
-
|
18
|
-
it "FSR::Cmd::Limit should send proper limit command passing id, realm, and limit" do
|
19
|
-
limit = FSR::Cmd::Limit.new(nil, "fsr_caller", "foodomain", 10)
|
20
|
-
limit.raw.should == "limit foodomain fsr_caller 10"
|
21
|
-
end
|
22
|
-
|
23
|
-
end
|