adhearsion 2.4.0.beta3 → 2.4.0

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: a21555092db2b8678e869cbf61fe9d365c6ba61f
4
- data.tar.gz: 118c8bdbf5dedcf3c52287175ba13637b5b711c6
3
+ metadata.gz: 61315b79e7d1320dea8413e2b5c26f9b1c953551
4
+ data.tar.gz: 2935a1722a541274a596fb2a35d5e3e5b7d05a23
5
5
  SHA512:
6
- metadata.gz: d1b0b67df4b8b76a4f77e724dcc7b2523c719d37bb6eed73a7adaf3bbb90db792de9d69cbd09b0f860221605125092684756d84430c176c8aa5bff072ff476cd
7
- data.tar.gz: e5c9deb98506f8ce27a1185b89ffe17eb474f79432dc697436566897d1c5b839007eaf0231fa08d8e243c514907b2572b42d6fa3f4f5079f8da4ae6ccdda67e2
6
+ metadata.gz: d4210b4cae9891cc1f5f2e6ecca89e7e4b0f371287d0726f3a876b99910e35b887758d1f5ab6e59a2afca1c58c9e270cb4377c531c55d4d79e1c9454773319af
7
+ data.tar.gz: 8302e6d6500220edd4892b557f79b1c5fcdcaa1d68771a3bb6db2f7094f36912c349c9f297adaeef8b4ba572aa0dadddf2fc2121c09e1dd592d20bff843d625d
@@ -1,6 +1,6 @@
1
1
  # [develop](https://github.com/adhearsion/adhearsion)
2
2
 
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)
3
+ # [2.4.0](https://github.com/adhearsion/adhearsion/compare/v2.3.5...v2.4.0) - [2013-08-29](https://rubygems.org/gems/adhearsion/versions/2.4.0)
4
4
  * Deprecation: Ruby 1.9.2 support is deprecated and will be dropped in a future version of Adhearsion
5
5
  * Deprecation: Some media options from Punchblock config are now overriden by other core config, and will eventually be removed.
6
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.
@@ -13,6 +13,7 @@
13
13
  * Feature: Add `#originate` method to console as alias for `Adhearsion::OutboundCall.originate`
14
14
  * Feature: Allow the console to be disabled using `--no-console`
