att_speech 0.0.5 → 0.0.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 0a802f00a5cdea2f0ea4a748ea6f070433c167a0
4
- data.tar.gz: c9da1fdce77b113acf0ae97b4b149ee8cea191f0
3
+ metadata.gz: d0690de4e08cd6d303cb4694021ef554ecb155d7
4
+ data.tar.gz: 6d6009a9c67a86bf0dfb9028f452220e4f7bd4b2
5
5
  SHA512:
6
- metadata.gz: 3b35b282eaa5edb5c10a531f097822ccb8c0d2749e449ccf67f89cb596182d828cd87c75ae81c7207ae404daf9bc6a9b3d7ac30ea877350a30aac01330a082b1
7
- data.tar.gz: 5cab056142d4adce2db9088bca364db84ceb9a450d333b1d21289861fca3193c0028412c9ae70f3ab32e21b860c79a230a382441570d0a746d114b8f3511538f
6
+ metadata.gz: c51a000b86573bed51cb2045c792a5a80921ba45dd76e3e1a76ee02a5f2268d2ffb47a46f7bb476bb2e2c742a2e5b82cf841a137cc7557609fc08883626f641d
7
+ data.tar.gz: 3debb96f08b5b685eaa608908e9f2832cf02e851ea56e86333ce0f9ebb3ee1d9b006ae2d2583012965fa63439fe082d5fdbfc04c0d77a516db44bad2b827bc16
@@ -0,0 +1,51 @@
1
+ # rcov generated
2
+ coverage
3
+ coverage.data
4
+
5
+ # rdoc generated
6
+ rdoc
7
+
8
+ # yard generated
9
+ doc
10
+ .yardoc
11
+
12
+ # bundler
13
+ .bundle
14
+
15
+ # jeweler generated
16
+ pkg
17
+
18
+ Gemfile.lock
19
+
20
+ # Have editor/IDE/OS specific files you need to ignore? Consider using a global gitignore:
21
+ #
22
+ # * Create a file at ~/.gitignore
23
+ # * Include files you want ignored
24
+ # * Run: git config --global core.excludesfile ~/.gitignore
25
+ #
26
+ # After doing this, these files will be ignored in all your git projects,
27
+ # saving you from having to 'pollute' every project you touch with them
28
+ #
29
+ # Not sure what to needs to be ignored for particular editors/OSes? Here's some ideas to get you started. (Remember, remove the leading # of the line)
30
+ #
31
+ # For MacOS:
32
+ #
33
+ .DS_Store
34
+
35
+ # For TextMate
36
+ #*.tmproj
37
+ #tmtags
38
+
39
+ # For emacs:
40
+ #*~
41
+ #\#*
42
+ #.\#*
43
+
44
+ # For vim:
45
+ .*.sw*
46
+
47
+ # For redcar:
48
+ #.redcar
49
+
50
+ # For rubinius:
51
+ #*.rbc
@@ -2,6 +2,5 @@ language: ruby
2
2
  rvm:
3
3
  - 1.9.2
4
4
  - 1.9.3
5
- - jruby-18mode
6
5
  - jruby-19mode
7
6
  # script: bundle exec rspec spec
data/Gemfile CHANGED
@@ -1,15 +1,2 @@
1
1
  source "http://rubygems.org"
2
- gem "faraday", ">= 0.8.1"
3
- gem "celluloid", ">= 0.11.1", "< 0.14.0"
4
- gem "hashie", ">= 1.2.0"
5
- gem "activesupport"
6
-
7
- group :development do
8
- gem "rspec", ">= 2.8.0"
9
- gem "yard", ">= 0.7"
10
- gem "rdoc", ">= 3.12"
11
- gem "bundler", ">= 1.0.0"
12
- gem "jeweler", ">= 1.8.4"
13
- gem "simplecov", ">= 0"
14
- gem "fakeweb"
15
- end
2
+ gemspec
data/README.md CHANGED
@@ -17,7 +17,7 @@ require 'att_speech'
17
17
 
18
18
  att_speech = ATTSpeech.new({ :api_key => ENV['ATT_SPEECH_KEY'],
19
19
  :secret_key => ENV['ATT_SPEECH_SECRET'],
20
- :scope => 'SPEECH' }) })
20
+ :scope => 'SPEECH' })
21
21
 
22
22
  # Read the audio file contents
23
23
  file_contents = File.read(File.expand_path(File.dirname(File.dirname(__FILE__))) + "/bostonSeltics.wav")
@@ -35,9 +35,13 @@ p future.value
35
35
  # from the calling context, better to have discreet actions contained in the block, such as inserting in a
