Undercarriage

*Undercarriage is currently under development. It is not ready for production use.*

Undercarriage is a set of concerns to add to your application to trim some of the fat from controllers and models.

Requirements

  • Ruby >= 3.3.0
  • Rails >= 6.0

Installation

Add to your application's Gemfile

gem 'undercarriage', '~> 1.0'

Run the bundle command

$ bundle install

Usage

TODO

Testing

Run tests with one of the following

$ bundle exec rspec
$ bundle exec rspec spec

Appraisal

Undercarriage uses Appraisal2 (a maintained fork of Appraisal, still exposing the appraisal executable) to ensure various dependency versions work as expected

When dependencies change, run

$ bundle exec appraisal install
$ bundle exec appraisal generate-install

To run tests with Appraisal, run

$ bundle exec appraisal rspec
$ bundle exec appraisal rails-6-0 rspec spec
$ bundle exec appraisal rails-6-1 rspec spec
$ bundle exec appraisal rails-7-0 rspec spec
$ bundle exec appraisal rails-7-1 rspec spec
$ bundle exec appraisal rails-7-2 rspec spec
$ bundle exec appraisal rails-8-0 rspec spec
$ bundle exec appraisal rails-8-1 rspec spec

Code Analysis

Various tools are used to ensure code is linted and formatted correctly.

RuboCop

RuboCop is a Ruby static code analyzer.

$ rubocop

YARD-Lint

YARD-Lint is a linter for YARD documentation.

$ bundle exec yard-lint

Documentation

Yard is used to generate documentation. Online documentation is available

Build the documentation with one of the following

$ yard
$ yard doc

Build the documentation and list all undocumented objects

$ yard stats --list-undoc

License

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

Contributing

  1. Fork it (https://github.com/dfreerksen/undercarriage/fork)
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request