class Neruda::Emacs

Wraps Gnu/Emacs calls

Public Class Methods

new(file_path: nil, verbose: false) click to toggle source
# File lib/neruda/emacs.rb, line 8
def initialize(file_path: nil, verbose: false)
  @file = file_path
  @verbose = verbose
end

Public Instance Methods

publish() click to toggle source
# File lib/neruda/emacs.rb, line 13
def publish
  command = emacs_command(
    '-l ./org-config.el', '--eval \'(org-publish "website")\''
  )
  if @verbose
    warn command
    return system(command, exception: true)
  end
  system command, out: '/dev/null', err: '/dev/null', exception: true
end

Private Instance Methods

emacs_command(*arguments) click to toggle source
# File lib/neruda/emacs.rb, line 26
def emacs_command(*arguments)
  default_emacs = Neruda::Config.settings['emacs']
  emacs_cmd = [
    default_emacs || 'emacs -Q --batch -nw',
    '--eval \'(setq enable-dir-local-variables nil)\''
  ]
  emacs_cmd << '--eval \'(setq inhibit-message t)\'' unless @verbose
  emacs_cmd.concat(arguments)
  emacs_cmd.join(' ')
end