Sha256: 00047663bed358c38de310dcedc5863081ef2411f895eeeccfe307779647cbcd

Contents?: true

Size: 989 Bytes

Versions: 1

Compression:

Stored size: 989 Bytes

Contents

require 'securerandom'

module PopulateEnv
  module Heroku
    class Options
      DEFAULTS = {
        manifest_environment: 'production',
        manifest: 'app.json',
        destination: '.env',
        generate_secrets: true,
        secret_generator: SecureRandom.method(:hex),
        use_heroku_config: true,
        heroku_app: nil,
        heroku_remote: nil,
        skip_local_env: true,
        prompt_missing: true,
        export: false,
        output: $stdout,
        input: $stdin,
        local_env: ENV
      }.freeze

      attr_accessor *DEFAULTS.keys

      def initialize(**attrs)
        attrs = DEFAULTS.merge(attrs)
        attrs.each { |attr, value| public_send("#{attr}=", value) }
      end

      def manifest=(value)
        @manifest = Pathname(value)
      end

      def destination=(value)
        @destination = Pathname(value)
      end

      def manifest_environment=(value)
        @manifest_environment = value.to_sym
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
populate-env-0.1.1 lib/populate_env/heroku/options.rb