Sha256: 1e8af2e74a04f13f687c4c9c3d7aac15094f5e09e2fa385fa3a5c5abb0a01447

Contents?: true

Size: 1.96 KB

Versions: 1

Compression:

Stored size: 1.96 KB

Contents

# communicate!
require 'socket'
require 'osc-ruby'

# data from QLab
require 'json'

require 'qcmd/version'
require 'qcmd/plaintext'
require 'qcmd/commands'
require 'qcmd/input_completer'
require 'qcmd/core_ext/array'
require 'qcmd/core_ext/osc/message'
require 'qcmd/core_ext/osc/tcp_client'

module Qcmd
  autoload :Configuration, 'qcmd/configuration'
  autoload :History, 'qcmd/history'
  autoload :Handler, 'qcmd/handler'
  autoload :Server, 'qcmd/server'
  autoload :Context, 'qcmd/context'
  autoload :Parser, 'qcmd/parser'
  autoload :CLI, 'qcmd/cli'
  autoload :Machine, 'qcmd/machine'
  autoload :Network, 'qcmd/network'
  autoload :QLab, 'qcmd/qlab'
  autoload :VERSION, 'qcmd/version'
  autoload :Action, 'qcmd/action'
  autoload :Aliases, 'qcmd/aliases'

  # on launch

  class << self
    include Qcmd::Plaintext

    attr_accessor :debug_mode
    attr_accessor :context

    LEVELS = %w(debug info warning error none)

    def log_level
      @log_level ||= :info
    end

    def log_level=(value)
      if LEVELS.include?(value.to_s)
        @log_level = value
      else
        raise "Invalid log_level value: #{ value.to_s }"
      end
    end

    def verbose!
      self.log_level = :debug
    end

    def quiet!
      self.log_level = :warning
    end

    def silent!
      self.log_level = :none
    end

    def silent?
      self.log_level == :none
    end

    def quiet?
      self.log_level == :warning
    end

    def while_quiet
      previous_level = self.log_level
      self.log_level = :warning
      yield
      self.log_level = previous_level
    end

    def debug?
      !!debug_mode
    end

    def debug message
      # always write to log

      Qcmd::Configuration.log.puts "[%s] %s" % [Time.now.strftime('%T'), message]

      log(:debug, message)
    end

    def log_level_acheived? level
      LEVELS.index(level.to_s) >= LEVELS.index(log_level.to_s)
    end

    def connected?
      !!context && !!context.machine && !context.machine.nil?
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
qcmd-0.1.9 lib/qcmd.rb