voicebase 0.0.1

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.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 4887234109d06ee9aae59259535dbb17ad263f7c
4
+ data.tar.gz: ae769013b8a1d712358b41e249fcdd25eb9265a5
5
+ SHA512:
6
+ metadata.gz: a82e2e7e1ff6d3121d11bf919e80b5a6a2fdb2ee287335eedeaa8599b0cfd30b72ed6bf99b9aeedbaf38177504b481a445c652c98a956a942ad8c36614887d7c
7
+ data.tar.gz: 6ab149b3e6694f79e5a31f51ff6c2cf244765866f73498d077b3b2bed18d2004580da0f43f3723c118516f77a819c6774d35965921f7c122422f485a4bd4c934
@@ -0,0 +1,4 @@
1
+ CHANGELOG
2
+ ---------
3
+ - **2016-01-25**: 0.0.1
4
+ - Initial release
data/Gemfile ADDED
@@ -0,0 +1,9 @@
1
+ source ENV['GEM_SOURCE'] || 'https://rubygems.org'
2
+
3
+ gem 'coveralls'
4
+ gem 'faraday'
5
+ gem 'faraday_middleware'
6
+ gem 'mocha'
7
+ gem 'rake'
8
+ gem 'simplecov'
9
+ gem 'test-unit'
@@ -0,0 +1,53 @@
1
+ GEM
2
+ remote: https://rubygems.org/
3
+ specs:
4
+ coveralls (0.8.1)
5
+ json (~> 1.8)
6
+ rest-client (>= 1.6.8, < 2)
7
+ simplecov (~> 0.10.0)
8
+ term-ansicolor (~> 1.3)
9
+ thor (~> 0.19.1)
10
+ docile (1.1.5)
11
+ domain_name (0.5.24)
12
+ unf (>= 0.0.5, < 1.0.0)
13
+ http-cookie (1.0.2)
14
+ domain_name (~> 0.5)
15
+ json (1.8.3)
16
+ metaclass (0.0.4)
17
+ mime (0.4.2)
18
+ mime-types (2.6.2)
19
+ mocha (1.1.0)
20
+ metaclass (~> 0.0.1)
21
+ netrc (0.10.3)
22
+ power_assert (0.2.4)
23
+ rake (10.4.2)
24
+ rest-client (1.8.0)
25
+ http-cookie (>= 1.0.2, < 2.0)
26
+ mime-types (>= 1.16, < 3.0)
27
+ netrc (~> 0.7)
28
+ simplecov (0.10.0)
29
+ docile (~> 1.1.0)
30
+ json (~> 1.8)
31
+ simplecov-html (~> 0.10.0)
32
+ simplecov-html (0.10.0)
33
+ term-ansicolor (1.3.0)
34
+ tins (~> 1.0)
35
+ test-unit (3.1.4)
36
+ power_assert
37
+ thor (0.19.1)
38
+ tins (1.5.2)
39
+ unf (0.1.4)
40
+ unf_ext
41
+ unf_ext (0.0.7.1)
42
+
43
+ PLATFORMS
44
+ ruby
45
+
46
+ DEPENDENCIES
47
+ coveralls
48
+ mime
49
+ mime-types
50
+ mocha
51
+ rake
52
+ simplecov
53
+ test-unit
@@ -0,0 +1,22 @@
1
+ The MIT License (MIT)
2
+
3
+ Copyright (c) 2016 John Wang
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
@@ -0,0 +1,88 @@
1
+ VoiceBase Ruby SDK
2
+ ==================
3
+
4
+ [![Gem Version][gem-version-svg]][gem-version-link]
5
+ [![Build Status][build-status-svg]][build-status-link]
6
+ [![Dependency Status][dependency-status-svg]][dependency-status-link]
7
+ [![Code Climate][codeclimate-status-svg]][codeclimate-status-link]
8
+ [![Scrutinizer Code Quality][scrutinizer-status-svg]][scrutinizer-status-link]
9
+ [![Downloads][downloads-svg]][downloads-link]
10
+ [![Docs][docs-rubydoc-svg]][docs-rubydoc-link]
11
+ [![License][license-svg]][license-link]
12
+
13
+ ## Overview
14
+
15
+ Transcribe audio using VoiceBase.com service.
16
+
17
+ ## Installation
18
+
19
+ ### Via Bundler
20
+
21
+ Add 'voicebase' to Gemfile and then run `bundle`:
22
+
23
+ ```sh
24
+ $ echo "gem 'voicebase'" >> Gemfile
25
+ $ bundle
26
+ ```
27
+
28
+ ### Via RubyGems
29
+
30
+ ```sh
31
+ $ gem install voicebase
32
+ ```
33
+
34
+ ## Usage
35
+
36
+ ### From Filepath
37
+
38
+ ```ruby
39
+ voicebase = VoiceBase::V1::Client.new('myApiKey', 'myPassword')
40
+
41
+ voicebase.upload_media(
42
+ :filePath => '/path/to/myFile.mp3'
43
+ :fileContentType => 'audio/mpeg'
44
+ )
45
+ ```
46
+
47
+ ### From URL
48
+
49
+ ```ruby
50
+ voicebase = VoiceBase::V1::Client.new('myApiKey', 'myPassword')
51
+
52
+ voicebase.upload_media(
53
+ :mediaUrl => 'http://example.com/path/to/myFile.mp3'
54
+ )
55
+ ```
56
+
57
+ ## Change Log
58
+
59
+ See [CHANGELOG.md](CHANGELOG.md)
60
+
61
+ ## Contributions
62
+
63
+ Any reports of problems, comments or suggestions are most welcome.
64
+
65
+ Please report these on [Github](https://github.com/grokify/voicebase-sdk-ruby)
66
+
67
+ ## License
68
+
69
+ MIMEBuilder is available under an MIT-style license. See [LICENSE.txt](LICENSE.txt) for details.
70
+
71
+ MIMEBuilder &copy; 2016 by John Wang
72
+
73
+ [gem-version-svg]: https://badge.fury.io/rb/voicebase.svg
74
+ [gem-version-link]: http://badge.fury.io/rb/voicebase
75
+ [downloads-svg]: http://ruby-gem-downloads-badge.herokuapp.com/voicebase
76
+ [downloads-link]: https://rubygems.org/gems/voicebase
77
+ [build-status-svg]: https://api.travis-ci.org/grokify/voicebase-sdk-ruby.svg?branch=master
78
+ [build-status-link]: https://travis-ci.org/grokify/voicebase-sdk-ruby
79
+ [dependency-status-svg]: https://gemnasium.com/grokify/voicebase-sdk-ruby.svg
80
+ [dependency-status-link]: https://gemnasium.com/grokify/voicebase-sdk-ruby
81
+ [codeclimate-status-svg]: https://codeclimate.com/github/grokify/voicebase-sdk-ruby/badges/gpa.svg
82
+ [codeclimate-status-link]: https://codeclimate.com/github/grokify/voicebase-sdk-ruby
83
+ [scrutinizer-status-svg]: https://scrutinizer-ci.com/g/grokify/voicebase-sdk-ruby/badges/quality-score.png?b=master
84
+ [scrutinizer-status-link]: https://scrutinizer-ci.com/g/grokify/voicebase-sdk-ruby/?branch=master
85
+ [docs-rubydoc-svg]: https://img.shields.io/badge/docs-rubydoc-blue.svg
86
+ [docs-rubydoc-link]: http://www.rubydoc.info/gems/voicebase/
87
+ [license-svg]: https://img.shields.io/badge/license-MIT-blue.svg
88
+ [license-link]: https://github.com/grokify/voicebase-sdk-ruby/blob/master/LICENSE.txt
@@ -0,0 +1,20 @@
1
+ require 'rake'
2
+ require 'rake/testtask'
3
+
4
+ desc 'Default: run unit tests.'
5
+ task :default => :test
6
+
7
+ desc 'Test the library.'
8
+ Rake::TestTask.new do |t|
9
+ t.libs << 'lib'
10
+ t.pattern = 'test/**/test_*.rb'
11
+ t.verbose = false
12
+ end
13
+
14
+ desc 'Generate YARD documentation.'
15
+ task :gendoc do
16
+ # puts 'yard doc generation disabled until JRuby build native
17
+ # extensions for redcarpet or yard removes the dependency.'
18
+ system 'yardoc'
19
+ system 'yard stats --list-undoc'
20
+ end
@@ -0,0 +1,7 @@
1
+ module VoiceBase
2
+ VERSION = '0.0.1'
3
+
4
+ VOICEBASE_API_BASE_PATH = 'https://api.voicebase.com/services'
5
+
6
+ autoload :V1, 'voicebase/v1'
7
+ end
@@ -0,0 +1,3 @@
1
+ module VoiceBase::V1
2
+ autoload :Client, 'voicebase/v1/client'
3
+ end
@@ -0,0 +1,58 @@
1
+ require 'date'
2
+ require 'faraday'
3
+ require 'faraday_middleware'
4
+
5
+ module VoiceBase::V1
6
+ VOICEBASE_API_VERSION = '1.1'
7
+
8
+ class Client
9
+ def initialize(api_key, password, transcript_type='machine-best')
10
+ @api_key = api_key
11
+ @password = password
12
+ @transcript_type = transcript_type
13
+ @conn_url_encoded = new_http_client :url_encoded
14
+ @conn_multipart = new_http_client :multipart
15
+ end
16
+
17
+ def new_http_client(request = :url_encoded)
18
+ conn = Faraday.new(:url => VoiceBase::VOICEBASE_API_BASE_PATH) do |faraday|
19
+ faraday.request request # multipart/form-data
20
+ faraday.response :json
21
+ faraday.response :logger # log requests to STDOUT
22
+ faraday.adapter Faraday.default_adapter # make requests with Net::HTTP
23
+ end
24
+ return conn
25
+ end
26
+
27
+ def upload_media(params={})
28
+ params = {
29
+ :version => VOICEBASE_API_VERSION,
30
+ :apikey => @api_key,
31
+ :password => @password,
32
+ :action => 'uploadMedia',
33
+ :title => DateTime.now.strftime('%Y-%m-%d %I:%M:%S %p'),
34
+ :transcriptType => @transcript_type,
35
+ :desc => 'file description',
36
+ :recordedDate => DateTime.now.strftime('%Y-%m-%d %I:%M:%S'),
37
+ :collection => '',
38
+ :public => false,
39
+ :sourceUrl => '',
40
+ :lang => 'en',
41
+ :imageUrl => ''
42
+ }.merge params
43
+
44
+ response = nil
45
+
46
+ if params.key?(:filePath) && params.key?(:fileContentType)
47
+ params[:file] = Faraday::UploadIO.new(params[:filePath], params[:fileContentType])
48
+ params.delete :filePath
49
+ params.delete :fileContentType
50
+ response = @conn_multipart.post '/services', params
51
+ else
52
+ response = @conn_url_encoded.post '/services', params
53
+ end
54
+
55
+ return response
56
+ end
57
+ end
58
+ end
@@ -0,0 +1,6 @@
1
+ require 'coveralls'
2
+ Coveralls.wear!
3
+
4
+ require 'test/unit'
5
+ require 'mocha/test_unit'
6
+ require 'voicebase'
@@ -0,0 +1,14 @@
1
+ require './test/test_base.rb'
2
+
3
+ class VoiceBaseTest < Test::Unit::TestCase
4
+ def setup
5
+ @vbsdk = VoiceBase::V1::Client.new(
6
+ 'myApiKey',
7
+ 'myPassword'
8
+ )
9
+ end
10
+
11
+ def test_main
12
+ assert_equal 'VoiceBase::V1::Client', @vbsdk.class.name
13
+ end
14
+ end
metadata ADDED
@@ -0,0 +1,74 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: voicebase
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - John Wang
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-01-25 00:00:00.000000000 Z
12
+ dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: faraday_middleware
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - ~>
18
+ - !ruby/object:Gem::Version
19
+ version: '0'
20
+ - - '>='
21
+ - !ruby/object:Gem::Version
22
+ version: '0'
23
+ type: :runtime
24
+ prerelease: false
25
+ version_requirements: !ruby/object:Gem::Requirement
26
+ requirements:
27
+ - - ~>
28
+ - !ruby/object:Gem::Version
29
+ version: '0'
30
+ - - '>='
31
+ - !ruby/object:Gem::Version
32
+ version: '0'
33
+ description: Helper library to transcribe audio
34
+ email: johncwang@gmail.com
35
+ executables: []
36
+ extensions: []
37
+ extra_rdoc_files: []
38
+ files:
39
+ - lib/voicebase/v1/client.rb
40
+ - lib/voicebase/v1.rb
41
+ - lib/voicebase.rb
42
+ - CHANGELOG.md
43
+ - Gemfile
44
+ - Gemfile.lock
45
+ - LICENSE.txt
46
+ - Rakefile
47
+ - README.md
48
+ - test/test_base.rb
49
+ - test/test_setup.rb
50
+ homepage: https://github.com/grokify/
51
+ licenses:
52
+ - MIT
53
+ metadata: {}
54
+ post_install_message:
55
+ rdoc_options: []
56
+ require_paths:
57
+ - lib
58
+ required_ruby_version: !ruby/object:Gem::Requirement
59
+ requirements:
60
+ - - '>='
61
+ - !ruby/object:Gem::Version
62
+ version: '0'
63
+ required_rubygems_version: !ruby/object:Gem::Requirement
64
+ requirements:
65
+ - - '>='
66
+ - !ruby/object:Gem::Version
67
+ version: '0'
68
+ requirements: []
69
+ rubyforge_project:
70
+ rubygems_version: 2.1.5
71
+ signing_key:
72
+ specification_version: 4
73
+ summary: VoiceBase is a Ruby SDK for the VoiceBase API
74
+ test_files: []