Skip to content

Commit 0053ba5

Browse files
committedMar 29, 2019
Refator: Memoize variables and make codes Rubyish
1 parent 0e54ed1 commit 0053ba5

File tree

3 files changed

+24
-19
lines changed

3 files changed

+24
-19
lines changed
 

‎app/controllers/podcasts_controller.rb

+4-3
Original file line numberDiff line numberDiff line change
@@ -16,9 +16,10 @@ def show
1616
end
1717

1818
def feed
19-
@episodes = Podcast.all.sort_by{|episode| episode.published_at}
20-
@domainname = request.base_url
21-
@author = "一般社団法人 CoderDojo Japan"
19+
@episodes = Podcast.all.sort_by{|episode| episode.published_at}
20+
@base_url = request.base_url
21+
@author = "一般社団法人 CoderDojo Japan"
22+
@current_year = Time.current.year
2223
respond_to do |format|
2324
format.rss { render :layout => false }
2425
end

‎app/models/podcast.rb

+1-1
Original file line numberDiff line numberDiff line change
@@ -51,7 +51,7 @@ def description
5151
end
5252

5353
def published_at
54-
@pubDate ||= exists? ? Time.parse(self.content.lines.second.gsub(/<.+?>/, '').delete('収録日: ')) : ''
54+
@published_at ||= exists? ? Time.parse(self.content.lines.second.gsub(/<.+?>/, '').delete('収録日: ')) : ''
5555
end
5656

5757
def content

‎app/views/podcasts/feed.rss.builder

+19-15
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,34 @@
11
xml.instruct! :xml, :version => "1.0"
22
xml.rss :version => "2.0", "xmlns:itunes" => "http://www.itunes.com/dtds/Podcast-1.0.dtd" do
33
xml.channel do
4-
xml.title full_title ""
4+
xml.title full_title ""
55
xml.description full_description ""
6-
xml.link root_url
7-
xml.author @author
8-
xml.copyright "Copyright © 2012-2018 一般社団法人 CoderDojo Japan"
9-
xml.language "ja"
6+
xml.link root_url
7+
xml.author @author
8+
xml.copyright "Copyright © 2012-#{@current_year} #{@author}"
9+
xml.language "ja"
1010
xml.itunes :category, :text => "Technology" do
1111
xml.itunes :category, :text => "Software How-To"
1212
xml.itunes :category, :text => "Podcasting"
1313
end
14-
xml.itunes :type, "serial"
14+
xml.itunes :type, "serial"
1515
xml.itunes :explicit, "clean"
1616

1717
@episodes.each do |episode|
1818
xml.item do
19-
xml.title episode.title
20-
xml.author @author
21-
xml.description episode.description
22-
xml.link @domainname + episode.url
23-
xml.guid({:isPermaLink => "false"}, @domainname + episode.url)
24-
xml.itunes :explicit, "clean"
25-
xml.pubDate episode.published_at.rfc2822
26-
xml.enclosure({:url => @domainname + episode.url + ".mp3", :length => episode.filesize, :type => "audio/mpeg"})
27-
xml.itunes :duration, episode.duration
19+
xml.title episode.title
20+
xml.author @author
21+
xml.description episode.description
22+
xml.link "#{@base_url}#{episode.url}"
23+
xml.guid({:isPermaLink => "false"}, "#{@base_url}#{episode.url}")
24+
xml.itunes :explicit, "clean"
25+
xml.published_at episode.published_at.rfc2822
26+
xml.enclosure({
27+
:url => "#{@base_url}#{episode.url}.mp3",
28+
:length => episode.filesize,
29+
:type => "audio/mpeg"}
30+
)
31+
xml.itunes :duration, episode.duration
2832
end
2933
end
3034
end

0 commit comments

Comments
 (0)
Please sign in to comment.