Sha256: 8bbff8c732288155f839e763e5b94dea6ecb9b58e6f68eeceb51f05a850edbb3
Contents?: true
Size: 896 Bytes
Versions: 2
Compression:
Stored size: 896 Bytes
Contents
# frozen_string_literal: true module CronKubernetes # Provides configuration settings, with default values, for the gem. module Configurable def configuration yield self end # Define a configuration setting and its default value. # # name: The name of the setting. # default: A default value for the setting. (Optional) # rubocop: disable Style/ClassVars 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 # rubocop: enable Style/ClassVars private def define_class_method(name, &block) (class << self; self; end).instance_eval do define_method(name, &block) end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
cron-kubernetes-3.0.0 | lib/cron_kubernetes/configurable.rb |
cron-kubernetes-2.0.0 | lib/cron_kubernetes/configurable.rb |