Class: Auphonic::Endpoint
- Inherits:
-
Object
- Object
- Auphonic::Endpoint
- Includes:
- Singleton
- Defined in:
- lib/auphonic/endpoint.rb
Constant Summary collapse
- URL =
'https://auphonic.com'
Instance Method Summary collapse
- #create_production(data) ⇒ Object
- #download(url) ⇒ Object
- #info_algorithms ⇒ Object
- #info_outputfiles ⇒ Object
-
#info_productionsstatuss ⇒ Object
sic.
- #info_servicetypes ⇒ Object
-
#initialize ⇒ Endpoint
constructor
A new instance of Endpoint.
- #load_production(uuid) ⇒ Object
- #presets ⇒ Object
- #productions ⇒ Object
- #services ⇒ Object
- #start_production(uuid) ⇒ Object
- #upload_to_production(uuid, path) ⇒ Object
Constructor Details
#initialize ⇒ Endpoint
Returns a new instance of Endpoint.
14 15 16 17 18 19 20 21 22 23 |
# File 'lib/auphonic/endpoint.rb', line 14 def initialize @connection ||= Faraday.new(:url => URL) do |faraday| faraday.request :multipart #faraday.response :logger faraday.adapter Faraday.default_adapter end config = OpenStruct.new(YAML.load(File.read(File.("~/.auphonic")))) credentials = [ config.login, config.passwd ] @connection.basic_auth(*credentials) end |
Instance Method Details
#create_production(data) ⇒ Object
57 58 59 60 61 62 63 64 65 |
# File 'lib/auphonic/endpoint.rb', line 57 def create_production(data) url = '/api/productions.json' response = @connection.post do |req| req.url url req.headers['Content-Type'] = 'application/json' req.body = data.to_json end JSON.parse(response.body)['data'] end |
#download(url) ⇒ Object
84 85 86 87 88 89 90 |
# File 'lib/auphonic/endpoint.rb', line 84 def download(url) url.sub!(URL, '') filename = File.basename(url) response = @connection.get(url) File.open(filename, 'w') { |f| f.print(response.body) } filename end |
#info_algorithms ⇒ Object
41 42 43 |
# File 'lib/auphonic/endpoint.rb', line 41 def info_algorithms get('/api/info/algorithms.json')['data'] end |
#info_outputfiles ⇒ Object
45 46 47 |
# File 'lib/auphonic/endpoint.rb', line 45 def info_outputfiles get('/api/info/output_files.json')['data'] end |
#info_productionsstatuss ⇒ Object
sic
49 50 51 |
# File 'lib/auphonic/endpoint.rb', line 49 def info_productionsstatuss # sic get('/api/info/production_status.json')['data'] end |
#info_servicetypes ⇒ Object
37 38 39 |
# File 'lib/auphonic/endpoint.rb', line 37 def info_servicetypes get('/api/info/service_types.json')['data'] end |
#load_production(uuid) ⇒ Object
53 54 55 |
# File 'lib/auphonic/endpoint.rb', line 53 def load_production(uuid) get("/api/production/#{uuid}.json")['data'] end |
#presets ⇒ Object
29 30 31 |
# File 'lib/auphonic/endpoint.rb', line 29 def presets get('/api/presets.json')['data'] end |
#productions ⇒ Object
25 26 27 |
# File 'lib/auphonic/endpoint.rb', line 25 def productions get('/api/productions.json')['data'] end |
#services ⇒ Object
33 34 35 |
# File 'lib/auphonic/endpoint.rb', line 33 def services get('/api/services.json')['data'] end |
#start_production(uuid) ⇒ Object
75 76 77 78 79 80 81 82 |
# File 'lib/auphonic/endpoint.rb', line 75 def start_production(uuid) url = "/api/production/#{uuid}/start.json" response = @connection.post do |req| req.url url req.headers['Content-Type'] = 'application/json' end JSON.parse(response.body)['data'] end |
#upload_to_production(uuid, path) ⇒ Object
67 68 69 70 71 72 73 |
# File 'lib/auphonic/endpoint.rb', line 67 def upload_to_production(uuid, path) raise 'Error: uuid missing' if uuid.nil? url = "/api/production/#{uuid}/upload.json" payload = { input_file: Faraday::UploadIO.new(path, 'audio/basic') } response = @connection.post(url, payload) JSON.parse(response.body)['data'] end |