Module: Cangaroo::ClassConfiguration::ClassMethods

Defined in:
lib/cangaroo/class_configuration.rb

Instance Method Summary collapse

Instance Method Details

#class_configuration(key, default = nil) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cangaroo/class_configuration.rb', line 6

def class_configuration(key, default = nil)
  class_attribute :"_#{key}"

  define_singleton_method(key) do |*args|
    if args.empty?
      return self.send(:"_#{key}") || default
    end

    self.send(:"_#{key}=", args.first)
  end

  define_method(key) do
    self.send(:"_#{key}") || default
  end
end