MerbアプリケーションでAtomフィードを配信する方法のメモです。
まずは、config/dep
1 dependency"merb-build er" 2 dependency "merb_full_ url"
merb_full_
1 % sudo gem install merb_full_url --source http://mer bi.st
次に、コントローラのindexアクションで atomフィードを提供する事を指示します。
1 def index 2 provides :atom
さらに、config/ini
1 Merb::BootLoader.before_app _loads do 2 # (..snip..) 3 Merb.add_mime_t ype(:atom, :to_atom, %w[applicatio n/atom+xml ]) 4 end 5
続いて、フィードを生成するためのindex.atom
1 xml.instruct! :xml, :version=>"1.0" 2 xml.feed(:xmlns => "http://www.w3.org/20 05/Atom") do |feed| 3 feed.title @title 4 feed.link :type => 'text/html', :rel => 'alternate', 5 :href => full_resou rce(:posts) 6 7 @posts.each do |post| 8 feed.entry do |entry| 9 entry.id post.id 10 entry.title post.title 11 entry.content post.body, :type => 'text' 12 entry.issued post.created_at 13 entry.modified post.updated_at 14 entry.link :type => "text/html", :rel => "alternate", 15 :href => full_resou rce(post) 16 entry.author do |author| 17 author.name post.user.login 18 end 19 end 20 end 21 end
以上で完了。これで後は/{resource_n
ちなみに、Vimでmerb.vimを使っている場合、.builderのfiletype
を認識させるために、.vim/ftdet
1 au BufRead,BufNewFile*/app/{mailers/,}views/*.builder set ft=ruby.me rb_control ler
posted by
genki
on Tue 27 Jan 2009
at 06:41