module Whowas::Configuration
This is just a simple way to allow gem users to define their own variables on whatever this module extends – mainly the Whowas
module itself.
see the following article: www.viget.com/articles/easy-gem-configuration-variables-with-defaults
Public Instance Methods
configuration() { |self| ... }
click to toggle source
# File lib/whowas/configuration.rb, line 8 def configuration yield self end
define_setting(name, default = nil)
click to toggle source
# File lib/whowas/configuration.rb, line 12 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/whowas/configuration.rb, line 26 def define_class_method(name, &block) (class << self; self; end).instance_eval do define_method name, &block end end