<commit_before>ExTwilio
========
[![Hex.pm](https://img.shields.io/hexpm/v/ex_twilio.svg)](https://hex.pm/packages/ex_twilio)
[![Build Status](https://travis-ci.org/danielberkompas/ex_twilio.svg?branch=master)](https://travis-ci.org/danielberkompas/ex_twilio)
[![Inline docs](http://inch-ci.org/github/danielberkompas/ex_twilio.svg?branch=master)](http://inch-ci.org/github/danielberkompas/ex_twilio)

## Installation

ExTwilio is currently beta software. You can install it from Hex:

```elixir
def deps do
  [
    {:ibrowse, github: "cmullaparthi/ibrowse", tag: "v4.1.2"},
    {:ex_twilio, "~> 0.1.3"}
  ]
end
```

Or from Github:

```elixir
def deps do
  [
    {:ibrowse, github: "cmullaparthi/ibrowse", tag: "v4.1.2"},
    {:ex_twilio, github: "danielberkompas/ex_twilio"}
  ]
end
```

## Configuration

You will need to set the following configuration variables in your 
`config/config.exs` file:

```elixir
use Mix.Config

config :ex_twilio, account_sid: System.get_env("TWILIO_ACCOUNT_SID"),
                   auth_token:  System.get_env("TWILIO_AUTH_TOKEN")
```

For security, I recommend that you use environment variables rather than hard
coding your account credentials. If you don't already have an environment
variable manager, you can create a `.env` file in your project with the
following content:

```bash
export TWILIO_ACCOUNT_SID=<account sid here>
export TWILIO_AUTH_TOKEN=<auth token>
```

Then, just be sure to run `source .env` in your shell before compiling your
project.

### Multiple Environments
If you want to use different Twilio credentials for different environments, then
create separate Mix configuration files for each environment. To do this, change
`config/config.exs` to look like this:

```elixir
# config/config.exs

use Mix.Config

# shared configuration for all environments here ...

import_config "#{Mix.env}.exs"
```

Then, create a `config/#{environment_name}.exs` file for each environment. You
can then set the `config :ex_twilio` variables differently in each file.

## Usage

ExTwilio comes with module for each supported Twilio API resource. For example,
the "Call" resource is accessible through the `ExTwilio.Call` module. Depending
on what the underlying API supports, a resource module may have the following
methods:

| Method            | Description                                                       |
| ----------------- | ----------------------------------------------------------------- |
| **all**           | Eager load all of the resource items on all pages. Use with care! |
| **list**          | Get the first page of the resource. Page size is configurable.    |
| **next_page**     | Given the current page, get the next page.                        |
| **previous_page** | Given the current page, get the previous page.                    |
| **first_page**    | Given the current page, get the first page.                       |
| **last_page**     | Given the current page, get the last page.                        |
| **stream**        | Create a Stream of all the items. Use like any Stream.            |
| **find**          | Find a resource given its SID.                                    |
| **create**        | Create a resource.                                                |
| **update**        | Update a resource.                                                |
| **destroy**       | Destroy a resource.                                               |
<commit_msg>Remove deleted functions from README<commit_after>ExTwilio
========
[![Hex.pm](https://img.shields.io/hexpm/v/ex_twilio.svg)](https://hex.pm/packages/ex_twilio)
[![Build Status](https://travis-ci.org/danielberkompas/ex_twilio.svg?branch=master)](https://travis-ci.org/danielberkompas/ex_twilio)
[![Inline docs](http://inch-ci.org/github/danielberkompas/ex_twilio.svg?branch=master)](http://inch-ci.org/github/danielberkompas/ex_twilio)

## Installation

ExTwilio is currently beta software. You can install it from Hex:

```elixir
def deps do
  [
    {:ibrowse, github: "cmullaparthi/ibrowse", tag: "v4.1.2"},
    {:ex_twilio, "~> 0.1.3"}
  ]
end
```

Or from Github:

```elixir
def deps do
  [
    {:ibrowse, github: "cmullaparthi/ibrowse", tag: "v4.1.2"},
    {:ex_twilio, github: "danielberkompas/ex_twilio"}
  ]
end
```

## Configuration

You will need to set the following configuration variables in your 
`config/config.exs` file:

```elixir
use Mix.Config

config :ex_twilio, account_sid: System.get_env("TWILIO_ACCOUNT_SID"),
                   auth_token:  System.get_env("TWILIO_AUTH_TOKEN")
```

For security, I recommend that you use environment variables rather than hard
coding your account credentials. If you don't already have an environment
variable manager, you can create a `.env` file in your project with the
following content:

```bash
export TWILIO_ACCOUNT_SID=<account sid here>
export TWILIO_AUTH_TOKEN=<auth token>
```

Then, just be sure to run `source .env` in your shell before compiling your
project.

### Multiple Environments
If you want to use different Twilio credentials for different environments, then
create separate Mix configuration files for each environment. To do this, change
`config/config.exs` to look like this:

```elixir
# config/config.exs

use Mix.Config

# shared configuration for all environments here ...

import_config "#{Mix.env}.exs"
```

Then, create a `config/#{environment_name}.exs` file for each environment. You
can then set the `config :ex_twilio` variables differently in each file.

## Usage

ExTwilio comes with module for each supported Twilio API resource. For example,
the "Call" resource is accessible through the `ExTwilio.Call` module. Depending
on what the underlying API supports, a resource module may have the following
methods:

| Method            | Description                                                       |
| ----------------- | ----------------------------------------------------------------- |
| **all**           | Eager load all of the resource items on all pages. Use with care! |
| **stream**        | Create a Stream of all the items. Use like any Stream.            |
| **find**          | Find a resource given its SID.                                    |
| **create**        | Create a resource.                                                |
| **update**        | Update a resource.                                                |
| **destroy**       | Destroy a resource.                                               |

{'fraction_non_alphanumeric': 0.13276792598303777, 'fraction_numerical': 0.0027756360832690823, 'mean_word_length': 2.4353813559322033, 'pattern_counts': {'":': 0, '<': 7, '<?xml version=': 0, '>': 9, 'https://': 8, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 19, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '1477569', 'n_tokens_mistral': 1890, 'n_tokens_neox': 1819, 'n_words': 606}