TranscribeMe gem

Build Status Gem Version Dependency Status Coverage Status Code Climate

Description

This gem is a Ruby wrapper for the TranscribeMe SOAP API, built on Savon, and includes some extra dangly bits for uploading to Windows Azure Blob storage.

This gem wants to make it easy for you. It tries, at least. If you call the 'sign_in' method before initializing a session then we all know you meant to. We'll jump right in there and initialize it for you.

Prerequisites

This gem relies on FFMPEG for determining the duration of audio (and video) files. The TranscribeMe SOAP API leaves it as the client's responsibility for determining the duration of files being uploaded.

Installation

Add this line to your application's Gemfile:

gem 'transcribeme'

And then execute:

$ bundle

Or install it yourself as:

$ gem install transcribeme

Usage

See USAGE.md

Documentation

Documentation follows Tomdoc and is generated by YARD

The documentation can be browsed online

Roadmap

Version 1.0.0 stable

  • [ ] Write specs (WIP)
  • [x] Set up Travis-CI and document supported Ruby versions
  • [x] Investigate Windows Azure Blob storage file upload
  • [x] Include Excon for Windows Azure Blob storage
  • [x] Base64 decrypt transcription results
  • [ ] Document SOAP calls and error messages
  • [ ] Complete YARD documentation
  • [ ] Validations for GUIDs
  • [ ] Exceptions for error handling (about 50%)
  • [ ] Modelling Recording objects, particularly better describing recording status
  • [ ] Reduce gem size through reducing spec support files (download as needed during specs, gitignored?)
  • [ ] Implement the customer sign up API
  • [ ] Implement the customer reset password

Version 1.1.0

  • [ ] Refactor the recordings array into an object with #completed #in_progress and #ready instance methods

Version 1.2.0

  • [ ] Create a CLI interface

RubyMotion

  • [ ] A RubyMotion fork (transcribeme-motion), wrapped in BubbleWrap's HTTP DSL (watch this space)

REST API Wrapper

  • [ ] A Sinatra RESTful wrapper around the SOAP operations for your own personal REST API middleman, with JSON-ic magic at your fingertips. JSON was always my favourite Argonaut.

Contributing

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request