Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

prius

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

prius

  • 6.0.0
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

Prius

Environmentally-friendly application config for Ruby.

Gem Version Build Status

Prius helps you guarantee that your environment variables are:

  • Present - an exception is raised if an environment variable is missing, so you can hear about it as soon as your app boots.
  • Valid - an environment variable can be coerced to a desired type (integer, boolean, string, or date), and an exception will be raised if the value doesn't match the type.

Usage

Installing
$ gem install prius
Quick Start
# Load a required environment variable into the Prius registry:
Prius.load(:github_token)

# Use the environment variable:
Prius.get(:github_token)

# Load an optional environment variable:
Prius.load(:might_be_here_or_not, required: false)

# Load and alias an environment variable:
Prius.load(:alias_name, env_var: "HORRENDOUS_SYSTEM_VAR_NAME")

# Load and coerce an environment variable (or raise):
Prius.load(:my_flag, type: :bool)

You probably want to load all your environment variables as your app starts, so you catch config issues at boot time.

Loading Environment Variables

Environment variables need to be loaded into the Prius registry before being used. Typically this is done in an initialiser.

Prius.load(name, **options)

If an environment variable can't be loaded, Prius will raise one of:

  • MissingValueError if the environment variable was expected to be set but couldn't be found.
  • TypeMismatchError if the environment variable wasn't of the expected type (see below).

Prius.load accepts the following options:

ParamDefaultDescription
requiredtrueFlag to require the environment variable to have been set.
type:stringType to coerce the environment variable to. Allowed values are :string, :int, :bool, and :date.
env_varname.upcaseName of the environment variable name (if different from the upcased name).
Reading Environment Variables

Once a variable has been loaded into the registry it can be read using:

Prius.get(name)

If the environment variable hasn't been loaded, Prius will raise an UndeclaredNameError.

Test and development environments

To make running your app in test and development environments easier we recommend using Dotenv to automatically load a file of dummy config values.


GoCardless ♥ open source. If you do too, come join us.

FAQs

Package last updated on 09 Jan 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc