class Cutlass::EnvDiff
Diffs the environment
diff = EnvDiff.new diff.changed? # => false ENV["LOL"] = "rofl" diff.changed? # => true
Attributes
before_env[R]
env[R]
skip_keys[R]
Public Class Methods
new(before_env: ENV.to_h.dup, skip_keys: [], env: ENV)
click to toggle source
# File lib/cutlass/env_diff.rb, line 16 def initialize(before_env: ENV.to_h.dup, skip_keys: [], env: ENV) @env = env @before_env = before_env.freeze @skip_keys = skip_keys end
Public Instance Methods
changed?()
click to toggle source
# File lib/cutlass/env_diff.rb, line 34 def changed? env_keys.detect do |k| @env[k] != @before_env[k] end end
env_keys()
click to toggle source
# File lib/cutlass/env_diff.rb, line 40 def env_keys keys = (@before_env.keys + @env.keys) - skip_keys keys.uniq end
same?()
click to toggle source
# File lib/cutlass/env_diff.rb, line 30 def same? !changed? end
to_s()
click to toggle source
# File lib/cutlass/env_diff.rb, line 22 def to_s env_keys.map do |k| next if @env[k] == @before_env[k] " ENV['#{k}'] changed from '#{@before_env[k]}' to '#{@env[k]}'" end.compact.join($/) end