Module: Feedzirra::FeedEntryUtilities

Included in:
Parser::AtomEntry, Parser::AtomFeedBurnerEntry, Parser::ITunesRSSItem, Parser::RSSEntry
Defined in:
lib/feedzirra/parser/feed_entry_utilities.rb

Instance Method Summary collapse

Instance Method Details

#idObject

Returns the id of the entry or its url if not id is present, as some formats don’t support it



18
19
20
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 18

def id
  @id || @url
end

#mark_new!Object



30
31
32
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 30

def mark_new!
  @_new_entry = true
end

#mark_old!Object



26
27
28
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 26

def mark_old!
  @_new_entry = false
end

#new_entry?Boolean

Returns:

  • (Boolean)


22
23
24
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 22

def new_entry?
  @_new_entry.nil? ? true : @_new_entry
end

#parse_datetime(string) ⇒ Object



7
8
9
10
11
12
13
14
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 7

def parse_datetime(string)
  begin
    DateTime.parse(string).feed_utils_to_gm_time
  rescue
    puts "DATE CAN'T BE PARSED: #{string}"
    nil
  end
end

#publishedObject Also known as: last_modified



3
4
5
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 3

def published
  @published || @updated
end

#published=(val) ⇒ Object

Writter for published. By default, we keep the “oldest” publish time found.



36
37
38
39
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 36

def published=(val)
  parsed = parse_datetime(val)
  @published = parsed if !@published || parsed < @published
end

#sanitize!Object



48
49
50
51
52
53
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 48

def sanitize!
  self.title.sanitize!   if self.title
  self.author.sanitize!  if self.author
  self.summary.sanitize! if self.summary
  self.content.sanitize! if self.content
end

#updated=(val) ⇒ Object

Writter for updated. By default, we keep the most recent update time found.



43
44
45
46
# File 'lib/feedzirra/parser/feed_entry_utilities.rb', line 43

def updated=(val)
  parsed = parse_datetime(val)
  @updated = parsed if !@updated || parsed > @updated
end