36
36
  # datastore
37
37
  sleep 2
38
- att_speech.speech_to_text!(file_contents) { |transcription| p transcription }
38
+ supervisor = ATTSpeech.supervise({ :api_key => ENV['ATT_SPEECH_KEY'],
39
+ :secret_key => ENV['ATT_SPEECH_SECRET'],
40
+ :scope => 'SPEECH' })
41
+ supervisor.future.speech_to_text(file_contents)
42
+ # do other stuff here
39
43
  sleep 5
40
-
44
+ transcription = supervisor.value # returns immediately if the operation is complete, otherwise blocks until the value is ready
41
45
 
42
46
  def write_wav_file(audio_bytes)
43
47
  file_name = "ret_audio-#{Time.now.strftime('%Y%m%d-%H%M%S')}.wav"
@@ -66,4 +70,6 @@ write_wav_file(future.value)
66
70
 
67
71
  ## Copyright
68
72
 
69
- Copyright (c) 2013 Jason Goecke. See LICENSE.txt for further details.
73
+ Copyright (c) 2013 Jason Goecke.
74
+ Copyright (c) 2014 Ben Klang.
75
+ See LICENSE.txt for further details.
@@ -5,83 +5,35 @@
5
5
 
6
6
  Gem::Specification.new do |s|
7
7
  s.name = "att_speech"
8
- s.version = "0.0.5"
8
+ s.version = "0.0.6"
9
9
 
10
- s.required_rubygems_version = Gem::Requirement.new(">= 0") if s.respond_to? :required_rubygems_version=
11
- s.authors = ["Jason Goecke, Peter Wilson"]
12
- s.date = "2013-05-09"
10
+ s.authors = ["Jason Goecke", "Peter Wilson", "Ben Klang"]
13
11
  s.description = "A Ruby library for consuming v3 of the AT&T Speech API for speech->text, and text->speech. Takes in either .wav or specific other audio files, and returns a text string of the spoken words. Can also take in either a text string or .txt file and returns a string of bytes from which a .wav file can be created of the spoken text."
14
- s.email = "jason@goecke.net"
12
+ s.email = "dev&adhearsion.com"
15
13
  s.extra_rdoc_files = [
16
14
  "LICENSE.txt",
17
15
  "README.md"
18
16
  ]
19
- s.files = [
20
- ".document",
21
- ".rspec",
22
- ".travis.yml",
23
- "Gemfile",
24
- "Gemfile.lock",
25
- "LICENSE.txt",
26
- "README.md",
27
- "Rakefile",
28
- "VERSION",
29
- "att_speech.gemspec",
30
- "examples/bostonSeltics.wav",
31
- "examples/example.rb",
32
- "examples/helloWorld.txt",
33
- "lib/att_speech.rb",
34
- "lib/att_speech/att_speech.rb",
35
- "lib/att_speech/version.rb",
36
- "spec/att_speech_spec.rb",
37
- "spec/spec_helper.rb"
38
- ]
39
- s.homepage = "http://github.com/jsgoecke/att_speech"
17
+ s.files = `git ls-files`.split("\n")
18
+ s.test_files = `git ls-files -- {test,spec,features}/*`.split("\n")
19
+ s.executables = `git ls-files -- bin/*`.split("\n").map{ |f| File.basename(f) }
20
+ s.homepage = "http://github.com/adhearsion/att_speech"
40
21
  s.licenses = ["MIT"]
41
22
  s.require_paths = ["lib"]
42
- s.rubygems_version = "1.8.24"
23
+ s.required_ruby_version = '>= 1.9.3'
43
24
  s.summary = "A Ruby library for consuming the AT&T Speech API https://developer.att.com/developer/forward.jsp?passedItemId=12500023 for speech->text, and text->speech."
44
25
 
45
- if s.respond_to? :specification_version then
46
- s.specification_version = 3
26
+ s.add_runtime_dependency(%q<faraday>, ["~> 0.8.1"])
27
+ s.add_runtime_dependency(%q<celluloid>, [">= 0.11.1"])
28
+ s.add_runtime_dependency(%q<hashie>, [">= 1.2.0"])
29
+ s.add_runtime_dependency(%q<activesupport>, [">= 0"])
47
30
 
