On Wed, Oct 14, 2009 at 4:19 AM, Ralu rm <rails-mailing-l...@andreas-s.net>wrote:
> > Conrad Taylor wrote: > > On Wed, Oct 14, 2009 at 3:21 AM, Ralu rm > > <rails-mailing-l...@andreas-s.net>wrote: > > > >> >> > >> > > >> > Where can one find this example? > >> > > >> > -Conrad > >> > >> i got dat from tutorial . for me the expalnation was not dat gud > >> so can any one help me with dat > >> > > > > Where's the complete class? > > require 'digest/sha2' > class User < ActiveRecord::Base > attr_protected :hashed_password, :enabled > attr_accessor :password > validates_presence_of :username > validates_presence_of :email > validates_presence_of :password, :if => :password_required? > validates_presence_of :password_confirmation, :if => > :password_required? > validates_confirmation_of :password, :if => :password_required? > validates_uniqueness_of :username, :case_sensitive => false > validates_uniqueness_of :email, :case_sensitive => false > validates_length_of :username, :within => 3..64 > validates_length_of :email, :within => 5..128 > validates_length_of :password, :within => 4..20, :if => > :password_required? > validates_length_of :profile, :maximum => 1000 > def before_save > self.hashed_password = User.encrypt(password) if > !self.password.blank? > end > def password_required? > self.hashed_password.blank? || !self.password.blank? > end > def self.encrypt(string) > return Digest::SHA256.hexdigest(string) > end > end > > 'attr_accessor :password' will generate two instance methods for class User similar to the following: def password=(val) @password = val end def password @password end >From the above, the instance variable, password, is brought into scope within the User class when '@password = val' is executed. In Ruby, you can add an instance variable to a class by simply assigning a value to instance variable within an instance method. Then executing it. Finally, I would recommend learning more about Ruby by reading "Programming Ruby" or "Programming Ruby 1.9". Good luck, -Conrad > -- > Posted via http://www.ruby-forum.com/. > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---