Class: Bandwidth::Application

Inherits:
Object
  • Object
show all
Extended by:
ClientWrapper
Includes:
ApiItem
Defined in:
lib/bandwidth/application.rb

Overview

The Applications resource lets you define call and message handling applications

Class Method Summary collapse

Instance Method Summary collapse

Methods included from ClientWrapper

wrap_client_arg

Methods included from ApiItem

#[], #[]=, #initialize, #to_data

Class Method Details

.create(client, data) ⇒ Application

Create an application

Examples:

app = Application.create(client, :name => "new app")

Parameters:

  • client (Client)

    optional client instance to make requests

  • data (Hash)

    hash of values to create application

Returns:



39
40
41
42
43
# File 'lib/bandwidth/application.rb', line 39

def self.create(client, data)
  headers = client.make_request(:post, client.concat_user_path(APPLICATION_PATH), data)[1]
  id = Client.get_id_from_location_header(headers[:location])
  self.get(client, id)
end

.get(client, id) ⇒ Application

Get information about an application

Examples:

app = Application.get(client, "id")

Parameters:

  • client (Client)

    optional client instance to make requests

  • id (String)

    id of application

Returns:



14
15
16
17
# File 'lib/bandwidth/application.rb', line 14

def self.get(client, id)
  item = client.make_request(:get, client.concat_user_path("#{APPLICATION_PATH}/#{id}"))[0]
  Application.new(item, client)
end

.list(client, query = nil) ⇒ Array

Get a list of your applications

Examples:

list = Application.list(client)

Parameters:

  • client (Client)

    optional client instance to make requests

  • query (Hash) (defaults to: nil)

    optional hash with query options

Returns:

  • (Array)

    array of Application instances



26
27
28
29
30
# File 'lib/bandwidth/application.rb', line 26

def self.list(client, query = nil)
  client.make_request(:get, client.concat_user_path(APPLICATION_PATH), query)[0].map do |item|
    Application.new(item, client)
  end
end

Instance Method Details

#deleteObject Also known as: destroy

Remove an application

Examples:

app.delete()


57
58
59
# File 'lib/bandwidth/application.rb', line 57

def delete()
  @client.make_request(:delete, @client.concat_user_path("#{APPLICATION_PATH}/#{id}"))[0]
end

#update(data) ⇒ Object

Update an application

Examples:

app.update(:incoming_call_url => "http://host1")

Parameters:

  • data (Hash)

    changed data



50
51
52
# File 'lib/bandwidth/application.rb', line 50

def update(data)
  @client.make_request(:post, @client.concat_user_path("#{APPLICATION_PATH}/#{id}"), data)[0]
end