48
- if Gem::Version.new(Gem::VERSION) >= Gem::Version.new('1.2.0') then
49
- s.add_runtime_dependency(%q<faraday>, [">= 0.8.1"])
50
- s.add_runtime_dependency(%q<celluloid>, ["< 0.14.0", ">= 0.11.1"])
51
- s.add_runtime_dependency(%q<hashie>, [">= 1.2.0"])
52
- s.add_runtime_dependency(%q<activesupport>, [">= 0"])
53
- s.add_development_dependency(%q<rspec>, [">= 2.8.0"])
54
- s.add_development_dependency(%q<yard>, [">= 0.7"])
55
- s.add_development_dependency(%q<rdoc>, [">= 3.12"])
56
- s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
57
- s.add_development_dependency(%q<jeweler>, [">= 1.8.4"])
58
- s.add_development_dependency(%q<simplecov>, [">= 0"])
59
- s.add_development_dependency(%q<fakeweb>, [">= 0"])
60
- else
61
- s.add_dependency(%q<faraday>, [">= 0.8.1"])
62
- s.add_dependency(%q<celluloid>, ["< 0.14.0", ">= 0.11.1"])
63
- s.add_dependency(%q<hashie>, [">= 1.2.0"])
64
- s.add_dependency(%q<activesupport>, [">= 0"])
65
- s.add_dependency(%q<rspec>, [">= 2.8.0"])
66
- s.add_dependency(%q<yard>, [">= 0.7"])
67
- s.add_dependency(%q<rdoc>, [">= 3.12"])
68
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
69
- s.add_dependency(%q<jeweler>, [">= 1.8.4"])
70
- s.add_dependency(%q<simplecov>, [">= 0"])
71
- s.add_dependency(%q<fakeweb>, [">= 0"])
72
- end
73
- else
74
- s.add_dependency(%q<faraday>, [">= 0.8.1"])
75
- s.add_dependency(%q<celluloid>, ["< 0.14.0", ">= 0.11.1"])
76
- s.add_dependency(%q<hashie>, [">= 1.2.0"])
77
- s.add_dependency(%q<activesupport>, [">= 0"])
78
- s.add_dependency(%q<rspec>, [">= 2.8.0"])
79
- s.add_dependency(%q<yard>, [">= 0.7"])
80
- s.add_dependency(%q<rdoc>, [">= 3.12"])
81
- s.add_dependency(%q<bundler>, [">= 1.0.0"])
82
- s.add_dependency(%q<jeweler>, [">= 1.8.4"])
83
- s.add_dependency(%q<simplecov>, [">= 0"])
84
- s.add_dependency(%q<fakeweb>, [">= 0"])
85
- end
31
+ s.add_development_dependency(%q<rspec>, [">= 2.8.0"])
32
+ s.add_development_dependency(%q<yard>, [">= 0.7"])
33
+ s.add_development_dependency(%q<rdoc>, [">= 3.12"])
34
+ s.add_development_dependency(%q<bundler>, [">= 1.0.0"])
35
+ s.add_development_dependency(%q<jeweler>, [">= 1.8.4"])
36
+ s.add_development_dependency(%q<simplecov>, [">= 0"])
37
+ s.add_development_dependency(%q<fakeweb>, [">= 0"])
86
38
  end
87
39
 
@@ -1,8 +1,12 @@
1
+ # encoding: utf-8
2
+
3
+ require 'core_ext/att_multipart'
4
+
1
5
  class ATTSpeech
2
6
  include Celluloid
3
7
  Celluloid.logger = nil
4
8
 
5
- attr_reader :api_key, :secret_key, :access_token, :refresh_token, :base_url, :ssl_verify, :scope
9
+ attr_reader :api_key, :secret_key, :access_token, :refresh_token, :base_url, :ssl_verify
6
10
 
7
11
  ##
8
12
  # Creates an ATTSpeech object
@@ -11,47 +15,38 @@ class ATTSpeech
11
15
  # @param [Hash] args the options to intantiate with
12
16
  # @option args [String] :api_key the AT&T Speech API Key
13
17
  # @option args [String] :secret_key the AT&T Speech API Secret Key
14
- # @option args [String] :scope the Authorization Scope for the AT&T Speech API
15
18
  # @option args [String] :base_url the url for the AT&T Speech API, default is 'https://api.att.com'
16
19
  # @option args [Boolean] :ssl_verify determines if the peer Cert is verified for SSL, default is true
17
20
  # @overload initialize(api_key, secret_key, base_url='https://api.att.com')
18
21
  # @param [String] api_key the AT&T Speech API Key
19
22
  # @param [String] secret_key the AT&T Speech API Secret Key
20
- # @param [String] scope the Authorization Scope for the AT&T Speech API
21
23
  # @param [String] base_url the url for the AT&T Speech API, default is 'https://api.att.com'
