Sha256: 5ca7e70953c725b5fe33348df823068a26dce03a347bd827d1a3e34e5f79b137

Contents?: true

Size: 1.94 KB

Versions: 2

Compression:

Stored size: 1.94 KB

Contents

# -*- mode: ruby -*-¬
# NOTE: defaults are deprecated and will be removed in > v0.9

# We allow defaults for local development (and local tests), but want our CI
# to mimic our production as much as possible.
# New developers that don't have RACK_ENV set, will in this way not be presented with a huge
# list of missing variables, as defaults are still enabled.
not_production_nor_ci = ->{ !(ENV['RACK_ENV'] == 'production' || ENV['CI']) }
enable_defaults!(&not_production_nor_ci)

# Your code will likely not use ENVied.RACK_ENV (better use Rails.env),
# we want it to be present though; heck, we're using it in this file!
variable :RACK_ENV

variable :FORCE_SSL, :boolean, default: 'false'
variable :PORT, :integer, default: '3000'

variable :TAGS, :array, default: 'tag1,tag2'
# ENVied.TAGS
# => ['tag1', 'tag2']

# generate the default value using the value of PORT:
variable :PUBLIC_HOST_WITH_PORT, :string, default: proc { |envied|
  "localhost:#{envied.PORT}"
}

# Or better yet, use the URI type:
variable :SITE_URI, :uri, default: 'http://localhost:5000/'
# So with that you could now do:
# ```
# config.action_mailer.default_url_options = {
#   protocol: ENVied.SITE_URI.scheme,
#   host: ENVied.SITE_URI.host
# }
# config.action_mailer.asset_host = ENVied.SITE_URI.to_s
# ```

group :production do
  variable :MAIL_PAAS_USERNAME
  variable :DATABASE_URL
end

group :ci do
  # ci-only stuff
end

group :not_ci do
  # CI needs no puma-threads, and sidekiq-stuff etc.
  # Define that here:
  variable :MIN_THREADS, :integer, default: '1'
  # more...
end

# Depending on our situation, we can now require the correct groups in our initialization-file:
# At local machines:
# ENVied.require(:default, :development, :not_ci) or
# ENVied.require(:default, :test, :not_ci)

# At the server:
# ENVied.require(:default, :production, :not_ci)

# At CI:
# ENVied.require(:default, :test, :ci)

# All in one line:
# ENVied.require(:default, ENV['RACK_ENV'], (ENV['CI'] ? :ci : :not_ci))

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
envied-0.9.3 examples/extensive_envfile
envied-0.9.2 examples/extensive_envfile