Sha256: 773cc69891d20817d001c3546e074a25f41ef168291b809e0b4f37766d6b2e09

Contents?: true

Size: 999 Bytes

Versions: 1

Compression:

Stored size: 999 Bytes

Contents

module Jobshop
  class Configuration
    extend Forwardable

    attr_accessor :mailer_host, :session_store_url
    def_delegators :aws, :access_key_id, :secret_access_key, :region,
      :s3_bucket, :incoming_email_queue

    def initialize
      self.mailer_host = ENV.fetch("JOBSHOP_MAILER_HOST", "localhost:3000")
      self.session_store_url = ENV.fetch("JOBSHOP_SESSION_STORE_URL", "")

      aws.access_key_id = ENV.fetch("JOBSHOP_AWS_ACCESS_KEY_ID", "")
      aws.secret_access_key = ENV.fetch("JOBSHOP_AWS_SECRET_ACCESS_KEY", "")
      aws.region = ENV.fetch("JOBSHOP_AWS_REGION", "")
      aws.s3_bucket = ENV.fetch("JOBSHOP_S3_BUCKET", "")
      aws.incoming_email_queue = ENV.fetch("JOBSHOP_INCOMING_EMAIL_QUEUE", "")
    end

    def aws
      @aws ||= ActiveSupport::OrderedOptions.new
    end
  end

  class << self
    attr_writer :configuration

    def configuration
      @configuration ||= Configuration.new
    end

    def configure
      yield configuration
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
jobshop-0.0.163 lib/jobshop/configuration.rb