module MyGCalModule
Googleカレンダーへのアクセスを提供する
~/config.ymlに
gmail: address: YourMailAdress@gmail.com pass: xxxxxxxxxx feedurl: http://www.google.com/calendar/feeds/xxxxxxxx%40gmail.com/private/full
使い方など class ThisDo
include MyGCalModule
して o = ThisDo.new o.gcal_read とかでok
Attributes
gcal_query[RW]
gcalfeedurl[RW]
gmail[RW]
gmailpass[RW]
Public Instance Methods
gcal_checkout(event)
click to toggle source
fetchしたデータの取り込み済みマークを立てる
# File lib/lib/mygcal.rb, line 61 def gcal_checkout(event) event.title = '[FETCHED]' + event.title event.save! return self end
gcal_parse_2_jobs()
click to toggle source
gcalのイベントをAtMduleが食べれる形に変換する 共通のJOBクラスで包もうかしら?
# File lib/lib/mygcal.rb, line 40 def gcal_parse_2_jobs @gcal_jobs = [] q = @gcal_query ||= '[Gcal2PusherTail' @gcal_events.each do |event| begin kind,filename = event.title.split(']') if(kind == @gcal_query && filename != nil) @gcal_jobs << {:filename => filename, :start => event.st, :end => event.en, :object => event} end rescue =>ex p ex #握りつぶす end end return self end
gcal_read()
click to toggle source
# File lib/lib/mygcal.rb, line 20 def gcal_read service @gcal_events = @gcal.events return self end
gcal_write(eventdata)
click to toggle source
GCalへ書きこむ
# File lib/lib/mygcal.rb, line 27 def gcal_write(eventdata) service event = @gcal.create_event event.title = eventdata[:title] event.st = eventdata[:start] event.en = eventdata[:end] event.save! @gcal_event = event return self end
service()
click to toggle source
GCalへのアクセス
# File lib/lib/mygcal.rb, line 68 def service if @gcal_srv.nil? require 'gcalapi' @c = MyConfig.get['gmail'] @gcal_srv = GoogleCalendar::Service.new(@c['address'],@c['pass']) end @gcal = GoogleCalendar::Calendar::new(@gcal_srv, @c['feedurl']) end