Sha256: 6c6088fcc648aab955ddba4cd42115b7a1f9b9c28bf1687c279bc3ec29777e50

Contents?: true

Size: 1.68 KB

Versions: 1

Compression:

Stored size: 1.68 KB

Contents

# SqlEnum

Enables usage of native sql enums with ActiveRecord

## NOTE

Version 1.0 of this is compatible with Rails 7 and above.

For Rails versions below Rails 7, use version 0.4

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'sql_enum'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install sql_enum

## Usage

### Migrations

Use a part of table definition:
```ruby
class CreateUsers < ActiveRecord::Migration[5.1]
  def change
    create_table :users do |t|
      t.enum :status, limit: [:active, :pending, :inactive], default: :active

      t.timestamps
    end
  end
end
```

Or add an enum column:
```ruby
add_column :users, :status, :enum, limit: [:active, :pending, :inactive], default: :active
```

### ActiveRecord

```ruby
class User < ActiveRecord::Base
  sql_enum :status
end
```

## Development

### Testing

Run `docker-compose run --rm rspec` to run the specs in a docker container alongside Mysql.

## Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/1debit/sql_enum. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the [Contributor Covenant](http://contributor-covenant.org) code of conduct.

## License

Inspiration from [native_enum](https://github.com/iangreenleaf/native_enum)

The gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).

## Code of Conduct

Everyone interacting in the SqlEnum project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/1debit/sql_enum/blob/main/CODE_OF_CONDUCT.md).

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
sql_enum-1.0.0 README.md