Při návrhu rozhraní třídy můžeme určit jak mnoho, a jakým způsobem má být viditelné pro okolní svět.
K dispozici máme tři úrovně ochrany metod.
veřejné metody, mohou být volány kýmkoliv.  Toto je implicitní ochrana všech metod s výjimkou metody initialize, která je vždy soukromá (private)
chráněná metoda, není pro svět viditelná. Je přístupná jen pro ostatní metody v právě definované třídě a pro metody podtříd. Tedy tříd jenž jsou v dědické linii definované třídy.
soukromé metody, nejsou viditelné pro vnější svět. FIXME: doplnit
Ruby se liší od ostatních OO jazyků v jedné důležité věci. Přístupová ochrana je zajišťována dynamicky, za běhu programu, nikoliv staticky.
Při zápisu třídy se používaji pro urční ochrany kličová slova protected, private a public
    
class Aclass
    def method1 ...
  protected
    def protm1 ...
    def protm2 ...
  private
    def privm1 ...
    def privm2 ...
  public
    def pubm1 ...
endUvedený zápis je ekvivalentní zápisu
class Aclass
    def method1 ...
    def protm1 ...
    ...
    public :method1, :pubm1
    protected :protm1, :protm2
    private :privm1, :privm2
end
