module HerokuEnv
Public Instance Methods
add_env(**args)
click to toggle source
# File lib/nxt_heroku_env/heroku_env.rb, line 12 def add_env(**args) args.each do |env_name, heroku_app_name| app_name_pattern = heroku_app_name.is_a?(Regexp) ? heroku_app_name : Regexp.new(heroku_app_name.to_s) heroku_app_name_to_env_mappings[app_name_pattern] = env_name.to_sym define_method("#{env_name}?") do env == env_name.to_sym end define_method(env_name) do |&block| block.call if env == env_name.to_sym end end end
app_name()
click to toggle source
# File lib/nxt_heroku_env/heroku_env.rb, line 4 def app_name ENV["HEROKU_APP_NAME"].presence end
configure(&block)
click to toggle source
# File lib/nxt_heroku_env/heroku_env.rb, line 37 def configure(&block) block.call(self) end
env()
click to toggle source
# File lib/nxt_heroku_env/heroku_env.rb, line 27 def env @env ||= begin env_name = heroku_app_name_to_env_mappings.keys.find { |heroku_app_name_pattern| heroku_app_name_pattern.match?(app_name) } heroku_app_name_to_env_mappings[env_name] end end
heroku_app_name_to_env_mappings()
click to toggle source
# File lib/nxt_heroku_env/heroku_env.rb, line 8 def heroku_app_name_to_env_mappings @heroku_app_name_to_env_mappings ||= {} end