Class Struct gives us many more methods than Class. In this example we look at members(). class BoatOne   attr_accessor :name, :loa   def initialize(name, loa) @name = name @loa = loa end   end   BoatTwo = Struct.new(:name, :loa)   # Class Struct puts BoatTwo.new("albondigas", 45) puts BoatTwo.new("albondigas", 45).members   # Class BoatOne puts BoatOne.new("trout", 32).inspect puts BoatOne.new("trout", 32).members

Ruby constants are supposed to be CONSTANT, but it is possible to change their value by using the following strategy. When a request comes in and triggers the weather_advisory_warning the timeout for our class will be 3 minutes. class Log < ActiveRecord::Base   TIMEOUT = 1.minute   def weather_advisory_warning TIMEOUT.replace = 3.minutes # do more stuff end   end :)