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 8
def initialize mode
  @mode = mode
  @label_service = LabelService.new
end

Public Instance Methods

add_labels(query, *labels) click to toggle source
# File lib/sup/modes/console_mode.rb, line 17
def add_labels(query, *labels)
  count = @label_service.add_labels(query, *labels)
  print_buffer_dirty_msg count
end
clear_hooks() click to toggle source
# File lib/sup/modes/console_mode.rb, line 73
def clear_hooks
  HookManager.clear
  nil
end
loglevel() click to toggle source
# File lib/sup/modes/console_mode.rb, line 35
def loglevel; Redwood::Logger.level; end
p(x;) click to toggle source
# File lib/sup/modes/console_mode.rb, line 41
def p x; puts x.inspect end
puts(x;) click to toggle source
# File lib/sup/modes/console_mode.rb, line 40
def puts x; @mode << "#{x.to_s.rstrip}\n" end
query(query) click to toggle source
# File lib/sup/modes/console_mode.rb, line 13
def query(query)
  Enumerator.new(Index.instance, :each_message, Index.parse_query(query))
end
reload() click to toggle source
# File lib/sup/modes/console_mode.rb, line 47
def reload
  old_verbose = $VERBOSE
  $VERBOSE = nil
  old_features = $".dup
  begin
    fs = $".grep(/^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 =~ /no 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 22
def remove_labels(query, *labels)
  count = @label_service.remove_labels(query, *labels)
  print_buffer_dirty_msg count
end
set_loglevel(level) click to toggle source
# File lib/sup/modes/console_mode.rb, line 36
def set_loglevel(level); Redwood::Logger.level = level; end
special_methods() click to toggle source
# File lib/sup/modes/console_mode.rb, line 38
def special_methods; public_methods - Object.methods end
xapian() click to toggle source
# File lib/sup/modes/console_mode.rb, line 33
def xapian; Index.instance.instance_variable_get :@xapian; end

Private Instance Methods

print_buffer_dirty_msg(msg_count) click to toggle source