Module: Devision::Models::Config

Defined in:
lib/devision/models/config.rb

Class Method Summary collapse

Class Method Details

.add_options(mod, *accessors) ⇒ Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/devision/models/config.rb', line 6

def self.add_options(mod, *accessors)
  class << mod; attr_accessor :available_configs; end
  mod.available_configs = accessors

  accessors.each do |accessor|
    mod.class_eval "      def \#{accessor}\n        if defined?(@\#{accessor})\n          @\#{accessor}\n        elsif superclass.respond_to?(:\#{accessor})\n          superclass.\#{accessor}\n        else\n          Devision.\#{accessor}\n        end\n      end\n\n      def \#{accessor}=(value)\n        @\#{accessor} = value\n      end\n    METHOD\n  end\nend\n", __FILE__, __LINE__ + 1