22
24
  # @param [Boolean] ssl_verify determines if the peer Cert is verified for SSL, default is true
23
25
  #
24
26
  # @return [Object] an instance of ATTSpeech
25
27
  def initialize(*args)
26
- raise ArgumentError, "Requires at least the api_key, secret_key, and scope when instatiating" if args.size == 0
28
+ raise ArgumentError, "Requires at least the api_key and secret_key when instatiating" if args.size == 0
27
29
 
28
30
  base_url = 'https://api.att.com'
29
31
 
30
32
  if args.size == 1 && args[0].instance_of?(Hash)
31
- @api_key = args[0][:api_key]
32
- @secret_key = args[0][:secret_key]
33
- @scope = args[0][:scope]
34
- @base_url = args[0][:base_url] || base_url
35
- set_ssl_verify args[0][:ssl_verify]
33
+ args = args.shift
34
+ @api_key = args[:api_key]
35
+ @secret_key = args[:secret_key]
36
+ @base_url = args[:base_url] || base_url
37
+ set_ssl_verify args[:ssl_verify]
36
38
  else
37
- @api_key = args[0]
38
- @secret_key = args[1]
39
- @scope = args[2]
40
- @base_url = args[3] || base_url
41
- set_ssl_verify args[4]
39
+ @api_key = args.shift
40
+ @secret_key = args.shift
41
+ @base_url = args.shift || base_url
42
+ set_ssl_verify args.shift
42
43
  end
43
44
 
44
- raise ArgumentError, "scope must be either 'SPEECH' or 'TTS'" unless (@scope == 'SPEECH') || (@scope == 'TTS')
45
-
46
45
  @grant_type = 'client_credentials'
47
46
  @access_token = ''
48
47
  @refresh_token = ''
49
48
 
50
- if @scope == 'SPEECH'
51
- create_connection 'application/json'
52
- else
53
- create_connection 'audio/x-wav'
54
- end
49
+ create_connection 'application/json'
55
50
 
56
51
  get_tokens
57
52
 
@@ -63,31 +58,39 @@ class ATTSpeech
63
58
  # @param [String] file_contents to be processed
64
59
  # @param [String] type of file to be processed, may be audio/wav, application/octet-stream or audio/amr
65
60
  # @param [String] speech_context to use to evaluate the audio BusinessSearch, Gaming, Generic, QuestionAndAnswer, SMS, SocialMedia, TV, VoiceMail, WebSearch
66
- # @param [Block] block to be called when the transcription completes
67
61
  #
68
62
  # @return [Hash] the resulting response from the AT&T Speech API
69
- def speech_to_text(file_contents, type='audio/wav', speech_context='Generic', &block)
63
+ def speech_to_text(file_contents, type='audio/wav', speech_context='Generic', options = {})
70
64
  resource = "/speech/v3/speechToText"
71
65
 
66
+ # FIXME: Is this necessary?
72
67
  if type == "application/octet-stream"
73
68
  type = "audio/amr"
74
69
  end
75
70
 
76
- begin
77
- response = @connection.post( resource,
78
- file_contents,
79
- :Authorization => "Bearer #{@access_token}",
80
- :Content_Transfer_Encoding => 'chunked',
81
- :X_SpeechContext => speech_context,
82
- :Content_Type => type,
83
- :Accept => 'application/json' )
84
-
85
- result = process_response(response)
86
- block.call result if block_given?
87
- result
88
- rescue => e
89
- raise RuntimeError, e.to_s
71
+ headers = {
72
+ :Authorization => "Bearer #{@access_token}",
73
+ :Content_Transfer_Encoding => 'chunked',
74
+ :Accept => 'application/json'
75
+ }
76
+
77
+ if options.has_key?(:grammar)
78
+ # Assume this is a Speech-To-Text-Custom query
79
+ resource << 'Custom'
80
+ options[:grammar] = "<?xml version=\"1.0\"?>\n#{options[:grammar]}"
81
+ body = {
82
+ 'x-grammar' => Faraday::UploadIO.new(StringIO.new(options[:grammar]), 'application/srgs+xml'),
83
+ 'x-voice' => Faraday::UploadIO.new(StringIO.new(file_contents), type)
84
+ }
85
+ else
86
+ headers[:X_SpeechContext] = speech_context
87
+ body = file_contents
90
88
  end
89
+
90
+ response = @connection.post resource, body, headers
91
+
92
+ result = process_response(response)
93
+ result
91
94
  end
92
95
 
93
96
 
