adhearsion 2.4.0.beta2 → 2.4.0.beta3

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: 954ba804ad541b402e9b92a8bc467cfe6d37bd5d
4
- data.tar.gz: 220bcee6bb1362c837b7a1f652135aaf279d7ae9
3
+ metadata.gz: a21555092db2b8678e869cbf61fe9d365c6ba61f
4
+ data.tar.gz: 118c8bdbf5dedcf3c52287175ba13637b5b711c6
5
5
  SHA512:
6
- metadata.gz: c21bfd97fb6181317bc98cf881b893b84d69ca2028fd20da89f1acf192390305a48b89677cacc40181f07bcdd0580c20de961abf446d7dd273d73b7fb6b20b59
7
- data.tar.gz: 07321554930f529a73ea01aa6c8f79ebb45782272a8a023e3b6610957297cd202fbe333694071357ef72aabb25be0e8c8cecd7531b34c14169ffc5c23bc81d44
6
+ metadata.gz: d1b0b67df4b8b76a4f77e724dcc7b2523c719d37bb6eed73a7adaf3bbb90db792de9d69cbd09b0f860221605125092684756d84430c176c8aa5bff072ff476cd
7
+ data.tar.gz: e5c9deb98506f8ce27a1185b89ffe17eb474f79432dc697436566897d1c5b839007eaf0231fa08d8e243c514907b2572b42d6fa3f4f5079f8da4ae6ccdda67e2
@@ -1,22 +1,23 @@
1
1
  # [develop](https://github.com/adhearsion/adhearsion)
2
2
 
3
- # [2.4.0.beta2](https://github.com/adhearsion/adhearsion/compare/v2.3.5...v2.4.0.beta2) - [2013-08-23](https://rubygems.org/gems/adhearsion/versions/2.4.0.beta2)
3
+ # [2.4.0.beta3](https://github.com/adhearsion/adhearsion/compare/v2.3.5...v2.4.0.beta3) - [2013-08-27](https://rubygems.org/gems/adhearsion/versions/2.4.0.beta3)
4
4
  * Deprecation: Ruby 1.9.2 support is deprecated and will be dropped in a future version of Adhearsion
