lib/feed_tools/feed_item.rb in feedtools-0.2.11 vs lib/feed_tools/feed_item.rb in feedtools-0.2.12

- old
+ new

@@ -124,10 +124,12 @@ # Initialize the feed object def initialize super @feed = nil + @feed_data = nil + @feed_data_type = nil @xml_doc = nil @root_node = nil @title = nil @id = nil @time = nil @@ -141,26 +143,40 @@ # Sets the parent feed of this feed item def feed=(new_feed) @feed = new_feed end - # Returns the feed item's raw xml data. - def xml_data - return @xml_data + # Returns the feed item's raw data. + def feed_data + return @feed_data end - # Sets the feed item's xml data. - def xml_data=(new_xml_data) - @xml_data = new_xml_data + # Sets the feed item's data. + def feed_data=(new_feed_data) + @feed_data = new_feed_data end - # Returns a REXML Document of the xml_data + # Returns the feed item's data type. + def feed_data_type + return @feed_data_type + end + + # Sets the feed item's data type. + def feed_data_type=(new_feed_data_type) + @feed_data_type = new_feed_data_type + end + + # Returns a REXML Document of the feed_data def xml - if @xml_doc.nil? - # TODO: :ignore_whitespace_nodes => :all - # Add that? - # ====================================== - @xml_doc = Document.new(xml_data) + if self.feed_data_type != :xml + @xml_doc = nil + else + if @xml_doc.nil? + # TODO: :ignore_whitespace_nodes => :all + # Add that? + # ====================================== + @xml_doc = Document.new(self.feed_data) + end end return @xml_doc end # Returns the first node within the root_node that matches the xpath query. \ No newline at end of file