lib/feedjira/podcast/item/apple.rb in feedjira-podcast-0.9.8 vs lib/feedjira/podcast/item/apple.rb in feedjira-podcast-0.9.9
- old
+ new
@@ -1,41 +1,10 @@
module Feedjira
module Podcast
module Item
module Apple
- def self.included(base)
-
- base.element :"itunes:author", as: :itunes_author
- base.element :"itunes:block", as: :_itunes_block
-
- base.element :"itunes:image", as: :itunes_image_href, value: :href do |href|
- Addressable::URI.parse(href)
- end
-
- base.element :"itunes:duration", as: :itunes_duration do |d|
- ["0:0:0:#{d}".split(":")[-3, 3].map(&:to_i)].inject(0) do |m, i|
- (i[0] * 3600) + (i[1] * 60) + i[2]
- end
- end
-
- base.element :"itunes:explicit", as: :_itunes_explicit
-
- base.element :"itunes:isClosedCaptioned", as: :_itunes_is_closed_captioned
-
- base.element :"itunes:order", as: :itunes_order do |order|
- order.to_f
- end
-
- base.element :"itunes:subtitle", as: :itunes_subtitle
- base.element :"itunes:summary", as: :itunes_summary
-
- # Legacy support
-
- base.element :"itunes:keywords", as: :itunes_keywords do |keywords|
- keywords.split(',').map(&:strip).select { |k| !k.empty? }
- end
-
+ module InstanceMethods
def itunes
@itunes ||= Struct.new(
:author,
:block?,
:image,
@@ -67,24 +36,55 @@
def itunes_image
@itunes_image ||= Struct.new(:href).new(itunes_image_href)
end
def itunes_block
- @itunes_block ||= (_itunes_block == 'yes')
+ @itunes_block ||= (_itunes_block == "yes")
end
def itunes_is_closed_captioned
- @itunes_is_closed_captioned ||= (_itunes_is_closed_captioned == 'yes')
+ @itunes_is_closed_captioned ||= (_itunes_is_closed_captioned == "yes")
end
def itunes_explicit
- @itunes_explicit ||= (_itunes_explicit == 'yes')
+ @itunes_explicit ||= (_itunes_explicit == "yes")
end
def itunes_clean
- @itunes_clean ||= (_itunes_explicit == 'clean')
+ @itunes_clean ||= (_itunes_explicit == "clean")
end
+ end
+ def self.included(base)
+ base.include(InstanceMethods)
+
+ base.element :"itunes:author", as: :itunes_author
+ base.element :"itunes:block", as: :_itunes_block
+
+ base.element :"itunes:image", as: :itunes_image_href, value: :href do |href|
+ Addressable::URI.parse(href)
+ end
+
+ base.element :"itunes:duration", as: :itunes_duration do |d|
+ ["0:0:0:#{d}".split(":")[-3, 3].map(&:to_i)].inject(0) do |_m, i|
+ (i[0] * 3600) + (i[1] * 60) + i[2]
+ end
+ end
+
+ base.element :"itunes:explicit", as: :_itunes_explicit
+
+ base.element :"itunes:isClosedCaptioned", as: :_itunes_is_closed_captioned
+
+ base.element :"itunes:order", as: :itunes_order, &:to_f
+
+ base.element :"itunes:subtitle", as: :itunes_subtitle
+ base.element :"itunes:summary", as: :itunes_summary
+
+ # Legacy support
+
+ base.element :"itunes:keywords", as: :itunes_keywords do |keywords|
+ keywords.split(",").map(&:strip).select { |k| !k.empty? }
+ end
end
end
end
end
end