Sha256: 0ab0619e3772e97f92dc6dd6ea1c644ef37727b9d68b2fd5865b15e2addac42b

Contents?: true

Size: 715 Bytes

Versions: 1

Compression:

Stored size: 715 Bytes

Contents

# frozen_string_literal: true

module EJSON
  module Rails
    Rails = ::Rails
    private_constant :Rails

    class Railtie < Rails::Railtie
      config.before_configuration do
        json_files.each do |file|
          next unless valid?(file)
          secrets = JSON.parse(file.read, symbolize_names: true)
          break Rails.application.secrets.deep_merge!(secrets)
        end
      end

      class << self
        private

        def valid?(pathname)
          pathname.exist?
        end

        def json_files
          [
            Rails.root.join("config", "secrets.json"),
            Rails.root.join("config", "secrets.#{Rails.env}.json"),
          ]
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
ejson-rails-0.1.1 lib/ejson/rails/railtie.rb