class PreCommit::Configuration::Providers::Yaml

Public Class Methods

priority() click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 11
def self.priority
  20
end

Public Instance Methods

[](name) click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 15
def [](name)
  config[name]
end
update(name, value) click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 19
def update(name, value)
  content = read_config(local_file)
  content[name] = value
  save_config(local_file, content)
end

Private Instance Methods

config() click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 27
def config
  @config ||= begin
    config = {}
    config.merge!(read_config(system_file))
    config.merge!(read_config(global_file))
    config.merge!(read_config(local_file))
    config
  end
end
global_file() click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 54
def global_file
  @global_file ||= File.join(ENV['HOME'], '.pre_commit.yml')
end
local_file() click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 58
def local_file
  File.join(top_level, 'config', 'pre_commit.yml')
end
read_config(path) click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 37
def read_config(path)
  content = YAML.load_file(path) if File.exist?(path)
  content || {}
end
save_config(path, content) click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 42
def save_config(path, content)
  parent = File.expand_path('..', path)
  Dir.mkdir(parent) unless Dir.exist?(parent)
  File.open(path, "w") do |file|
    file.write(YAML.dump(content))
  end
end
system_file() click to toggle source
# File lib/plugins/pre_commit/configuration/providers/yaml.rb, line 50
def system_file
  @system_file ||= '/etc/pre_commit.yml'
end