class Notiffany::Notifier::Emacs::Client

Handles evaluating ELISP code in Emacs via Erb

def _emacs_eval(env, code)

def _emacs_eval(env, code)
  Shellany::Sheller.run(env, @client, '--eval', code)
end

def available?

def available?
  script = Elisp.new(@elisp_erb, nil, nil, nil).result
  _emacs_eval({ 'ALTERNATE_EDITOR' => 'false' }, script)
end

def initialize(options)

def initialize(options)
  @client = options[:client]
  @elisp_erb = options[:elisp_erb]
  raise ArgumentError, 'No :elisp_erb option given!' unless elisp_erb
end

def notify(color, bgcolor, message = nil)

def notify(color, bgcolor, message = nil)
  elisp = Elisp.new(elisp_erb, color, bgcolor, message).result
  _emacs_eval({ 'ALTERNATE_EDITOR' => 'false' }, elisp)
end