Module: Fume::RailsExt::ControllerExtensions::ClassMethods

Defined in:
lib/fume/rails_ext.rb

Instance Method Summary collapse

Instance Method Details

#action_attr_accessor(*args) ⇒ Object



28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'lib/fume/rails_ext.rb', line 28

def action_attr_accessor(*args)
  options = args.extract_options!
  [ args ].flatten.compact.each do |sym|
    class_eval(<<-EOS, __FILE__, __LINE__ + 1)
      def self.#{sym}(obj)
        before_filter { |c| c.send(:#{sym}=, obj) }
      end
      
      attr_accessor :#{sym}
      helper_method :#{sym}, :#{sym}=
    EOS
  end
end