@@ -121,7 +124,8 @@ class ATTSpeech
121
124
  def create_connection(accept_type='application/json')
122
125
  @connection = Faraday.new(:url => @base_url, :ssl => { :verify => @ssl_verify }) do |faraday|
123
126
  faraday.headers['Accept'] = accept_type
124
- faraday.adapter Faraday.default_adapter
127
+ faraday.request :att_multipart
128
+ faraday.adapter Faraday.default_adapter
125
129
  end
126
130
  end
127
131
 
@@ -135,7 +139,7 @@ class ATTSpeech
135
139
  request.params['client_id'] = @api_key
136
140
  request.params['client_secret'] = @secret_key
137
141
  request.params['grant_type'] = @grant_type
138
- request.params['scope'] = @scope
142
+ request.params['scope'] = 'SPEECH,STTC,TTS'
139
143
  end
140
144
 
141
145
  result = process_response(response)
@@ -0,0 +1,8 @@
1
+ # encoding: utf-8
2
+ require 'faraday'
3
+
4
+ class AttMultipart < Faraday::Request::Multipart
5
+ self.mime_type = 'multipart/x-srgs-audio'
6
+ end
7
+
8
+ Faraday.register_middleware :request, :att_multipart => lambda { AttMultipart }
@@ -1,15 +1,17 @@
1
1
  require File.expand_path(File.dirname(__FILE__) + '/spec_helper')
2
2
 
3
+ SCOPES = 'SPEECH%2CSTTC%2CTTS'
4
+
3
5
  describe "AttSpeech" do
4
6
  FakeWeb.allow_net_connect = false
5
7
 
6
8
  FakeWeb.register_uri(:post,
7
- "https://api.att.com/oauth/access_token?client_id=1234&client_secret=abcd&grant_type=client_credentials&scope=SPEECH",
9
+ "https://api.att.com/oauth/access_token?client_id=1234&client_secret=abcd&grant_type=client_credentials&scope=#{SCOPES}",
8
10
  :status => ['200', 'OK'],
9
11
  :body => '{"access_token":"5678","refresh_token":"wxyz"}')
10
12
 
11
13
  FakeWeb.register_uri(:post,
12
- "http://foobar.com/oauth/access_token?client_id=1234&client_secret=abcd&grant_type=client_credentials&scope=SPEECH",
14
+ "http://foobar.com/oauth/access_token?client_id=1234&client_secret=abcd&grant_type=client_credentials&scope=#{SCOPES}",
13
15
  :status => ['200', 'OK'],
14
16
  :body => '{"access_token":"5678","refresh_token":"wxyz"}')
15
17
 
@@ -23,10 +25,9 @@ describe "AttSpeech" do
23
25
  :status => ['200', 'OK'],
24
26
  :body => nil )
25
27
 
26
- let(:att_speech) { att_speech = ATTSpeech.new('1234', 'abcd', 'SPEECH') }
28
+ let(:att_speech) { att_speech = ATTSpeech.new('1234', 'abcd') }
27
29
  let(:att_speech_hash) { att_speech = ATTSpeech.new({ :api_key => '1234',
28
- :secret_key => 'abcd',
29
- :scope => 'SPEECH' })}
30
+ :secret_key => 'abcd' })}
30
31
 
31
32
 
32
33
  describe 'initializing' do
@@ -34,23 +35,7 @@ describe "AttSpeech" do
34
35
  begin
35
36
  ATTSpeech.new
36
37
  rescue => e
37
- e.to_s.should eql "Requires at least the api_key, secret_key, and scope when instatiating"
38
- end
39
- end
40
-
41
- it "shoud raise an error of wrong scope when creating object without scope" do
42
- begin
43
- ATTSpeech.new('1234', 'abcd')
44
- rescue => e
45
- e.to_s.should eql "scope must be either 'SPEECH' or 'TTS'"
46
- end
47
- end
48
-
49
- it "shoud raise an error of wrong scope when creating object with misspelled scope" do
50
- begin
51
- ATTSpeech.new('1234', 'abcd', 'misspelled scope')
52
- rescue => e
53
- e.to_s.should eql "scope must be either 'SPEECH' or 'TTS'"
38
+ e.to_s.should eql "Requires at least the api_key and secret_key when instatiating"
54
39
  end
55
40
  end
56
41
 
@@ -60,13 +45,12 @@ describe "AttSpeech" do
60
45
  end
61
46
 
62
47
  it 'should set the url to something different' do
