IMO l'héritage est à utiliser avec beaucoup de modération en Ruby.

La tendance serait plutôt d'aller vers le style fonctionnel que l'OO tel
que C++, Java, C# et autres nous y ont habitués.

Pour ma part j'évite le STI Rails comme la peste et il m'est rarissime
d'hériter d'autre chose que ActiveRecord::Base ou ApplicationController.

My 2ç :-)

2014-09-19 14:31 GMT+02:00 Tim <[email protected]>:

> Merci pour le lien
>
> Donc en Ruby, les méthodes privées peuvent être appelées par les enfant
> sans "effort".
>
> Y a que moi qui trouve ça très moche ?
>
>
> Le vendredi 19 septembre 2014 14:13:18 UTC+2, Tim a écrit :
>
>> Salut à tous
>>
>> Je viens de tomber sur quelque chose qui perturbe totalement mon
>> intuition de dev :
>>
>> apparemment une méthode déclarée comme privée est accessible par son
>> enfant dans le controller : voici mon code réel :
>>
>> Rails 4.1.5 (fonctionne aussi sur 3.2.19), Ruby 2.1.2
>>
>> class ApplicationController < ActionController::Base
>>   protect_from_forgery with: :exception
>>
>>   private
>>
>>   def method_privee
>>     p "method_privee accessible"
>>   end
>> end
>>
>>
>> class PhrasesController < ApplicationController
>>   def index
>>     method_privee # affiche "method prive accessible"
>>   end
>> end
>>
>> Ce code (je viens de le lancer plusieurs fois) fonctionne lorsque l'on va
>> sur /phrases/index et ne fais pas "raise error, NoMethodError" mais affiche
>> bien "method_privee accessible"
>>
>> Quelqu'un peut m'expliquer ? merci
>>
>> Ciao.
>>
>  --
> --
> Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de
> Google Groups.
> Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse
> [email protected]
> Pour résilier votre abonnement envoyez un e-mail à l'adresse
> [email protected]
> ---
> Vous recevez ce message, car vous êtes abonné au groupe Google Groupes
> "Railsfrance".
> Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le
> concernant, envoyez un e-mail à l'adresse
> [email protected].
> Pour obtenir davantage d'options, consultez la page
> https://groups.google.com/d/optout.
>

-- 
-- 
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse 
[email protected]
--- 
Vous recevez ce message, car vous êtes abonné au groupe Google Groupes 
Railsfrance.
Pour vous désabonner de ce groupe et ne plus recevoir d'e-mails le concernant, 
envoyez un e-mail à l'adresse [email protected].
Pour plus d'options, visitez le site https://groups.google.com/d/optout .

Répondre à