module Devision::Models::Config

Public Class Methods

add_options(mod, *accessors) click to toggle source
# 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 <<-METHOD, __FILE__, __LINE__ + 1
            def #{accessor}
              if defined?(@#{accessor})
                @#{accessor}
              elsif superclass.respond_to?(:#{accessor})
                superclass.#{accessor}
              else
                Devision.#{accessor}
              end
            end

            def #{accessor}=(value)
              @#{accessor} = value
            end
          METHOD
        end
      end