Class: HermesMessengerOfTheGods::Configuration

Inherits:
Object
  • Object
show all
Defined in:
lib/hermes_messenger_of_the_gods/configuration.rb

Class Method Summary collapse

Class Method Details

.attr_accessor_with_default(meth, default) ⇒ Object



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

def attr_accessor_with_default(meth, default)
  attr_writer meth

  define_method(meth) do
    if instance_variable_defined?("@#{meth}")
      instance_variable_get("@#{meth}")
    else
      instance_variable_set("@#{meth}", default.respond_to?(:call) ? default.call : default)
    end
  end
end