Class: RssNotifier::Models::Item

Inherits:
Object
  • Object
show all
Defined in:
lib/rss_notifier/models/item.rb

Instance Method Summary collapse

Instance Method Details

#changed?Boolean

Returns:

  • (Boolean)


29
30
31
# File 'lib/rss_notifier/models/item.rb', line 29

def changed?
  new_record? || @__changed
end

#feedObject



19
20
21
# File 'lib/rss_notifier/models/item.rb', line 19

def feed
  @feed ||= RssNotifier::Db.default.find_feed(url: feed_url)
end

#new_record?Boolean

Returns:

  • (Boolean)


33
34
35
# File 'lib/rss_notifier/models/item.rb', line 33

def new_record?
  !self.updated_at
end

#to_db_objectObject



48
49
50
51
52
53
54
55
56
57
# File 'lib/rss_notifier/models/item.rb', line 48

def to_db_object
  {
    'link' => link,
    'title' => title,
    'description' => description,
    'date' => date,
    'updated_at' => updated_at,
    'feed_url' => feed_url,
  }
end

#to_hObject



37
38
39
40
41
42
43
44
45
46
# File 'lib/rss_notifier/models/item.rb', line 37

def to_h
  {
    feed_url: feed.url,
    feed_name: feed.name,
    link: link,
    title: title,
    description: description,
    date: date,
  }
end

#update(attributes) ⇒ Object



23
24
25
26
27
# File 'lib/rss_notifier/models/item.rb', line 23

def update(attributes)
  __title = self.title
  self.attributes = attributes
  @__changed = __title != self.title
end