J'ai écrit cette classe qui renvoie les mises à jour des flux, mais je pense qu'elle peut être améliorée. Il n'y a pas de problème, mais en tant que nouveau développeur ruby, je pense qu'il est toujours bon de s'améliorer :-)
class FeedManager
attr_accessor :feed_object, :update, :new_entries
require 'feedtosis'
def initialize(feed_url)
@feed_object = Feedtosis::Client.new(feed_url)
fetch
end
def fetch
@feed_object.fetch
end
def update
@updates = fetch
end
def updated?
@updates.new_entries.count > 0 ? true : false
end
def new_entries
@updates.new_entries
end
end
Comme vous pouvez le voir, c'est assez simple, mais les choses que je vois qui ne sont pas tout à fait correctes sont les suivantes :
- Lorsque j'appelle fetch via le terminal, il affiche une liste avec les mises à jour, alors qu'il est censé renvoyer un objet.
Par exemple, dans le terminal, si je fais quelque chose comme :
client = Feedtosis::Client.new('http://stackoverflow.com/feeds')
result = client.fetch
Je reçois ensuite :
<Curl::Easy http://stackoverflow.com/feeds>
C'est exactement ce à quoi je m'attendais. Cependant, en faisant la même chose avec la classe "inniting" avec :
FeedManager.new("http://stackoverflow.com/feeds")
Je reçois l'objet sous la forme d'un tableau contenant tous les éléments du flux.
Je suis sûr que je fais quelque chose de mal, donc toute aide pour refondre cette classe sera grandement appréciée.
J'aimerais également recevoir des commentaires sur ma mise en œuvre, ainsi que tout commentaire visant à l'améliorer.
Merci d'avance