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