55502f40dc8b7c769880b10874abc9d0

I am sure everyone has done one of these to be "cheeky"

Class Student
  attr_accessor brain, explode, beer
  def initialize(brain, explode, beer)
    @brain = brain
    @explode = explode
    @beer = beer
  end
end

craig = Student.new(30,0,0)

While True
   time.strftime("%m/%d/%Y").to_s != "11/10/2010" ? criag.explode+=1 : craig.beer+=1; False
   sleep(1.days)
end 

if craig.brain < craig.explode
  jump_in_rive(craig)
end

Refactorings

No refactoring yet !

A8d3f35baafdaea851914b17dae9e1fc

Adam

November 5, 2010, November 05, 2010 02:54, permalink

No rating. Login to rate!

Your Student class, as it is written, would be better represented as a Struct. However, I think your class might be better written as shown in my second example. I will leave it up to you whether to rescue the drowning or not. ;)

Student = Struct.new(:brain, :explode, :beer)
class Student
  class DrowningInRiver < StandardError; end
  
  def initialize
    @brain, @explode, @beer = 30, 0, 0
  end
  
  def drink!
    @beer += 1
  end
  
  def explode!
    @explode += 1
    raise DrowningInRiver if @brain < @explode
  end
end

Your refactoring





Format Copy from initial code

or Cancel