Project

treant

0.0
No commit activity in last 3 years
No release in over 3 years
A small helper for your Seeds file.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
 Dependencies

Development

~> 1.16
~> 12.0
 Project Readme

Treant

A small helper for your Seeds file.

Installation

Add this line to your application's Gemfile:

gem "treant"

And then execute:

$ bundle

Or install it yourself as:

$ gem install treant

Usage

Generate seed data for given Active Record model:

class User < ApplicationRecord
end

# `email` has an unique index. This is used to upsert the data.

UserSeeder = Treant.new(User, :email)

# Now, create a new record:

UserSeeder.seed do |u|
  u.email = 'user@example.com'
  u.name = 'Bob'
end

User.count      # => 1
User.first.name # => 'Bob'

# If the seed data is changed (except for the `keys` values),
# the record will be updated:

UserSeeder.seed do |u|
  u.email = 'user@example.com'
  u.name = 'Alice'
end

User.count      # => 1
User.first.name # => 'Alice'

License

The gem is available as open source under the terms of the MIT License.