63
- as = ATTSpeech.new('1234', 'abcd', 'SPEECH', 'http://foobar.com', false)
48
+ as = ATTSpeech.new('1234', 'abcd', 'http://foobar.com', false)
64
49
  as.base_url.should == 'http://foobar.com'
65
50
  as.ssl_verify.should == false
66
51
 
67
52
  as = ATTSpeech.new({ :api_key => '1234',
68
53
  :secret_key => 'abcd',
69
- :scope => 'SPEECH',
70
54
  :base_url => 'http://foobar.com',
71
55
  :ssl_verify => false })
72
56
  as.base_url.should == 'http://foobar.com'
@@ -126,22 +110,6 @@ describe "AttSpeech" do
126
110
  end
127
111
  end
128
112
 
129
- describe 'non-blocking call with a block' do
130
- it "should allow us to use a future to process an audio file and pass a block" do
131
- result = nil
132
- att_speech.speech_to_text!('spec/spec_helper.rb') { |transcription| result = transcription }
133
- sleep 0.5
134
- result[:recognition][:response_id].should eql '2b0bdcf4301f5c4aba57e2765b59bcbe'
135
- result[:recognition][:n_best][:confidence].should eql 1
136
-
137
- result = nil
138
- att_speech_hash.speech_to_text!('spec/spec_helper.rb') { |transcription| result = transcription }
139
- sleep 0.5
140
- result[:recognition][:response_id].should eql '2b0bdcf4301f5c4aba57e2765b59bcbe'
141
- result[:recognition][:n_best][:confidence].should eql 1
142
- end
143
- end
144
-
145
113
  context 'text to speech' do
146
114
  it 'should request a TTS transaction' do
147
115
  text = 'Hello brown cow'
metadata CHANGED
@@ -1,173 +1,169 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: att_speech
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.5
4
+ version: 0.0.6
5
5
  platform: ruby
6
6
  authors:
7
- - Jason Goecke, Peter Wilson
7
+ - Jason Goecke
8
+ - Peter Wilson
9
+ - Ben Klang
8
10
  autorequire:
9
11
  bindir: bin
10
12
  cert_chain: []
11
- date: 2013-05-09 00:00:00.000000000 Z
13
+ date: 2014-03-21 00:00:00.000000000 Z
12
14
  dependencies:
13
15
  - !ruby/object:Gem::Dependency
14
16
  name: faraday
15
17
  requirement: !ruby/object:Gem::Requirement
16
18
  requirements:
17
- - - '>='
19
+ - - "~>"
18
20
  - !ruby/object:Gem::Version
19
21
  version: 0.8.1
20
22
  type: :runtime
21
23
  prerelease: false
22
24
  version_requirements: !ruby/object:Gem::Requirement
23
25
  requirements:
24
- - - '>='
26
+ - - "~>"
25
27
  - !ruby/object:Gem::Version
26
28
  version: 0.8.1
27
29
  - !ruby/object:Gem::Dependency
28
30
  name: celluloid
29
31
  requirement: !ruby/object:Gem::Requirement
30
32
  requirements:
31
- - - <
32
- - !ruby/object:Gem::Version
33
- version: 0.14.0
34
- - - '>='
33
+ - - ">="
35
34
  - !ruby/object:Gem::Version
36
35
  version: 0.11.1
37
36
  type: :runtime
38
37
  prerelease: false
39
38
  version_requirements: !ruby/object:Gem::Requirement
40
39
  requirements:
41
- - - <
42
- - !ruby/object:Gem::Version
43
- version: 0.14.0
44
- - - '>='
40
+ - - ">="
45
41
  - !ruby/object:Gem::Version
46
42
  version: 0.11.1
47
43
  - !ruby/object:Gem::Dependency
48
44
  name: hashie
49
45
  requirement: !ruby/object:Gem::Requirement
50
46
  requirements:
51
- - - '>='
47
+ - - ">="
52
48
  - !ruby/object:Gem::Version
53
49
  version: 1.2.0
54
50
  type: :runtime
55
51
  prerelease: false
56
52
  version_requirements: !ruby/object:Gem::Requirement
57
53
  requirements:
58
- - - '>='
54
+ - - ">="
59
55
  - !ruby/object:Gem::Version
60
56
  version: 1.2.0
61
57
  - !ruby/object:Gem::Dependency
62
58
  name: activesupport
63
59
  requirement: !ruby/object:Gem::Requirement
64
60
  requirements:
65
- - - '>='
61
+ - - ">="
66
62
  - !ruby/object:Gem::Version
67
63
  version: '0'
68
64
  type: :runtime
69
65
  prerelease: false