5
+ * Deprecation: Some media options from Punchblock config are now overriden by other core config, and will eventually be removed.
6
+ * Deprecation: Core implementations of `CallController#ask` and `#menu` are deprecated, and will be replaced in future with those in [adhearsion-asr](http://github.com/adhearsion/adhearsion-asr). See http://adhearsion.com/docs/common_problems#toc_3 for details.
5
7
  * Feature: Update to Punchblock 2.0 for JRuby compatibility, better performance and Rayo spec compliance
6
- * Feature: Add Call#wait_for_end, which blocks until the call ends and returns its end reason
7
- * Feature: Add joined call attribute to dial status
8
+ * Feature: Add `Call#wait_for_end`, which blocks until the call ends and returns its end reason
8
9
  * Feature: Track call start/end time and duration
9
- * Feature: Add per-call join duration and disposition to DialStatus
10
+ * Feature: Add per-call join duration and disposition to `DialStatus`
10
11
  * Feature: Add `CallController#dial_and_confirm` which allows parallel confirmation of outbound calls and apologies to losing parties
11
12
  * Feature: Add `CallController::Dial::Dial#split`, `#rejoin`, `#merge` and `#skip_cleanup` to support conferencing and transfer use cases
12
13
  * Feature: Add `#originate` method to console as alias for `Adhearsion::OutboundCall.originate`
13
14
  * Feature: Allow the console to be disabled using `--no-console`
14
- * Feature: Add CLI options to generate hooks for a plugin to register on [ahnhub.com](http://www.ahnhub.com)
15
+ * Feature: Add CLI commands to generate hooks for a plugin to register on [ahnhub.com](http://www.ahnhub.com)
15
16
  * Bugfix: Removed unnecessary Mocha reference from generated plugin
16
17
  * Bugfix: Call loggers are deleted after a call finishes, fixing a memory leak
17
18
  * Bugfix: A menu definition's block context is now available
18
19
  * Bugfix: Ensure call's command registry is not leaked outside the actor
19
- * Bugfix: An application's lib/ directory is now in the load path so dependencies may be reasolved more simply. You may now require 'foo.rb' instead of "#{Adhearsion.root}/lib/foo.rb"
20
+ * Bugfix: An application's `lib/` directory is now in the load path so dependencies may be reasolved more simply. You may now `require 'foo'` instead of `require "#{Adhearsion.root}/lib/foo.rb"`
20
21
  * Bugfix: Resolve hostname to some local name when experiencing network issues
21
22
  * Bugfix: Ensure smooth shutdown of console and XMPP connections
22
23
  * Bugfix: Warn when booting Adhearsion with an invalid environment name
@@ -41,6 +41,8 @@ module Adhearsion
41
41
  # @see CallController#pass
42
42
  #
43
43
  def ask(*args, &block)
44
+ logger.warn "This implementation of #ask is deprecated due to issues with dropped DTMF. For a solution, see http://adhearsion.com/docs/common_problems#toc_3"
45
+
44
46
  options = args.last.kind_of?(Hash) ? args.pop : {}
45
47
  sound_files = args.flatten
46
48
 
@@ -129,6 +131,8 @@ module Adhearsion
129
131
  # @see CallController#pass
130
132
  #
131
133
  def menu(*args, &block)
134
+ logger.warn "This implementation of #menu is deprecated due to issues with dropped DTMF. For a solution, see http://adhearsion.com/docs/common_problems#toc_3"
135
+
132
136
  options = args.last.kind_of?(Hash) ? args.pop : {}
133
137
  sound_files = args.flatten
134
138
 
@@ -21,9 +21,13 @@ module Adhearsion
21
21
 
22
22
  def new_output(options)
23
23
  defaults = {}
24
- default_voice = Adhearsion.config.punchblock[:default_voice]
24
+
25
+ default_voice = Adhearsion.config.platform.media.default_voice || Adhearsion.config.punchblock[:default_voice]
25
26
  defaults[:voice] = default_voice if default_voice
26
27
 
28
+ renderer = Adhearsion.config.platform.media.default_renderer || Adhearsion.config.punchblock[:media_engine]
29
+ defaults[:renderer] = renderer if renderer
30
+
27
31
  Punchblock::Component::Output.new defaults.merge(options)
28
32
  end
29
33
  end
@@ -58,6 +58,12 @@ module Adhearsion
58
58
  after_hangup_lifetime 30, :transform => Proc.new { |v| v.to_i }, :desc => <<-__
59
59
  Lifetime of a call after it has hung up
60
60
  __
61
+
62
+ desc "Media configuration"
63
+ media {
64
+ default_voice nil, desc: 'The default voice used for all output. Set nil to use platform default.'
65
+ default_renderer nil, desc: 'The default renderer used for all output. Set nil to use platform default.'
66
+ }
61
67
  end
62
68
 
63
69
  Loquacious::Configuration.for :platform, &block if block_given?
@@ -1,6 +1,10 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem "adhearsion", "~> <%= Adhearsion::VERSION.split('.')[0,2].join('.') %>"
3
+ gem 'adhearsion', '~> <%= Adhearsion::VERSION.split('.')[0,2].join('.') %>'
4
+
5
+ # This is here by default due to deprecation of #ask and #menu.
6
+ # See http://adhearsion.com/docs/common_problems#toc_3 for details
7
+ gem 'adhearsion-asr'
4
8
 
5
9
  #
6
10
  # Here are some example plugins you might like to use. Simply
@@ -103,8 +103,6 @@ module Adhearsion
103
103
 
104
104
  def fqdn
105
105
  Socket.gethostbyname(Socket.gethostname).first
106
- rescue SocketError
107
- Socket.gethostname
108
106
  end
109
107
 
110
108
  def self.method_missing(method_name, *args, &block)
@@ -23,8 +23,8 @@ module Adhearsion
23
23
  connection_timeout 60 , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "The amount of time to wait for a connection"
24
24
  reconnect_attempts 1.0/0.0 , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "The number of times to (re)attempt connection to the server"
25
25
  reconnect_timer 5 , :transform => Proc.new { |v| PunchblockPlugin.validate_number v }, :desc => "Delay between connection attempts"
26
- media_engine nil , :transform => Proc.new { |v| v.to_sym }, :desc => "The media engine to use. Defaults to platform default."
27
- default_voice nil , :transform => Proc.new { |v| v.to_sym }, :desc => "The default TTS voice to use."
26
+ media_engine nil , :transform => Proc.new { |v| v.to_sym }, :desc => "The media engine to use. Defaults to platform default. This is deprecated, please see core media config options for forward compatability."
27
+ default_voice nil , :transform => Proc.new { |v| v.to_sym }, :desc => "The default TTS voice to use. This is deprecated, please see core media config options for forward compatability."
28
28
  end
29
29
 
30
30
  init :punchblock do
@@ -27,9 +27,7 @@ module Adhearsion
27
27
  :host => self.config.host,
28
28
  :port => self.config.port,
29
29
  :certs => self.config.certs_directory,
30
- :root_domain => self.config.root_domain,
31
- :media_engine => self.config.media_engine,
32
- :default_voice => self.config.default_voice
30
+ :root_domain => self.config.root_domain
33
31
  }
34
32
 
35
33
  self.client = Punchblock.client_with_connection self.config.platform, connection_options
@@ -159,7 +157,13 @@ module Adhearsion
159
157
  end
160
158
 
161
159
  def resource
162
- [Adhearsion::Process.fqdn, ::Process.pid].join '-'
160
+ [machine_identifier, ::Process.pid].join '-'
161
+ end
162
+
163
+ def machine_identifier
164
+ Adhearsion::Process.fqdn
165
+ rescue SocketError
166
+ Socket.gethostname
163
167
  end
164
168
 
165
169
  def connection
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Adhearsion
4
- VERSION = '2.4.0.beta2'
4
+ VERSION = '2.4.0.beta3'
5
5
  end
@@ -478,9 +478,9 @@ module Adhearsion
478
478
 
479
479
  sleep 0.5
480
480
 
481
- other_mock_call << mock_end
482
- second_root_call << mock_end
483
- second_other_mock_call << mock_end
481
+ other_mock_call.async << mock_end
482
+ second_root_call.async << mock_end
483
+ second_other_mock_call.async << mock_end
484
484
 
485
485
  latch.wait(1).should be_true
486
486
 
@@ -499,9 +499,9 @@ module Adhearsion
499
499
 
500
500
  sleep 0.5
501
501
 
502
- other_mock_call << mock_end
503
- second_root_call << mock_end
504
- second_other_mock_call << mock_end
502
+ other_mock_call.async << mock_end
503
+ second_root_call.async << mock_end
504
+ second_other_mock_call.async << mock_end
505
505
 
506
506
  latch.wait(1).should be_true
507
507
 
@@ -580,9 +580,9 @@ module Adhearsion
580
580
 
581
581
  sleep 0.5
582
582
 
583
- other_mock_call << mock_end
584
- second_root_call << mock_end
585
- second_other_mock_call << mock_end
583
+ other_mock_call.async << mock_end
584
+ second_root_call.async << mock_end
585
+ second_other_mock_call.async << mock_end
586
586
 
587
587
  latch.wait(1).should be_true
588
588
 
@@ -993,7 +993,9 @@ module Adhearsion
993
993
 
994
994
  other_mock_call.should_receive(:dial).once.with(to, from: nil)
995
995
  other_mock_call.should_receive(:join).once.with(call)
996
- other_mock_call.should_receive(:hangup).once
996
+ other_mock_call.should_receive(:hangup).once.and_return do
997
+ other_mock_call << mock_end
998
+ end
997
999
 
998
1000
  second_other_mock_call.should_receive(:dial).once.with(second_to, from: nil)
999
1001
  second_other_mock_call.should_receive(:join).never
@@ -1010,7 +1012,6 @@ module Adhearsion
1010
1012
  confirmation_latch.wait(1).should be_true
1011
1013
 
1012
1014
  other_mock_call << Punchblock::Event::Unjoined.new(call_uri: call.id)
1013
- other_mock_call << mock_end
1014
1015
 
1015
1016
  latch.wait(2).should be_true
1016
1017
 
@@ -1476,9 +1477,9 @@ module Adhearsion
1476
1477
 
1477
1478
  sleep 0.5
1478
1479
 
1479
- other_mock_call << mock_end
1480
- second_root_call << mock_end
1481
- second_other_mock_call << mock_end
1480
+ other_mock_call.async << mock_end
1481
+ second_root_call.async << mock_end
1482
+ second_other_mock_call.async << mock_end
1482
1483
 
1483
1484
  latch.wait(1).should be_true
1484
1485
 
@@ -1497,9 +1498,9 @@ module Adhearsion
1497
1498
 
1498
1499
  sleep 0.5
1499
1500
 
1500
- other_mock_call << mock_end
1501
- second_root_call << mock_end
1502
- second_other_mock_call << mock_end
1501
+ other_mock_call.async << mock_end
1502
+ second_root_call.async << mock_end
1503
+ second_other_mock_call.async << mock_end
1503
1504
 
1504
1505
  latch.wait(1).should be_true
1505
1506
 
@@ -1578,9 +1579,9 @@ module Adhearsion
1578
1579
 
1579
1580
  sleep 0.5
1580
1581
 
1581
- other_mock_call << mock_end
1582
- second_root_call << mock_end
1583
- second_other_mock_call << mock_end
1582
+ other_mock_call.async << mock_end
1583
+ second_root_call.async << mock_end
1584
+ second_other_mock_call.async << mock_end
1584
1585
 
1585
1586
  latch.wait(1).should be_true
1586
1587
 
@@ -166,6 +166,13 @@ module Adhearsion
166
166
  MenuDSL::Menu.should_receive(:new).and_return(menu_instance)
167
167
  end
168
168
 
169
+ it "logs a warning about dropped DTMF" do
170
+ menu_instance.should_receive(:continue).and_return(result_done)
171
+
172
+ call.logger.should_receive(:warn).with(/deprecated/)
173
+ subject.menu sound_files
174
+ end
175
+
169
176
  it "exits the function if MenuResultDone" do
170
177
  menu_instance.should_receive(:should_continue?).and_return(true)
171
178
  menu_instance.should_receive(:continue).and_return(result_done)
@@ -271,6 +278,13 @@ module Adhearsion
271
278
  MenuDSL::Menu.should_receive(:new).and_return(menu_instance)
272
279
  end
273
280
 
281
+ it "logs a warning about dropped DTMF" do
282
+ menu_instance.should_receive(:continue).and_return(result_done)
283
+
284
+ call.logger.should_receive(:warn).with(/deprecated/)
285
+ subject.ask sound_files
286
+ end
287
+
274
288
  it "exits the function if MenuResultDone" do
275
289
  menu_instance.should_receive(:continue).and_return(result_done)
276
290
  result = subject.ask sound_files
@@ -748,7 +748,7 @@ module Adhearsion
748
748
  end
749
749
  end
750
750
 
751
- describe "with a default voice set" do
751
+ describe "with a default voice set in PB config" do
752
752
  before { Adhearsion.config.punchblock.default_voice = 'foo' }
753
753
 
754
754
  it 'sets the voice on the output component' do
@@ -761,6 +761,57 @@ module Adhearsion
761
761
  after { Adhearsion.config.punchblock.default_voice = nil }
762
762
  end
763
763
 
764
+ describe "with a default voice set in core and PB config" do
765
+ before do
766
+ Adhearsion.config.punchblock.default_voice = 'foo'
767
+ Adhearsion.config.platform.media.default_voice = 'bar'
768
+ end
769
+
770
+ it 'prefers core config to set the voice on the output component' do
771
+ str = "Hello world"
772
+ ssml = RubySpeech::SSML.draw { string str }
773
+ expect_ssml_output ssml, voice: 'bar'
774
+ subject.say(str)
775
+ end
776
+
777
+ after do
778
+ Adhearsion.config.punchblock.default_voice = nil
779
+ Adhearsion.config.platform.media.default_voice = nil
780
+ end
781
+ end
782
+
783
+ describe "with a default media engine set in PB config" do
784
+ before { Adhearsion.config.punchblock.media_engine = 'foo' }
785
+
786
+ it 'sets the renderer on the output component' do
787
+ str = "Hello world"
788
+ ssml = RubySpeech::SSML.draw { string str }
789
+ expect_ssml_output ssml, renderer: 'foo'
790
+ subject.say(str)
791
+ end
792
+
793
+ after { Adhearsion.config.punchblock.media_engine = nil }
794
+ end
795
+
796
+ describe "with a default renderer set in core and PB config" do
797
+ before do
798
+ Adhearsion.config.punchblock.media_engine = 'foo'
799
+ Adhearsion.config.platform.media.default_renderer = 'bar'
800
+ end
801
+
802
+ it 'prefers core config to set the renderer on the output component' do
803
+ str = "Hello world"
804
+ ssml = RubySpeech::SSML.draw { string str }
805
+ expect_ssml_output ssml, renderer: 'bar'
806
+ subject.say(str)
807
+ end
808
+
809
+ after do
810
+ Adhearsion.config.punchblock.media_engine = nil
811
+ Adhearsion.config.platform.media.default_renderer = nil
812
+ end
813
+ end
814
+
764
815
  describe "converts the argument to a string" do
765
816
  it 'calls output with a string' do
766
817
  argument = 123
@@ -795,7 +846,7 @@ module Adhearsion
795
846
  end
796
847
  end
797
848
 
798
- describe "with a default voice set" do
849
+ describe "with a default voice set in PB config" do
799
850
  before { Adhearsion.config.punchblock.default_voice = 'foo' }
800
851
 
801
852
  it 'sets the voice on the output component' do
@@ -808,6 +859,57 @@ module Adhearsion
808
859
  after { Adhearsion.config.punchblock.default_voice = nil }
809
860
  end
810
861
 
862
+ describe "with a default voice set in core and PB config" do
863
+ before do
864
+ Adhearsion.config.punchblock.default_voice = 'foo'
865
+ Adhearsion.config.platform.media.default_voice = 'bar'
866
+ end
867
+
868
+ it 'prefers core config to set the voice on the output component' do
869
+ str = "Hello world"
870
+ ssml = RubySpeech::SSML.draw { string str }
871
+ expect_async_ssml_output ssml, voice: 'bar'
872
+ subject.say!(str)
873
+ end
874
+
875
+ after do
876
+ Adhearsion.config.punchblock.default_voice = nil
877
+ Adhearsion.config.platform.media.default_voice = nil
878
+ end
879
+ end
880
+
881
+ describe "with a default media engine set in PB config" do
882
+ before { Adhearsion.config.punchblock.media_engine = 'foo' }
883
+
884
+ it 'sets the renderer on the output component' do
885
+ str = "Hello world"
886
+ ssml = RubySpeech::SSML.draw { string str }
887
+ expect_async_ssml_output ssml, renderer: 'foo'
888
+ subject.say!(str)
889
+ end
890
+
891
+ after { Adhearsion.config.punchblock.media_engine = nil }
892
+ end
893
+
894
+ describe "with a default renderer set in core and PB config" do
895
+ before do
896
+ Adhearsion.config.punchblock.media_engine = 'foo'
897
+ Adhearsion.config.platform.media.default_renderer = 'bar'
898
+ end
899
+
900
+ it 'prefers core config to set the renderer on the output component' do
901
+ str = "Hello world"
902
+ ssml = RubySpeech::SSML.draw { string str }
903
+ expect_async_ssml_output ssml, renderer: 'bar'
904
+ subject.say!(str)
905
+ end
906
+
907
+ after do
908
+ Adhearsion.config.punchblock.media_engine = nil
909
+ Adhearsion.config.platform.media.default_renderer = nil
910
+ end
911
+ end
912
+
811
913
  describe "converts the argument to a string" do
812
914
  it 'calls output with a string' do
813
915
  argument = 123
@@ -107,8 +107,8 @@ module Adhearsion
107
107
  context "when networking issues crop up" do
108
108
  before { Socket.stub(:gethostbyname).and_raise(SocketError) }
109
109
 
110
- it "should still be a string" do
111
- Adhearsion::Process.fqdn.should be_a String
110
+ it "should raise SocketError" do
111
+ expect { Adhearsion::Process.fqdn }.to raise_error(SocketError)
112
112
  end
113
113
  end
114
114
  end
@@ -18,8 +18,6 @@ module Adhearsion
18
18
  config.connection_timeout = 60
19
19
  config.reconnect_attempts = 1.0/0.0
20
20
  config.reconnect_timer = 5
21
- config.media_engine = nil
22
- config.default_voice = nil
23
21
  end
24
22
  end
25
23
 
@@ -37,8 +35,6 @@ module Adhearsion
37
35
  config.connection_timeout = options[:connection_timeout] if options.has_key?(:connection_timeout)
38
36
  config.reconnect_attempts = options[:reconnect_attempts] if options.has_key?(:reconnect_attempts)
39
37
  config.reconnect_timer = options[:reconnect_timer] if options.has_key?(:reconnect_timer)
40
- config.media_engine = options[:media_engine] if options.has_key?(:media_engine)
41
- config.default_voice = options[:default_voice] if options.has_key?(:default_voice)
42
38
  end
43
39
 
44
40
  Initializer.init
@@ -93,14 +89,6 @@ module Adhearsion
93
89
  it "should properly set the reconnect_timer value" do
94
90
  subject.reconnect_timer.should be == 5
95
91
  end
96
-
97
- it "should properly set the media_engine value" do
98
- subject.media_engine.should be == nil
99
- end
100
-
101
- it "should properly set the default_voice value" do
102
- subject.default_voice.should be == nil
103
- end
104
92
  end
105
93
 
106
94
  it "starts the client with the correct resource" do
@@ -110,9 +98,21 @@ module Adhearsion
110
98
  initialize_punchblock
111
99
  end
112
100
 
101
+ context "when the fqdn is not available" do
102
+ it "should use the local hostname instead" do
103
+ Adhearsion::Process.stub(:fqdn).and_raise SocketError
104
+ Socket.stub(:gethostname).and_return 'local_hostname'
105
+
106
+ username = "usera@127.0.0.1/local_hostname-1234"
107
+
108
+ Punchblock::Connection::XMPP.should_receive(:new).once.with(hash_including :username => username).and_return mock_client
109
+ initialize_punchblock
110
+ end
111
+ end
112
+
113
113
  it "starts the client with any overridden settings" do
114
- Punchblock::Connection::XMPP.should_receive(:new).once.with(username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com', media_engine: :swift, default_voice: :hal).and_return mock_client
115
- initialize_punchblock username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs_directory: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com', media_engine: :swift, default_voice: :hal
114
+ Punchblock::Connection::XMPP.should_receive(:new).once.with(username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com').and_return mock_client
115
+ initialize_punchblock username: 'userb@127.0.0.1/foo', password: '123', host: 'foo.bar.com', port: 200, certs_directory: '/foo/bar', connection_timeout: 20, root_domain: 'foo.com'
116
116
  end
117
117
 
118
118
  describe "#connect" do
@@ -172,7 +172,7 @@ module Adhearsion
172
172
  end
173
173
 
174
174
  describe 'using Asterisk' do
175
- let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com', :media_engine => :swift, :default_voice => :hal} }
175
+ let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com'} }
176
176
 
177
177
  it 'should start an Asterisk PB connection' do
178
178
  Punchblock::Connection::Asterisk.should_receive(:new).once.with(overrides).and_return mock_client
@@ -181,7 +181,7 @@ module Adhearsion
181
181
  end
182
182
 
183
183
  describe 'using FreeSWITCH' do
184
- let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com', :media_engine => :swift, :default_voice => :hal} }
184
+ let(:overrides) { {:username => 'test', :password => '123', :host => 'foo.bar.com', :port => 200, :certs => nil, :connection_timeout => 20, :root_domain => 'foo.com'} }
185
185
 
186
186
  it 'should start a FreeSWITCH PB connection' do
187
187
  Punchblock::Connection::Freeswitch.should_receive(:new).once.with(overrides).and_return mock_client
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: adhearsion
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.4.0.beta2
4
+ version: 2.4.0.beta3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Jay Phillips
@@ -11,7 +11,7 @@ authors:
11
11
  autorequire:
12
12
  bindir: bin
13
13
  cert_chain: []
14
- date: 2013-08-23 00:00:00.000000000 Z
14
+ date: 2013-08-27 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport