Estoy trabajando con un sitio que extraerá fuentes de muchas fuentes diferentes y luego las guardará en un modelo común, en este caso es un rasgo. Un ejemplo de un código de dentro de la clase FeedEntry podría ser:Herencia del modelo, el patrón Factory y el autodiagnóstico en 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
La verdad es que provienen de un fondo de Java, y en Java aquí, yo establecería una jerarquía de herencia, y luego en cada subclase de FeedEntry extender la analizar el método para que cada FeedEntry supiera cómo analizarse a sí mismo. Entonces mis preguntas:
1) ¿Es este un plan factible en los rieles?
2) De ser así, ¿se incluiría simplemente una columna que era básicamente "tipo" que decía qué subclase era FeedEntry?
3) De lo contrario, ¿alguna sugerencia sobre la manera DRYest de hacer esto?
Gracias!