class EmacsOrgProtocolServer::Settings

Attributes

bind[RW]
config_file[RW]
emacsclient[RW]
port[RW]
server[RW]
settings[RW]

Public Class Methods

new(server: '0.0.0.0', port: 4567, bind: '0.0.0.0', config_file: nil) click to toggle source
# File lib/emacs_org_protocol_server.rb, line 14
def initialize(server: '0.0.0.0', port: 4567, bind: '0.0.0.0', config_file: nil)
  self.config_file = config_file || ENV['EMACS_ORG_PROTOCOL_CONFIG'] || File.join(ENV['HOME'], '.config', 'emacs_org_protocol_server.yml')
  self.settings = {}
  if File.exist?(self.config_file)
    self.settings = YAML.load(
      ERB.new(
        File.read(self.config_file)
        ).result
      )
  end

  self.server      = ENV['EMACS_ORG_PROTOCOL_SERVER'] || settings["server"] || %w[thin mongrel webrick]
  self.port        = ENV['EMACS_ORG_PROTOCOL_PORT']   || settings["port"]   || '4567'
  self.bind        = ENV['EMACS_ORG_PROTOCOL_BIND']   || settings["bind"]   || '0.0.0.0'
  self.emacsclient = ENV['EMACSCLIENT']               || "/usr/local/bin/emacsclient"
end