lib/feed_tools/feed_item.rb in feedtools-0.2.23 vs lib/feed_tools/feed_item.rb in feedtools-0.2.24

- old
+ new

@@ -67,10 +67,28 @@ end end return parent_feed end + # Returns the load options for this feed. + def configurations + if @configurations.blank? + parent_feed = self.feed + if parent_feed != nil + @configurations = parent_feed.configurations.dup + else + @configurations = FeedTools.configurations.dup + end + end + return @configurations + end + + # Sets the load options for this feed. + def configurations=(new_configurations) + @configurations = new_configurations + end + # Returns the feed item's encoding. def encoding if @encoding.nil? @encoding = self.feed.encoding end @@ -200,14 +218,14 @@ "dc:title" ]) @title = FeedTools::HtmlHelper.process_text_construct(title_node, self.feed_type, self.feed_version) if self.feed_type == "atom" || - FeedTools.configurations[:always_strip_wrapper_elements] + self.configurations[:always_strip_wrapper_elements] @title = FeedTools::HtmlHelper.strip_wrapper_element(@title) end - if !@title.blank? && FeedTools.configurations[:strip_comment_count] + if !@title.blank? && self.configurations[:strip_comment_count] # Some blogging tools include the number of comments in a post # in the title... this is supremely ugly, and breaks any # applications which expect the title to be static, so we're # gonna strip them out. # @@ -255,11 +273,11 @@ "info" ]) @content = FeedTools::HtmlHelper.process_text_construct(content_node, self.feed_type, self.feed_version) if self.feed_type == "atom" || - FeedTools.configurations[:always_strip_wrapper_elements] + self.configurations[:always_strip_wrapper_elements] @content = FeedTools::HtmlHelper.strip_wrapper_element(@content) end if @content.blank? @content = self.media_text end @@ -308,11 +326,11 @@ "info" ]) @summary = FeedTools::HtmlHelper.process_text_construct(summary_node, self.feed_type, self.feed_version) if self.feed_type == "atom" || - FeedTools.configurations[:always_strip_wrapper_elements] + self.configurations[:always_strip_wrapper_elements] @summary = FeedTools::HtmlHelper.strip_wrapper_element(@summary) end if @summary.blank? @summary = self.media_text end @@ -454,11 +472,11 @@ @link = FeedTools::UriHelper.resolve_relative_uri( @link, [root_base_uri,stored_base_uri]) end rescue end - if FeedTools.configurations[:url_normalization_enabled] + if self.configurations[:url_normalization_enabled] @link = FeedTools::UriHelper.normalize_url(@link) end end return @link end @@ -505,11 +523,11 @@ link_object.href, [link_node.base_uri, stored_base_uri]) end rescue end - if FeedTools.configurations[:url_normalization_enabled] + if self.configurations[:url_normalization_enabled] link_object.href = FeedTools::UriHelper.normalize_url(link_object.href) end link_object.href.strip! unless link_object.href.nil? next if link_object.href.blank? @@ -638,11 +656,11 @@ image.href = FeedTools::UriHelper.resolve_relative_uri( image.href, [image_node.base_uri, stored_base_uri]) end rescue end - if FeedTools.configurations[:url_normalization_enabled] + if self.configurations[:url_normalization_enabled] image.href = FeedTools::UriHelper.normalize_url(image.href) end image.href.strip! unless image.href.nil? next if image.href.blank? image.title = FeedTools::XmlHelper.try_xpaths(image_node, @@ -686,11 +704,11 @@ if @itunes_image_link.nil? @itunes_image_link = FeedTools::XmlHelper.try_xpaths(self.root_node, [ "itunes:image/@href", "itunes:link[@rel='image']/@href" ], :select_result_value => true) - if FeedTools.configurations[:url_normalization_enabled] + if self.configurations[:url_normalization_enabled] @itunes_image_link = FeedTools::UriHelper.normalize_url(@itunes_image_link) end end return @itunes_image_link end @@ -704,11 +722,11 @@ def media_thumbnail_link if @media_thumbnail_link.nil? @media_thumbnail_link = FeedTools::XmlHelper.try_xpaths(self.root_node, [ "media:thumbnail/@url" ], :select_result_value => true) - if FeedTools.configurations[:url_normalization_enabled] + if self.configurations[:url_normalization_enabled] @media_thumbnail_link = FeedTools::UriHelper.normalize_url(@media_thumbnail_link) end end return @media_thumbnail_link end @@ -732,11 +750,11 @@ "rights" ]) @rights = FeedTools::HtmlHelper.process_text_construct(rights_node, self.feed_type, self.feed_version) if self.feed_type == "atom" || - FeedTools.configurations[:always_strip_wrapper_elements] + self.configurations[:always_strip_wrapper_elements] @rights = FeedTools::HtmlHelper.strip_wrapper_element(@rights) end end return @rights end @@ -1454,18 +1472,18 @@ "date/text()" ], :select_result_value => true) begin if !time_string.blank? @time = Time.parse(time_string).gmtime - elsif FeedTools.configurations[:timestamp_estimation_enabled] && + elsif self.configurations[:timestamp_estimation_enabled] && !self.title.nil? && (Time.parse(self.title) - Time.now).abs > 100 @time = Time.parse(self.title).gmtime end rescue end - if FeedTools.configurations[:timestamp_estimation_enabled] + if self.configurations[:timestamp_estimation_enabled] if options[:estimate_timestamp] if @time.nil? begin @time = succ_time if @time.nil? @@ -1613,10 +1631,10 @@ @comments = FeedTools::UriHelper.resolve_relative_uri( @comments, [root_base_uri, self.base_uri]) end rescue end - if FeedTools.configurations[:url_normalization_enabled] + if self.configurations[:url_normalization_enabled] @comments = FeedTools::UriHelper.normalize_url(@comments) end end return @comments end