Mysql2 Chef Gem Installer Cookbook
==================================

[![Build Status](https://travis-ci.org/sinfomicien/mysql2_chef_gem.svg)](https://travis-ci.org/sinfomicien/mysql2_chef_gem)
[![Cookbook Version](http://img.shields.io/cookbook/v/mysql2_chef_gem.svg)](https://supermarket.chef.io/cookbooks/mysql2_chef_gem)

mysql2_chef_gem is a library cookbook that provides an LWRP for use
in recipes. It provides a wrapper around `chef_gem` called
`mysql2_chef_gem` that eases the installation process, collecting the
prerequisites and side-stepping the compilation phase arms race.

Scope
-----
This cookbook is concerned with the installation of the `mysql2`
Rubygem into Chef's gem path. Installation into other Ruby
environments, or installation of related gems such as `mysql` are
outside the scope of this cookbook.

Requirements
------------
* Chef 11 or higher
* Ruby 1.9 (preferably from the Chef full-stack installer)

Platform Support
----------------
The following platforms have been tested with Test Kitchen and are
known to work.

```
|---------------------------------------+-----+-----+-----+-----+-----|
|                                       | 5.0 | 5.1 | 5.5 | 5.6 | 5.7 |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / centos-5       |   X |     |     | X   | X   |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / centos-6       |     | X   | X   | X   | X   |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / centos-7       |     |     | X   | X   | X   |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / fedora-20      |     |     | X   | X   | X   |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / debian-7       |     |     | X   |     |     |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / ubuntu-10.04   |     | X   |     |     |     |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / ubuntu-12.04   |     |     | X   |     |     |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mysql / ubuntu-14.04   |     |     | X   | X   |     |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mariadb / fedora-20    |     |     | X   |     |     |
|---------------------------------------+-----+-----+-----+-----+-----|
| Mysql2ChefGem::Mariadb / ubuntu-14.04 |     |     | X   |     |     |
|---------------------------------------+-----+-----+-----+-----+-----|
```

Usage
-----
Place a dependency on the mysql cookbook in your cookbook's metadata.rb
```ruby
depends 'mysql2_chef_gem', '~> 1.0'
```

Then, in a recipe:

```ruby
mysql2_chef_gem 'default' do
  action :install
end
```

Resources Overview
------------------
### mysql2_chef_gem

The `mysql2_chef_gem` resource the build dependencies and installation
of the `mysql2` rubygem into Chef's Ruby environment

#### Example
```ruby
mysql2_chef_gem 'default' do
  gem_version '0.3.17'
  action :install
end
```
#### Parameters
- `gem_version` - The version of the `mysql` Rubygem to install into
  the Chef environment. Defaults to '0.3.17'
  connector libraries
- `client_version` - The version of the mysql client libraries to
  install and link against

#### Actions
- `:install` - Build and install the gem into the Chef environment
- `:remove` - Delete the gem from the Chef environment

#### Providers
Chef selects a default provider based on platform and version,
but you can specify one if your platform support it.

```ruby
mysql2_chef_gem 'default' do
  provider Chef::Provider::Mysql2ChefGem::Mariadb
  action :install
end
```


License & Authors
-----------------
- Author:: Sean OMeara (<someara@chef.io>)
- Author:: Nicolas Blanc(<sinfomicien@gmail.com>)

```
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

    http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
```
