module CronKubernetes::Configurable

Provides configuration settings, with default values, for the gem.

Public Instance Methods

configuration() { |self| ... } click to toggle source
# File lib/cron_kubernetes/configurable.rb, line 6
def configuration
  yield self
end
define_setting(name, default = nil) click to toggle source

Define a configuration setting and its default value.

name: The name of the setting. default: A default value for the setting. (Optional)

# File lib/cron_kubernetes/configurable.rb, line 14
def define_setting(name, default = nil)
  class_variable_set("@@#{name}", default)

  define_class_method "#{name}=" do |value|
    class_variable_set("@@#{name}", value)
  end

  define_class_method name do
    class_variable_get("@@#{name}")
  end
end

Private Instance Methods

define_class_method(name, &block) click to toggle source
# File lib/cron_kubernetes/configurable.rb, line 28
def define_class_method(name, &block)
  (class << self; self; end).instance_eval do
    define_method(name, &block)
  end
end