Project

boothby

0.0
Repository is archived
Low commit activity in last 3 years
DEPRECATED: This gem is no longer maintained. Groundskeeper to manage your rails application.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
 Dependencies

Development

~> 1.28
~> 0.14
~> 3.11

Runtime

~> 13.0
~> 0.8
>= 5.2
~> 1.2
 Project Readme

Boothby

A Rails application lifecycle manager. Boothby provides CLI commands to standardize common development tasks across a team: setting up a fresh clone, updating after pulling new code, and seeding the database.

Named after Boothby, the groundskeeper of Starfleet Academy.

Archived. This gem is no longer maintained.

Installation

Add to your application's Gemfile:

gem 'boothby'

Usage

boothby setup

Run once after cloning the repo:

$ boothby setup
  • Copies any *.example config files that don't already have a real counterpart
  • Runs bundle install and yarn install (if package.json exists)
  • Runs rails db:prepare db:test:prepare
  • Clears logs and tmp files
  • Restarts the application server

boothby update

Run after pulling new code:

$ boothby update

Same as setup but runs db:migrate instead of db:prepare.

boothby seed

Seeds the database using a structured db/seeds.yml config:

$ boothby seed

Seeds are organized by environment. A :base set runs for all environments; additional sets run only for the matching Rails environment. Progress is shown via animated terminal spinners.

Boothby::KeyRing

Auto-loads all YAML files from config/ and exposes them as methods with environment-aware access and dot notation:

Boothby::KeyRing.database       # reads config/database.yml
Boothby::KeyRing.application    # reads config/application.yml

Configuration

# config/initializers/boothby.rb
Boothby.configure do |config|
  config.root                    = Rails.root
  config.seeds_configuration     = 'db/seeds.yml'
  config.configuration_directory = 'config'
end

License

Copyright (c) 2022 Christopher Hagmann. See MIT License for further details.