feat: select different config via command line#65
feat: select different config via command line#65nodomain wants to merge 1 commit intogitviola:masterfrom
Conversation
| .cache | ||
| last_imported | ||
| config.yml | ||
| config-*.yml |
There was a problem hiding this comment.
I'm wondering, maybe it would be nicer to introduce a config directory if there are multiple config files.
Maybe what could happen is:
- the script looks for a config.yml by default and if it doesn't find any
./config.ymland no arguments are given, it throws an error explaining the two ways of configuring it - when an argument is given, it never checks for the
./config.yml, it could directly try to accessconfig/your-argument.yml
What do you think?
I really like that idea, amazing that you started this PR!
There was a problem hiding this comment.
Cool. Will have to look how to do this with Ruby. I am more a Python/Bash guy ;)
| YAML.load_file(File.join('.', 'spec/config.test.yml')) | ||
| else | ||
| YAML.load_file(File.join('.', 'config.yml')) | ||
| # check if the first command line parameter contains a value and use that for the config file |
There was a problem hiding this comment.
I was thinking about the code a bit and what you could do is to extract all the config-file related logic to a method and then call it. Could be something like this:
# Reads the settings from the yaml file
class Settings
def self.all
@settings ||= begin
YAML.load_file(File.join('.', config_path))
end
end
def self.config_path
return "spec/config.test.yml" if ENV['ENV'] == 'test'
return "config/#{ARGV[0]}.yml" if ARGV[0]
"config.yml"
end
endThe YAML.load_file should already throw an understandable error, so I don't think we would need to handle it. Let me know what you think
There was a problem hiding this comment.
Same as above - great idea but no idea how to do this in Ruby. Will have to look into it.
Hi,
since I use YNAB for my wife and myself, I needed the possibility to select a different config file via command line.
This is my first Ruby "code" - works for me, YMMV.
Perhaps you can improve my solution ;)
Regards
Fabian