15
15
  * Feature: Add CLI commands to generate hooks for a plugin to register on [ahnhub.com](http://www.ahnhub.com)
16
+ * Feature: Add `#say_characters` method and an async cousin, `#say_characters!`
16
17
  * Bugfix: Removed unnecessary Mocha reference from generated plugin
17
18
  * Bugfix: Call loggers are deleted after a call finishes, fixing a memory leak
18
19
  * Bugfix: A menu definition's block context is now available
@@ -29,7 +29,7 @@ Gem::Specification.new do |s|
29
29
  s.add_runtime_dependency 'jruby-openssl' if RUBY_PLATFORM == 'java'
30
30
  s.add_runtime_dependency 'logging', ["~> 1.8"]
31
31
  s.add_runtime_dependency 'pry'
32
- s.add_runtime_dependency 'punchblock', ["~> 2.0.0.beta1"]
32
+ s.add_runtime_dependency 'punchblock', ["~> 2.0"]
33
33
  s.add_runtime_dependency 'rake'
34
34
  s.add_runtime_dependency 'ruby_speech', ["~> 2.0"]
35
35
  s.add_runtime_dependency 'thor', "~> 0.18.0"
@@ -38,6 +38,36 @@ module Adhearsion
38
38
  end
39
39
  alias :speak! :say!
40
40
 
41
+
42
+ # Speak characters using text-to-speech (TTS)
43
+ #
44
+ # @example Speak 'abc123' as 'ay bee cee one two three'
45
+ # say_characters('abc123')
46
+ #
47
+ # @param [String, #to_s] characters The string of characters to be spoken
48
+ # @param [Hash] options A set of options for output
49
+ #
50
+ # @raises [PlaybackError] if the given argument could not be played
51
+ #
52
+ def say_characters(characters, options = {})
53
+ player.play_ssml output_formatter.ssml_for_characters(characters), options
54
+ true
55
+ end
56
+
57
+ # Speak characters using text-to-speech (TTS) and return as soon as it begins
58
+ #
59
+ # @example Speak 'abc123' as 'ay bee cee one two three'
60
+ # say_characters!('abc123')
61
+ #
62
+ # @param [String, #to_s] characters The string of characters to be spoken
63
+ # @param [Hash] options A set of options for output
64
+ #
65
+ # @raises [PlaybackError] if the given argument could not be played
66
+ #
67
+ def say_characters!(characters, options = {})
68
+ async_player.play_ssml output_formatter.ssml_for_characters(characters), options
69
+ end
70
+
41
71
  #
42
72
  # Plays the specified sound file names. This method will handle Time/DateTime objects (e.g. Time.now),
43
73
  # Fixnums (e.g. 1000), Strings which are valid Fixnums (e.g "123"), and direct sound files. To specify how the Date/Time objects are said
@@ -219,7 +249,7 @@ module Adhearsion
219
249
  # @raises [PlaybackError] if (one of) the given argument(s) could not be played
220
250
  #
221
251
  def interruptible_play(*outputs)
222
- options = process_output_options outputs
252
+ options = process_output_options outputs
223
253
  outputs.find do |output|
224
254
  digit = stream_file output, '0123456789#*', options
225
255
  return digit if digit
@@ -88,6 +88,12 @@ module Adhearsion
88
88
  audio(:src => argument) { fallback }
89
89
  end
90
90
  end
91
+
92
+ def ssml_for_characters(argument)
93
+ RubySpeech::SSML.draw do
94
+ say_as(interpret_as: 'characters') { string argument.to_s }
95
+ end
96
+ end
91
97
  end
92
98
  end
93
99
  end
@@ -24,8 +24,8 @@ module Adhearsion
24
24
 
25
25
  desc "create_ahnhub_hooks", "Creates ahnhub hooks for both a rubygem and github repo"
26
26
  def create_ahnhub_hooks
27
- create_github_hooks
28
- create_rubygem_hooks
27
+ create_github_hook
28
+ create_rubygem_hook
29
29
  end
30
30
 
31
31
  protected
@@ -1,5 +1,5 @@
1
1
  # encoding: utf-8
2
2
 
3
3
  module Adhearsion
4
- VERSION = '2.4.0.beta3'
4
+ VERSION = '2.4.0'
5
5
  end
@@ -925,6 +925,62 @@ module Adhearsion
925
925
  subject.method(:speak!).should be == subject.method(:say!)
926
926
  end
927
927
  end
928
+
929
+ describe "#say_characters" do
930
+ context "with a string" do
931
+ let :ssml do
932
+ RubySpeech::SSML.draw do
933
+ say_as(interpret_as: 'characters') { "1234#abc" }
934
+ end
935
+ end
936
+
937
+ it 'plays the correct ssml' do
938
+ expect_ssml_output ssml
939
+ subject.say_characters('1234#abc').should be true
940
+ end
941
+ end
942
+
943
+ context "with a numeric" do
944
+ let :ssml do
945
+ RubySpeech::SSML.draw do
946
+ say_as(interpret_as: 'characters') { "1234" }
947
+ end
948
+ end
949
+
950
+ it 'plays the correct ssml' do
951
+ expect_ssml_output ssml
952
+ subject.say_characters(1234).should be true
953
+ end
954
+ end
955
+ end
956
+
957
+ describe "#say_characters!" do
958
+ context "with a string" do
959
+ let :ssml do
960
+ RubySpeech::SSML.draw do
961
+ say_as(interpret_as: 'characters') { "1234#abc" }
962
+ end
963
+ end
964
+
965
+ it 'plays the correct ssml' do
966
+ expect_async_ssml_output ssml
967
+ subject.say_characters!('1234#abc').should be_a Punchblock::Component::Output
968
+ end
969
+ end
970
+
971
+ context "with a numeric" do
972
+ let :ssml do
973
+ RubySpeech::SSML.draw do
974
+ say_as(interpret_as: 'characters') { "1234" }
975
+ end
976
+ end
977
+
978
+ it 'plays the correct ssml' do
979
+ expect_async_ssml_output ssml
980
+ subject.say_characters!(1234).should be_a Punchblock::Component::Output
981
+ end
982
+ end
983
+ end
928
984
  end
929
985
  end
930
986
  end
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.beta3
4
+ version: 2.4.0
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-27 00:00:00.000000000 Z
14
+ date: 2013-08-29 00:00:00.000000000 Z
15
15
  dependencies:
16
16
  - !ruby/object:Gem::Dependency
17
17
  name: activesupport
@@ -179,14 +179,14 @@ dependencies:
179
179
  requirements:
180
180
  - - ~>
181
181
  - !ruby/object:Gem::Version
182
- version: 2.0.0.beta1
182
+ version: '2.0'
183
183
  type: :runtime
184
184
  prerelease: false
185
185
  version_requirements: !ruby/object:Gem::Requirement
186
186
  requirements:
187
187
  - - ~>
188
188
  - !ruby/object:Gem::Version
189
- version: 2.0.0.beta1
189
+ version: '2.0'
190
190
  - !ruby/object:Gem::Dependency
191
191
  name: rake
192
192
  requirement: !ruby/object:Gem::Requirement
@@ -571,9 +571,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
571
571
  version: '0'
572
572
  required_rubygems_version: !ruby/object:Gem::Requirement
573
573
  requirements:
574
- - - '>'
574
+ - - '>='
575
575
  - !ruby/object:Gem::Version
576
- version: 1.3.1
576
+ version: '0'
577
577
  requirements: []
578
578
  rubyforge_project:
579
579
  rubygems_version: 2.0.3