class Redwood::Console

Constants

RELOAD_WHITELIST

files that won't cause problems when reloaded TODO expand this list / convert to blacklist

Public Class Methods

new(mode) click to toggle source
# File lib/sup/modes/console-mode.rb, line 6
def initialize mode
  @mode = mode
end

Public Instance Methods

add_labels(query, *labels) click to toggle source
# File lib/sup/modes/console-mode.rb, line 14
def add_labels(query, *labels)
  query(query).each { |m| m.labels += labels; m.save Index }
end
clear_hooks() click to toggle source
# File lib/sup/modes/console-mode.rb, line 60
def clear_hooks
  HookManager.clear
  nil
end
ferret() click to toggle source
# File lib/sup/modes/console-mode.rb, line 23
def ferret; Index.instance.instance_variable_get :@index; end
loglevel() click to toggle source
# File lib/sup/modes/console-mode.rb, line 25
def loglevel; Redwood::Logger.level; end
query(query) click to toggle source
# File lib/sup/modes/console-mode.rb, line 10
def query(query)
  Enumerable::Enumerator.new(Index, :each_message, Index.parse_query(query))
end
reload() click to toggle source
# File lib/sup/modes/console-mode.rb, line 34
def reload
  old_verbose = $VERBOSE
  $VERBOSE = nil
  old_features = $".dup
  begin
    fs = $".grep(%r^sup\//)
    fs.reject! { |f| not RELOAD_WHITELIST.member? f }
    fs.each { |f| $".delete f }
    fs.each do |f|
      @mode << "reloading #{f}\n"
      begin
        require f
      rescue LoadError => e
        raise unless e.message =~ %rno such file to load/
      end
    end
  rescue Exception
    $".clear
    $".concat old_features
    raise
  ensure
    $VERBOSE = old_verbose
  end
  true
end
remove_labels(query, *labels) click to toggle source
# File lib/sup/modes/console-mode.rb, line 18
def remove_labels(query, *labels)
  query(query).each { |m| m.labels -= labels; m.save Index }
end
set_loglevel(level) click to toggle source
# File lib/sup/modes/console-mode.rb, line 26
def set_loglevel(level); Redwood::Logger.level = level; end
special_methods() click to toggle source
# File lib/sup/modes/console-mode.rb, line 28
def special_methods; methods - Object.methods end
xapian() click to toggle source
# File lib/sup/modes/console-mode.rb, line 22
def xapian; Index.instance.instance_variable_get :@xapian; end