module Dapp::Dapp::DappConfig
Constants
- SUPPORTED_CONFIG_OPTIONS
Public Instance Methods
config_options()
click to toggle source
# File lib/dapp/dapp/dapp_config.rb, line 36 def config_options @config_options ||= begin config_search_paths = [] config_search_paths << File.join(Dir.home) config_search_paths << path if dappfile_exists? config_search_paths.reduce({}) do |options, dir| if (config_options_path = make_path(dir, '.dapp_config')).file? config_options = begin yaml_load_file(config_options_path).tap do |c_options| c_options.merge!(c_options.in_depth_merge(c_options['ci'] || {})) if ENV['GITLAB_CI'] || ENV['TRAVIS'] c_options.delete('ci') end rescue Psych::SyntaxError => e raise Error::Dapp, code: :dapp_config_file_incorrect, data: { message: e.message } end options.in_depth_merge(config_options) else options end end.symbolize_keys end end
option_color()
click to toggle source
# File lib/dapp/dapp/dapp_config.rb, line 20 def option_color if options[:color] == 'auto' config_options[:color] || 'auto' else options[:color] end end
option_dev()
click to toggle source
# File lib/dapp/dapp/dapp_config.rb, line 28 def option_dev if options[:dev].nil? config._dev_mode || config_options[:dev] else options[:dev] end end
validate_config_options!()
click to toggle source
# File lib/dapp/dapp/dapp_config.rb, line 60 def validate_config_options! data_list_format = proc { |list| list.map { |e| "'#{e}'" }.join(', ') } unless (unsupported_keys = config_options.select { |k, _| !SUPPORTED_CONFIG_OPTIONS.keys.include?(k) }.keys).empty? log_warning(desc: { code: :unsupported_dapp_config_options, data: { options: data_list_format.call(unsupported_keys), supported_options: data_list_format.call(SUPPORTED_CONFIG_OPTIONS.keys) } }) end config_options.each do |k, v| next unless SUPPORTED_CONFIG_OPTIONS.keys.include?(k) if k == :color raise Error::Dapp, code: :incorrect_dapp_config_option_color, data: { value: v, expected: data_list_format.call(%w(auto on off)) } unless %w(auto on off).member?(v) elsif !SUPPORTED_CONFIG_OPTIONS[k].member? v.class raise Error::Dapp, code: :incorrect_dapp_config_option, data: { option: k, value: v, expected: data_list_format.call(SUPPORTED_CONFIG_OPTIONS[k]) } end end end