最近書いたもの

この前のTVチャンピオンに出ていた大山のぶ代クリソッツの犬のトレーナー似の上司にrubyはジャーキー並みに噛むと味出るよと聞いたので、ちょっと書いてみた。知り合いのひと(犬歯が異様に発達。犬か?)に「はてなブックマークjsonで欲しいんだけど」と言われて、自分は不器用っすからjsonなんて知らないっすから、インターネッツを使って調べていろいろやってみた。

jsonというライブラリは真夏のキャンプ場に深夜に現れて、せっかく楽しい男女七人夏物語をブチ壊すんじゃないかと思う名前だったのでgemでインストールしないでおいた。隔離するということも勇気だろ?

#!/usr/local/bin/ruby
require 'open-uri'
require 'cgi'
require 'rss/1.0'
require './json/lexer'

$KCODE = 'u'

class GetRSS
	
	def get_json(url)
		open(url){|f|
			res = f.read
			rss = RSS::Parser.parse(res)
			
			rss.items.each_with_index do |item,i|
				break if i == 10
				title = item.title.to_s
				url = item.link.to_s
				h = {"title" => title, "url" => url}
				
				@result << h
				
			end
		}
		
		print @cgi.header(
			{"type" => "application/x-javascript", "charset" => "UTF-8"}
		)
		print "callback("+@result.to_json+");"
	end
	
end

class App < GetRSS
	
	def initialize(cgi, opt={})
		@cgi = cgi
		@action = @cgi.params
		@result = []
	end
	
	def run
		param = @cgi.query_string
		get_json(param)
	end

end

cgi = CGI.new
app = App.new(cgi)
app.run