70
66
  version_requirements: !ruby/object:Gem::Requirement
71
67
  requirements:
72
- - - '>='
68
+ - - ">="
73
69
  - !ruby/object:Gem::Version
74
70
  version: '0'
75
71
  - !ruby/object:Gem::Dependency
76
72
  name: rspec
77
73
  requirement: !ruby/object:Gem::Requirement
78
74
  requirements:
79
- - - '>='
75
+ - - ">="
80
76
  - !ruby/object:Gem::Version
81
77
  version: 2.8.0
82
78
  type: :development
83
79
  prerelease: false
84
80
  version_requirements: !ruby/object:Gem::Requirement
85
81
  requirements:
86
- - - '>='
82
+ - - ">="
87
83
  - !ruby/object:Gem::Version
88
84
  version: 2.8.0
89
85
  - !ruby/object:Gem::Dependency
90
86
  name: yard
91
87
  requirement: !ruby/object:Gem::Requirement
92
88
  requirements:
93
- - - '>='
89
+ - - ">="
94
90
  - !ruby/object:Gem::Version
95
91
  version: '0.7'
96
92
  type: :development
97
93
  prerelease: false
98
94
  version_requirements: !ruby/object:Gem::Requirement
99
95
  requirements:
100
- - - '>='
96
+ - - ">="
101
97
  - !ruby/object:Gem::Version
102
98
  version: '0.7'
103
99
  - !ruby/object:Gem::Dependency
104
100
  name: rdoc
105
101
  requirement: !ruby/object:Gem::Requirement
106
102
  requirements:
107
- - - '>='
103
+ - - ">="
108
104
  - !ruby/object:Gem::Version
109
105
  version: '3.12'
110
106
  type: :development
111
107
  prerelease: false
112
108
  version_requirements: !ruby/object:Gem::Requirement
113
109
  requirements:
114
- - - '>='
110
+ - - ">="
115
111
  - !ruby/object:Gem::Version
116
112
  version: '3.12'
117
113
  - !ruby/object:Gem::Dependency
118
114
  name: bundler
119
115
  requirement: !ruby/object:Gem::Requirement
120
116
  requirements:
121
- - - '>='
117
+ - - ">="
122
118
  - !ruby/object:Gem::Version
123
119
  version: 1.0.0
124
120
  type: :development
125
121
  prerelease: false
126
122
  version_requirements: !ruby/object:Gem::Requirement
127
123
  requirements:
128
- - - '>='
124
+ - - ">="
129
125
  - !ruby/object:Gem::Version
130
126
  version: 1.0.0
131
127
  - !ruby/object:Gem::Dependency
132
128
  name: jeweler
133
129
  requirement: !ruby/object:Gem::Requirement
134
130
  requirements:
135
- - - '>='
131
+ - - ">="
136
132
  - !ruby/object:Gem::Version
137
133
  version: 1.8.4
138
134
  type: :development
139
135
  prerelease: false
140
136
  version_requirements: !ruby/object:Gem::Requirement
141
137
  requirements:
142
- - - '>='
138
+ - - ">="
143
139
  - !ruby/object:Gem::Version
144
140
  version: 1.8.4
145
141
  - !ruby/object:Gem::Dependency
146
142
  name: simplecov
147
143
  requirement: !ruby/object:Gem::Requirement
148
144
  requirements:
149
- - - '>='
145
+ - - ">="
150
146
  - !ruby/object:Gem::Version
151
147
  version: '0'
152
148
  type: :development
153
149
  prerelease: false
154
150
  version_requirements: !ruby/object:Gem::Requirement
155
151
  requirements:
156
- - - '>='
152
+ - - ">="
157
153
  - !ruby/object:Gem::Version
158
154
  version: '0'
159
155
  - !ruby/object:Gem::Dependency
160
156
  name: fakeweb
161
157
  requirement: !ruby/object:Gem::Requirement
162
158
  requirements:
163
- - - '>='
159
+ - - ">="
164
160
  - !ruby/object:Gem::Version
165
161
  version: '0'
166
162
  type: :development
167
163
  prerelease: false
168
164
  version_requirements: !ruby/object:Gem::Requirement
169
165
  requirements:
170
- - - '>='
166
+ - - ">="
171
167
  - !ruby/object:Gem::Version
172
168
  version: '0'
173
169
  description: A Ruby library for consuming v3 of the AT&T Speech API for speech->text,
@@ -175,18 +171,18 @@ description: A Ruby library for consuming v3 of the AT&T Speech API for speech->
175
171
  a text string of the spoken words. Can also take in either a text string or .txt
