8000 GitHub - wakairo/pmrails: PmRails is a toolset for testing or developing Ruby on Rails applications without installing Rails or its dependencies into your local environment. It leverages Podman to create an isolated, containerized environment for your Rails projects.
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

PmRails is a toolset for testing or developing Ruby on Rails applications without installing Rails or its dependencies into your local environment. It leverages Podman to create an isolated, containerized environment for your Rails projects.

License

Notifications You must be signed in to change notification settings

wakairo/pmrails

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 

Repository files navigation

PmRails

PmRails is a toolset for testing or developing Ruby on Rails applications without installing Rails or its dependencies into your local environment. It leverages Podman to create an isolated, containerized environment for your Rails projects.

Why Use PmRails?

  • Clean Local Environment: No need to install Rails or dependencies locally.
  • Quick Setup: Start developing immediately if Podman is installed.
  • Consistent and Reproducible Environments: Isolated containers prevent dependency conflicts, making it ideal for team collaboration.
  • Experiment Freely: Safely test different Rails versions or configurations.

Features

PmRails provides the following commands:

  • pmrails: Runs Rails commands as a wrapper for bin/rails.
    Usage: pmrails COMMAND [OPTIONS]

  • pmrails-new: Creates a new Rails application as a wrapper for bin/rails new.
    Usage: pmrails-new RAILS_VERSION APP_PATH [OPTIONS]

  • pmrails-new-plus: Performs the typical setup tasks for a new Rails application with pmrails all at once.
    Usage: pmrails-new-plus RAILS_VERSION APP_PATH [OPTIONS]

  • pmrailsenvexec: Executes arbitrary commands within the containerized environment.
    Usage: pmrailsenvexec COMMAND [OPTIONS]

  • pmbundle: Manages gems as a wrapper for bundle.
    Usage: pmbundle [BUNDLE_ARGS]
    Gems are installed into the vendor/bundle/ directory, which is used by pmrails.

To reset the gem environment, simply delete the vendor/bundle/ directory:

rm -rf vendor/bundle/

Installation

Prerequisites: Install Podman

Follow the Podman Installation Instructions for your operating system.

Install PmRails

Download PmRails to your preferred location. For example:

mkdir -p ~/.var
cd ~/.var
git clone https://github.com/wakairo/pmrails.git

Add the bin directory to your system's PATH environment variable. For example, using bash:

echo 'export PATH="$HOME/.var/pmrails/bin/:$PATH"' >> ~/.bashrc
exec $SHELL -l

Usage

Creating a New Rails Application

Navigate to a temporary directory. For example:

mkdir -p ~/tmp
cd ~/tmp

Create a new Rails app using the desired Rails version:

pmrails-new 8.0.1 sample_app --skip-bundle

Move to the application directory:

cd sample_app

Run Bundler to install Gems:

pmbundle install

If using Git for your app, add /vendor/bundle/ to .gitignore. For example:

echo /vendor/bundle/ >> .gitignore

Creating a New Rails Application Using pmrails-new-plus

Using pmrails-new-plus allows you to perform the typical setup tasks for a new Rails application with pmrails all at once.

For example, executing the following command:

pmrails-new-plus 8.0.1 sample_app

will execute the equivalent of these four commands at once:

pmrails-new 8.0.1 sample_app --skip-bundle
cd sample_app
echo /vendor/bundle/ >> .gitignore
pmbundle install

Running Rails Commands

To run Rails commands, use pmrails. For example, to start the server:

pmrails server -b 0.0.0.0

Then, open your web browser and navigate to http://localhost:3000/.

More Examples:

# Run database migrations
pmrails db:migrate

# Execute tests
pmrails test

# Open the Rails console
pmrails console

# Run the Rails setup script
pmrailsenvexec bin/setup

About

PmRails is a toolset for testing or developing Ruby on Rails applications without installing Rails or its dependencies into your local environment. It leverages Podman to create an isolated, containerized environment for your Rails projects.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

0