class DotEnvDotExample
Attributes
dot_env[R]
filename[R]
Public Class Methods
new( options = {} )
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 2 def initialize( options = {} ) @filename = options[:filename] || ".env.example" @dot_env = options[:dot_env] || DotEnv.new end
Public Instance Methods
keys_new_to_example()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 18 def keys_new_to_example dot_env.keys.reject do |key| keys.map(&:chomp).include? key end end
missing_keys()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 32 def missing_keys keys.reject { |key| dot_env.keys.include?(key) } end
pre_commit_hook()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 46 def pre_commit_hook # TODO: Make it possible to put .env and .env.example files somewhere else? # Maybe later if people actually want this feature [ "dot_example sync", "git add .env.example" ].join("\n") end
print_missing_keys_message()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 36 def print_missing_keys_message if missing_keys.any? puts Paint[ "missing ENV variables from #{dot_env.filename}", :green ] puts missing_keys end end
print_new_keys_message()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 24 def print_new_keys_message puts Paint[ "New variables added to #{filename}", :green ] puts keys_new_to_example end
write!()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 9 def write! if keys_new_to_example.any? print_new_keys_message File.open(filename, "a") do |file| file.puts keys_new_to_example.map { |key| "#{key}=" } end end end
Private Instance Methods
keys()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 57 def keys lines.map{ |line| line.split("=")[0] } end
lines()
click to toggle source
# File lib/dot_example/dot_env_dot_example.rb, line 61 def lines unless Dir.glob(filename).any? `touch #{filename}` end File.readlines(filename) end