I am making a Rails app that I will run on Heroku. I will use Omniauth and Twitter for authorization, following one of the RailsApps templates.
The Twitter key and secret are kept in the config/initializers/omniauth.rb file. Instead of not tracking that file with git, I decided to use environment variables:
Rails.application.config.middleware.use OmniAuth::Builder do provider :twitter, ENV["TWITTER_KEY"], ENV["TWITTER_SECRET"] end
I wanted to put them in a file that I could run before I ran my app locally. It looks like the only file that can load environment variables is .bashrc. I do not want to clutter my .bashrc file with variables that I only use for one app. I can set it at the console:
export KEY="some_value"
In my script, I tried every possible combination: With and without the word “export”, with and without quotes around the value, with and without a dollar sign in front of the key. I accepted that I should just put the commands in a text file, and then when I need to use the variables I just “more” the file, and then copy and paste the variables into the console. It took me an hour to finally think of that.