Je travaille avec un site qui va extraire des flux de nombreuses sources différentes, puis enregistrer ces flux dans un modèle commun, en ce cas est un trait. Un exemple de code à partir de la classe FeedEntry pourrait être:L'héritage du modèle, le modèle Factory, et l'auto-analyse dans Ruby-on-Rails
feed = Feedzirra::Feed.fetch_and_parse(feed_url)
add_entries(feed.entries)
...
def self.add_entries(entries)
entries.each do |entry|
# Should know how to parse itself into a trait
@trait = parse(entry)
if @trait.save
...
end
end
Il est vrai que je viens d'un milieu java, et en java ici, je mis en place une hiérarchie d'héritage, puis sur chaque sous-classe de FeedEntry étendre la analyser la méthode de sorte que chaque FeedEntry savait comment analyser lui-même. Donc, mes questions:
1) Est-ce un plan faisable dans les rails?
2) Si oui, est-ce que l'on inclurait simplement une colonne qui était essentiellement "type" qui indiquait quelle sous-classe FeedEntry était?
3) Si non, des suggestions sur la façon la plus sèche de le faire?
Merci!