module K::Configurable::ClassMethods
Public Instance Methods
configuration()
click to toggle source
# File lib/k/configurable.rb, line 39 def configuration @configuration ||= anonymous_configuration_class.new( *__configurable_defaults ) end
configure() { |configuration| ... }
click to toggle source
# File lib/k/configurable.rb, line 45 def configure yield(configuration) end
Private Instance Methods
__configurable_attributes()
click to toggle source
# File lib/k/configurable.rb, line 66 def __configurable_attributes @__configurable_attributes end
__configurable_block()
click to toggle source
# File lib/k/configurable.rb, line 74 def __configurable_block @__configurable_block end
__configurable_defaults()
click to toggle source
# File lib/k/configurable.rb, line 70 def __configurable_defaults @__configurable_defaults.values_at(*__configurable_attributes) end
anonymous_configuration_class()
click to toggle source
# File lib/k/configurable.rb, line 51 def anonymous_configuration_class block = __configurable_block Struct.new(*__configurable_attributes) do |klass| klass.class_exec(&block) def to_params Hash[ members .map { |attr| [attr, public_send(attr)] } .reject { |_, value| value.nil? } ] end end end
to_params()
click to toggle source
# File lib/k/configurable.rb, line 56 def to_params Hash[ members .map { |attr| [attr, public_send(attr)] } .reject { |_, value| value.nil? } ] end