-
Notifications
You must be signed in to change notification settings - Fork 272
Extract into Module
flyerhzm edited this page Aug 13, 2010
·
4 revisions
Before:
class User < ActiveRecord::Base
validates_presence_of :cellphone
before_save :parse_cellphone
def parse_cellphone
# do something
end
end
After:
module HasCellphone
def self.included(base)
base.validates_presence_of :cellphone
base.before_save :parse_cellphone
base.send(:include, InstanceMethods)
base.send(:extend, ClassMethods)
end
module InstanceMethods
def parse_cellphone
# do something
end
end
module ClassMethod
end
end
class User < ActiveRecord::Base
include HasCellphone
end