saasbook

srp_example.rb

Aug 15th, 2013
203
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Ruby 0.75 KB | None | 0 0
  1. class Moviegoer
  2.   attr_accessor :name, :street, :phone_number, :zipcode
  3.   validates :phone_number, # ...
  4.   validates :zipcode, # ...
  5.   def format_phone_number ; ... ; end
  6.   def verify_zipcode ; ... ; end
  7.   def format_address(street, phone_number, zipcode) # data clump
  8.     # do formatting, calling format_phone_number and verify_zipcode
  9.   end
  10. end
  11. # After applying Extract Class:
  12. class Moviegoer
  13.   attr_accessor :name
  14.   has_one :address
  15. end
  16. class Address
  17.   belongs_to :moviegoer
  18.   attr_accessor :phone_number, :zipcode
  19.   validates :phone_number, # ...
  20.   validates :zipcode, # ...
  21.   def format_address ; ... ; end # no arguments - operates on 'self'
  22.   private  # no need to expose these now:
  23.   def format_phone_number ; ... ; end
  24.   def verify_zipcode ; ... ; end
  25. end
Add Comment
Please, Sign In to add comment