176
172
  file and returns a string of bytes from which a .wav file can be created of the
177
173
  spoken text.
178
- email: jason@goecke.net
174
+ email: dev&adhearsion.com
179
175
  executables: []
180
176
  extensions: []
181
177
  extra_rdoc_files:
182
178
  - LICENSE.txt
183
179
  - README.md
184
180
  files:
185
- - .document
186
- - .rspec
187
- - .travis.yml
181
+ - ".document"
182
+ - ".gitignore"
183
+ - ".rspec"
184
+ - ".travis.yml"
188
185
  - Gemfile
189
- - Gemfile.lock
190
186
  - LICENSE.txt
191
187
  - README.md
192
188
  - Rakefile
@@ -198,9 +194,10 @@ files:
198
194
  - lib/att_speech.rb
199
195
  - lib/att_speech/att_speech.rb
200
196
  - lib/att_speech/version.rb
197
+ - lib/core_ext/att_multipart.rb
201
198
  - spec/att_speech_spec.rb
202
199
  - spec/spec_helper.rb
203
- homepage: http://github.com/jsgoecke/att_speech
200
+ homepage: http://github.com/adhearsion/att_speech
204
201
  licenses:
205
202
  - MIT
206
203
  metadata: {}
@@ -210,20 +207,21 @@ require_paths:
210
207
  - lib
211
208
  required_ruby_version: !ruby/object:Gem::Requirement
212
209
  requirements:
213
- - - '>='
210
+ - - ">="
214
211
  - !ruby/object:Gem::Version
215
- version: '0'
212
+ version: 1.9.3
216
213
  required_rubygems_version: !ruby/object:Gem::Requirement
217
214
  requirements:
218
- - - '>='
215
+ - - ">="
219
216
  - !ruby/object:Gem::Version
220
217
  version: '0'
221
218
  requirements: []
222
219
  rubyforge_project:
223
- rubygems_version: 2.0.3
220
+ rubygems_version: 2.2.2
224
221
  signing_key:
225
- specification_version: 3
222
+ specification_version: 4
226
223
  summary: A Ruby library for consuming the AT&T Speech API https://developer.att.com/developer/forward.jsp?passedItemId=12500023
227
224
  for speech->text, and text->speech.
228
- test_files: []
229
- has_rdoc:
225
+ test_files:
226
+ - spec/att_speech_spec.rb
227
+ - spec/spec_helper.rb
@@ -1,58 +0,0 @@
1
- GEM
2
- remote: http://rubygems.org/
3
- specs:
4
- activesupport (3.2.13)
5
- i18n (= 0.6.1)
6
- multi_json (~> 1.0)
7
- celluloid (0.13.0)
8
- timers (>= 1.0.0)
9
- diff-lcs (1.2.4)
10
- fakeweb (1.3.0)
11
- faraday (0.8.7)
12
- multipart-post (~> 1.1)
13
- git (1.2.5)
14
- hashie (2.0.4)
15
- i18n (0.6.1)
16
- jeweler (1.8.4)
17
- bundler (~> 1.0)
18
- git (>= 1.2.5)
19
- rake
20
- rdoc
21
- json (1.7.7)
22
- json (1.7.7-java)
23
- multi_json (1.7.3)
24
- multipart-post (1.2.0)
25
- rake (10.0.4)
26
- rdoc (4.0.1)
27
- json (~> 1.4)
28
- rspec (2.13.0)
29
- rspec-core (~> 2.13.0)
30
- rspec-expectations (~> 2.13.0)
31
- rspec-mocks (~> 2.13.0)
32
- rspec-core (2.13.1)
33
- rspec-expectations (2.13.0)
34
- diff-lcs (>= 1.1.3, < 2.0)
35
- rspec-mocks (2.13.1)
36
- simplecov (0.7.1)
37
- multi_json (~> 1.0)
38
- simplecov-html (~> 0.7.1)
39
- simplecov-html (0.7.1)
40
- timers (1.1.0)
41
- yard (0.8.6.1)
42
-
43
- PLATFORMS
44
- java
45
- ruby
46
-
47
- DEPENDENCIES
48
- activesupport
49
- bundler (>= 1.0.0)
50
- celluloid (>= 0.11.1, < 0.14.0)
51
- fakeweb
52
- faraday (>= 0.8.1)
53
- hashie (>= 1.2.0)
54
- jeweler (>= 1.8.4)
55
- rdoc (>= 3.12)
56
- rspec (>= 2.8.0)
57
- simplecov
58
- yard (>= 0.7)