Update yaml to proper class. Fix invocations so tests pass

This commit is contained in:
Alex 2017-11-07 19:16:24 -05:00
parent 1cd2029126
commit 8dade9d52a
3 changed files with 16 additions and 14 deletions

View file

@ -134,10 +134,10 @@ module ColorLS
end
def init_icons
@files = ColorLS::Yaml.load_from_yaml('files.yaml')
@file_aliases = ColorLS::Yaml.load_from_yaml('file_aliases.yaml', true)
@folders = ColorLS::Yaml.load_from_yaml('folders.yaml')
@folder_aliases = ColorLS::Yaml.load_from_yaml('folder_aliases.yaml', true)
@files = ColorLS::Yaml.new('files.yaml').load
@file_aliases = ColorLS::Yaml.new('file_aliases.yaml').load(aliase: true)
@folders = ColorLS::Yaml.new('folders.yaml').load
@folder_aliases = ColorLS::Yaml.new('folder_aliases.yaml').load(aliase: true)
@file_keys = @files.keys
@file_aliase_keys = @file_aliases.keys

View file

@ -142,7 +142,7 @@ EXAMPLES
def set_color_opts
color_scheme_file = @light_colors ? 'light_colors.yaml' : 'dark_colors.yaml'
@opts[:colors] = ColorLS::Yaml.load_from_yaml(color_scheme_file, true)
@opts[:colors] = ColorLS::Yaml.new(color_scheme_file).load(aliase: true)
end
end
end

View file

@ -1,21 +1,23 @@
module ColorLS
class Yaml
def self.load_from_yaml(filename, aliase=false)
user_config_filepath = File.join(Dir.home, ".config/colorls/#{filename}")
filepath = File.join(File.dirname(__FILE__),"../yaml/#{filename}")
yaml = read_file(filepath)
def initialize(filename)
@filepath = File.join(File.dirname(__FILE__),"../yaml/#{filename}")
@user_config_filepath = File.join(Dir.home, ".config/colorls/#{filename}")
end
if File.exist?(user_config_filepath)
user_config_yaml = read_file(user_config_filepath)
yaml = yaml.merge(user_config_yaml)
def load(aliase: false)
yaml = read_file(@filepath)
if File.exist?(@user_config_filepath)
user_config_yaml = read_file(@user_config_filepath)
yaml = yaml.merge(user_config_yaml)
end
return yaml unless aliase
yaml.to_a.map! { |k, v| [k, v.to_sym] }.to_h
end
def self.read_file(filepath)
YAML.safe_load(File.read(filepath)).symbolize_keys
def read_file(filepath)
::YAML.safe_load(File.read(filepath)).symbolize_keys
end
end
end