module Staticme

Attributes

app[RW]
logger[RW]
params[RW]
runner[RW]
ws[RW]

Public Instance Methods

broadcast(data) click to toggle source
# File lib/staticme.rb, line 49
def broadcast(data)
  begin
    ws.emit(data)
  rescue
    logger.warn('Unable to broadcast event')
  end
end
run!(argv, &blk) click to toggle source
# File lib/staticme.rb, line 28
def run!(argv, &blk)

  self.params = parse_input(argv)
  self.app = Staticme::App.new(params).bind
  self.logger = ::Logger.new(STDOUT)
  self.logger.level = ::Logger::DEBUG
  self.runner = Staticme::ThinRunner.new
  self.ws = Staticme::WebSocket.new(params)

  register_event_handlers

  emit(:staticme_inited)

  runner.start(app, params) do |server|
    emit(:web_server_started, server)
    logger.debug('Web server started')
    ws.run!
    blk.call(server) if !blk.nil?
  end
end
stop!() click to toggle source
# File lib/staticme.rb, line 57
def stop!
  self.emit(:staticme_terminated)
  runner.stop
end

Private Instance Methods

register_event_handlers() click to toggle source
# File lib/staticme.rb, line 64
def register_event_handlers
  %w(FileChanged).each do |emitter_name|
    klass = Object.const_get "Staticme::Events::Emitters::#{emitter_name}"
    logger.debug("Registering event emitter: #{klass.to_s}")
    emitter = klass.new
    emitter.bind!
  end
end