docbrown/config/initializers/_env_checker.rb
Mac Siri 8003191a4e Create Chat app (#175)
* Setup Pusher gem

* Create ChatChannel and Message model

* Create ChatChannelController

* Add back fix-db-schema-conflicts gem

* Add pusher-js package

* Add validations on Message & ChatChannel models

* Update Route

* Create MessageController

* Update ChatChannelController

* Create Chat app WIP

* Extract messenger render to Message Component

* Implement live chat WIP

* Implement live chat WIP (2)

* Add style and scrollToBottom feature for chat

* Create getUserDataAndCsrfToken function

* Add feature toggle to the new live chat

* Clean up ChatChannelsController & create spec

* Update ChatChannel spec

* Update Message spec

* Create MessagesController spec & refactor

* Clean up Chat app

* Fix lint

* Add character limit to Message
2018-04-04 14:19:57 -07:00

89 lines
2.1 KiB
Ruby

# This file is named in such a manner so that it run first.
keys = [
"AIRBRAKE_API_KEY",
"AIRBRAKE_PROJECT_ID",
"ALGOLIASEARCH_API_KEY",
"ALGOLIASEARCH_APPLICATION_ID",
"ALGOLIASEARCH_SEARCH_ONLY_KEY",
"APP_DOMAIN",
"APP_PROTOCOL",
"AWS_DEFAULT_REGION",
"AWS_SDK_KEY",
"AWS_SDK_SECRET",
"BUFFER_ACCESS_TOKEN",
"BUFFER_FACEBOOK_ID",
"BUFFER_LINKEDIN_ID",
"BUFFER_PROFILE_ID",
"BUFFER_TWITTER_ID",
"CLOUDINARY_API_KEY",
"CLOUDINARY_API_SECRET",
"CLOUDINARY_CLOUD_NAME",
"CLOUDINARY_SECURE",
"DACAST_STREAM_CODE",
"DEPLOYMENT_SIGNATURE",
"DEVTO_USER_ID",
"GA_SERVICE_ACCOUNT_JSON",
"GA_TRACKING_ID",
"GA_VIEW_ID",
"GITHUB_KEY",
"GITHUB_SECRET",
"GITHUB_TOKEN",
"JWPLAYER_API_KEY",
"JWPLAYER_API_SECRET",
"KEEN_API_URL",
"KEEN_PROJECT_ID",
"KEEN_READ_KEY",
"KEEN_WRITE_KEY",
"MAILCHIMP_API_KEY",
"MAILCHIMP_NEWSLETTER_ID",
"PERIODIC_EMAIL_DIGEST_MAX",
"PERIODIC_EMAIL_DIGEST_MIN",
"PUSHER_APP_ID",
"PUSHER_CLUSTER",
"PUSHER_KEY",
"PUSHER_SECRET",
"RECAPTCHA_SECRET",
"RECAPTCHA_SITE",
"SENDBIRD_APP_ID",
"SENDBIRD_LIVECHAT_URL",
"SERVICE_TIMEOUT",
"SHARE_MEOW_BASE_URL",
"SHARE_MEOW_SECRET_KEY",
"SLACK_CHANNEL",
"SLACK_WEBHOOK_URL",
"STREAM_RAILS_KEY",
"STREAM_RAILS_SECRET",
"STREAM_URL",
"STRIPE_PUBLISHABLE_KEY",
"STRIPE_SECRET_KEY",
"TWITTER_ACCESS_TOKEN",
"TWITTER_ACCESS_TOKEN_SECRET",
"TWITTER_KEY",
"TWITTER_SECRET",
].freeze
missing = []
keys.each do |k|
missing << k if ENV[k].nil?
end
# Run the checker when
# 1. Not in production
# 2. Not in CI
# 3. There are missing keys
if Rails.env != "production" && !ENV["CI"] && !missing.empty? && Rails.env != "test"
message = <<~HEREDOC
\n
=====================================================
Hey there DEVeloper!
You are missing the [#{missing.length}] environment variable(s).
Please obtain these missing key(s) and try again.
-----------------------------------------------------
#{missing.join("\n")}
=====================================================
\n
HEREDOC
raise message
end