module MyAtModule

Atコマンドを突っ込む MyGCalModuleとの連携で使う

@config
~/config.ymlに
atmodule:
  scriptdir: /Users/seijiro/scripts
  rbdir: /Users/seijiro/code/ruby

使い方など class ThisDo

include MyAtModule
include MyGCalModule

して o = ThisDo.new とかでok

Public Class Methods

new() click to toggle source
# File lib/lib/myat.rb, line 18
def initialize
  @c = MyConfig.get['atmodule']
end

Public Instance Methods

_at_command(job) click to toggle source
# File lib/lib/myat.rb, line 44
  def _at_command(job)
    "#! /bin/bash
#ユーザーの環境変数パスを使いたい
source ~/.bashrc
growlnotify -t 'Gcal2At' -m 'pusher tail #{job[:filename]} start . end is #{job[:start].localtime.strftime("%Y/%m/%d/%H/%M")}'
ruby #{@c['rbdir']}/pushertail.rb #{job[:filename]} '#{job[:end].to_s}'
"
  end
_at_scriptpath(job) click to toggle source
# File lib/lib/myat.rb, line 40
def _at_scriptpath(job)
  "#{@c['scriptdir']}/job2at_#{job[:start].localtime.strftime("%Y%m%d%H%M")}.sh"
end
gcaljobs_2_at() click to toggle source
# File lib/lib/myat.rb, line 22
def gcaljobs_2_at
  @gcal_jobs.each { |job| jobs2at(job) }
  return self
end
jobs2at(job) click to toggle source
# File lib/lib/myat.rb, line 27
def jobs2at(job)
  command = _at_command(job)
  File.open("#{_at_scriptpath(job)}","w") do |io|
    io.write(command)
  end

  atcommand =  "/usr/bin/at -f #{_at_scriptpath(job)} #{job[:start].localtime.strftime("%H:%M %m/%d/%y")}"
  p atcommand
  p command
  system atcommand
  gcal_checkout(job[:object])
end