Class: ThorAddons::Helpers::Defaults
- Inherits:
-
Object
- Object
- ThorAddons::Helpers::Defaults
- Defined in:
- lib/thor-addons/helpers/defaults.rb
Class Method Summary collapse
Class Method Details
.add(hash, defaults) ⇒ Object
19 20 21 22 23 24 25 |
# 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) ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 |
# File 'lib/thor-addons/helpers/defaults.rb', line 6 def self.load(klass, config) = klass..dup .merge!(config[:class_options]) if config[:class_options] .merge!(config[:command_options]) if config[:command_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) ⇒ Object
27 28 29 30 31 32 33 |
# 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 |