module Odex::Init

Initializer

Public Class Methods

included(base) click to toggle source
# File lib/odex/app.rb, line 120
def self.included(base)
  base.class_eval do
    def self.init_methods name, value
      @_methods ||= []
      @_methods << name
      self.class.send(:attr_accessor, name)
      self.send("#{name}=", value)
    end

    def self.inherited(subclass)
      @_methods.each do |attr|
        subclass.init_methods attr, self.send(attr).deep_dup
      end
    end
  end
end
inherited(subclass) click to toggle source
# File lib/odex/app.rb, line 129
def self.inherited(subclass)
  @_methods.each do |attr|
    subclass.init_methods attr, self.send(attr).deep_dup
  end
end
init_methods(name, value) click to toggle source
# File lib/odex/app.rb, line 122
def self.init_methods name, value
  @_methods ||= []
  @_methods << name
  self.class.send(:attr_accessor, name)
  self.send("#{name}=", value)
end