Module: ActsAsUser::UserDelegate::ClassMethods

Defined in:
lib/acts_as_user/user_delegate.rb

Instance Method Summary collapse

Instance Method Details

#define_user_accessorsObject



48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
# File 'lib/acts_as_user/user_delegate.rb', line 48

def define_user_accessors
  #We check the user columns to declare them as attributes to delegate
  all_attributes = User.columns.map(&:name)

  attributes_to_delegate = all_attributes - ActsAsUser.ignored_attributes

  #User method delegation
  attributes_to_delegate.each do |attrib|
    class_eval <<-RUBY
    def #{attrib}
      user.#{attrib}
    end

    def #{attrib}=(value)
      self.user.#{attrib} = value
    end

    def #{attrib}?
      self.user.#{attrib}?
    end
      RUBY
  end
end