Skip to content

Instantly share code, notes, and snippets.

@rummelonp
Created December 6, 2010 04:20
Show Gist options
  • Save rummelonp/729852 to your computer and use it in GitHub Desktop.
Save rummelonp/729852 to your computer and use it in GitHub Desktop.
ついカッとなって書いたReeder for Macの新着未読を無理やりGrowlするRubyスクリプト(適当にcronに登録するなりsqlのwhere変えるなりしてください)
# -*- coding: utf-8 -*-
gmail = ARGV[0]
unless gmail
puts "Usage: ruby growl_reeder.rb [gmail]"
exit
end
require 'rubygems'
require 'tempfile'
require 'sqlite3'
include SQLite3
db_path = "#{ENV['HOME']}/Library/Application Support/Reeder/#{gmail}/reeder.db"
temp_db = Tempfile.new(db_path.gsub(/\//, '_'))
open(db_path) do |db_file|
temp_db.print db_file.read
end
temp_db.close
db = Database.new(temp_db.path)
now = Time.now
since = now - (60 * 20)
milliseconds = (since.tv_sec.to_s + since.tv_usec.to_s).to_i
query = <<SQL
select
title
from
reader_items
where
unread = 1
and
published >= #{milliseconds}
order by
published desc
SQL
db.execute(query) do |row|
title = row[0].gsub(/'/, '')
`/usr/local/bin/growlnotify 'Reeder for Mac' -m '#{title}' -a reeder`
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment