class ThorAddons::Helpers::Defaults
Public Class Methods
add(hash, defaults)
click to toggle source
# File lib/thor-addons/helpers/defaults.rb, line 19 def self.add(hash, defaults) hash.each_with_object({}) do |(k, v), hsh| next unless defaults.include?(k) hsh[k] = v.nil? ? defaults[k][:value] : v end end
load(klass, config)
click to toggle source
# File lib/thor-addons/helpers/defaults.rb, line 6 def self.load(klass, config) options = klass.class_options.dup options.merge!(config[:class_options]) if config[:class_options] options.merge!(config[:command_options]) if config[:command_options] options.each_with_object({}) do |(name, obj), hsh| value = obj.respond_to?(:default) ? obj.default : nil type = obj.respond_to?(:type) ? obj.type : :string hsh[name] = { value: value, type: type } end end
remove(hash, defaults)
click to toggle source
# File lib/thor-addons/helpers/defaults.rb, line 27 def self.remove(hash, defaults) hash.each_with_object({}) do |(k, v), hsh| hsh[k] = nil hsh[k] = v unless defaults.include?(k) && defaults[k][:value] == v end end