class HasConfig::Configuration
Constants
- CHAINING_OPTIONS
- MODIFIABLE_ATTRS
- VALID_TYPES
Attributes
name[R]
type[R]
Public Class Methods
modify(configuration, config)
click to toggle source
# File lib/has_config/configuration.rb, line 10 def self.modify(configuration, config) configuration = configuration.dup MODIFIABLE_ATTRS.each do |key| configuration.public_send("#{key}=", config[key]) if config.key?(key) end configuration.validate configuration end
new(name, type: nil, default: nil, validations: [], chain_on: :blank)
click to toggle source
# File lib/has_config/configuration.rb, line 19 def initialize(name, type: nil, default: nil, validations: [], chain_on: :blank) raise InvalidType, 'Type is required' if type.nil? @chain_on = chain_on.to_sym @default = default @name = name.to_s @type = type.to_sym @validations = [validations].flatten validate end
Public Instance Methods
validate()
click to toggle source
# File lib/has_config/configuration.rb, line 30 def validate validate_configuration validate_chain_on end