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