Attribute helpers create small methods for reading and writing object state.

Attr Readers Writers

attr_readers_writers.rb
class Profile
  attr_reader :name
  attr_accessor :level

  def initialize(name, level)
    @name = name
    @level = level
  end
end

level = 
profile = Profile.new("Ada", level)

puts "name=#{profile.name}"
puts "level=#{profile.level}"

profile.level = profile.level + 1

puts "next_level=#{profile.level}"
class Profile
  attr_reader :name
  attr_accessor :level

  def initialize(name, level)
    @name = name
    @level = level
  end
end

level = 
profile = Profile.new("Ada", level)

puts "name=#{profile.name}"
puts "level=#{profile.level}"

profile.level = profile.level + 1

puts "next_level=#{profile.level}"
class Profile
  attr_reader :name
  attr_accessor :level

  def initialize(name, level)
    @name = name
    @level = level
  end
end

level = 
profile = Profile.new("Ada", level)

puts "name=#{profile.name}"
puts "level=#{profile.level}"

profile.level = profile.level + 1

puts "next_level=#{profile.level}"
attr accessor `attr_reader`, `attr_writer`, and `attr_accessor` create common getter and setter methods.