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
-~----------~----~----~----~------~----~------~--~---

Reply via email to