public
Created

  • Download Gist
example.rb
Ruby
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
class User
ROLES = %w( doctor patient )
attr_accessor :role
 
def initialize( role )
raise ArgumentError.new("#{role} isn't a valid role") unless ROLES.include?(role.to_s)
@role = role.to_s
end
 
ROLES.each do |role|
define_method("#{role}?".to_sym) do
self.role == role
end
end
end

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.