Module: ModuleVars

Included in:
DataDuck
Defined in:
lib/helpers/module_vars.rb

Instance Method Summary collapse

Instance Method Details

#create_module_var(name, val = nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
# File 'lib/helpers/module_vars.rb', line 8

def create_module_var(name, val = nil)
  class_variable_set("@@#{ name }", val)

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

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

#define_class_method(name, &block) ⇒ Object



2
3
4
5
6
# File 'lib/helpers/module_vars.rb', line 2

def define_class_method(name, &block)
  (class << self; self; end).instance_eval do
    define_method(name, &block)
  end
end