class ActiveSupport::CurrentAttributes

def attribute(*names)

Declares one or more attributes that will be given both class and instance accessor methods.
def attribute(*names)
  generated_attribute_methods.module_eval do
    names.each do |name|
      define_method(name) do
        attributes[name.to_sym]
      end
      define_method("#{name}=") do |attribute|
        attributes[name.to_sym] = attribute
      end
    end
  end
  names.each do |name|
    define_singleton_method(name) do
      instance.public_send(name)
    end
    define_singleton_method("#{name}=") do |attribute|
      instance.public_send("#{name}=", attribute)
    end
  end
end