Project

permadeps

0.0
The project is in a healthy, maintained state
Ruby gem holds my permanent dependencies and configs I'm using in my Rails projects
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Runtime

~> 7.2
~> 4.10, >= 4.10.2
~> 1.2, >= 1.2.2
~> 4.1, >= 4.1.1
~> 2.10, >= 2.10.1
~> 2.1, >= 2.1.1
~> 1.0, >= 1.0.1
~> 6.1, >= 6.1.2
~> 3.1, >= 3.1.2
~> 0.6.0
~> 0.9.5
~> 0.5.0
~> 1.0, >= 1.0.14
~> 1.0, >= 1.0.2
~> 3.3, >= 3.3.1
~> 1.65, >= 1.65.1
~> 1.21, >= 1.21.1
~> 2.25, >= 2.25.1
~> 0.6.0
~> 3.0, >= 3.0.3
~> 2.3, >= 2.3.1
~> 0.2.26
~> 3.0, >= 3.0.3
~> 0.5.2
~> 3.6
~> 5.1
~> 1.8, >= 1.8.3
 Project Readme

permadeps

Ruby gem that holds permanent dependencies and configurations for Rails projects.

This gem is compatible with this Ruby on Rails DevContainer setup.

Installation

Add the gem to your Rails application's Gemfile by executing:

$ bundle add permadeps

Usage

Adding this gem to your Rails project provides you with the following gems and features:

Production Dependencies

The following gems will be automatically required:

Additional production dependencies (not automatically required):

Development Dependencies

Configuration

Rubocop

To use the rubocop configuration provided by permadeps, add the following to your .rubocop.yml:

inherit_gem:
  permadeps:
    - rubocop.yml

Formatters

For erb-formatter and erb_lint to work properly in VSCode, install these extensions:

Generator

The gem provides a generator to install necessary files and configurations:

$ rails g permadeps:install

This generator will perform the following actions:

  1. Copy configuration files:

    • .annotaterb.yml: Configuration for AnnotateRb
    • .better-html.yml: Configuration for Better HTML
    • .env.example: Example environment variables file
    • .erb-lint.yml: Configuration for ERB Lint
    • .rubocop.yml: Configuration for RuboCop
  2. Copy initializers:

    • config/initializers/better_html.rb: Sets up Better HTML
    • config/initializers/blazer.rb: Configures Blazer
    • config/initializers/rack_mini_profiler.rb: Sets up Rack Mini Profiler
    • config/initializers/rails_performance.rb: Sets up Rails Performance
  3. Add background jobs for PgHero:

    • app/jobs/capture_query_stats_job.rb: Captures query statistics
    • app/jobs/capture_space_stats_job.rb: Captures space usage statistics
    • app/jobs/clean_query_stats_job.rb: Cleans up old query statistics
    • app/jobs/clean_space_stats_job.rb: Cleans up old space usage statistics
  4. Add a rake task:

    • lib/tasks/annotate_rb.rake: Task for running Annotate
  5. Run generators for various gems:

    • ahoy:install: Sets up Ahoy for analytics
    • blazer:install: Installs Blazer for business intelligence
    • bullet:install: Installs Bullet for N+1 query detection
    • good_job:install: Sets up GoodJob
    • notable:requests: Sets up Notable for request tracking
    • notable:jobs: Sets up Notable for job tracking
    • pghero:query_stats: Installs PgHero query stats
    • pghero:space_stats: Installs PgHero space stats
  6. Set up Freezolite:

    • Adds require 'freezolite/auto' to config/application.rb for automatic string freezing
  7. Run database migrations:

    • Executes rails db:migrate to apply all pending migrations

After running the generator, your Rails application will be configured with all the necessary settings and files to use the gems provided by permadeps. Make sure to review the generated files and adjust them as needed for your specific project requirements.

License

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