class Bcome::Workspace

Attributes

context[R]
estate[R]

Public Class Methods

new() click to toggle source
# File lib/objects/workspace.rb, line 9
def initialize
  @context = nil
  @console_set = false
  @estate = nil
end

Public Instance Methods

console_set!() click to toggle source
# File lib/objects/workspace.rb, line 39
def console_set!
  @console_set = true
end
console_set?() click to toggle source
# File lib/objects/workspace.rb, line 43
def console_set?
  @console_set
end
default_prompt() click to toggle source
# File lib/objects/workspace.rb, line 63
def default_prompt
  'bcome'
end
has_context?() click to toggle source
# File lib/objects/workspace.rb, line 55
def has_context?
  !context.nil?
end
irb_prompt() click to toggle source
# File lib/objects/workspace.rb, line 59
def irb_prompt
  @context ? @context.prompt_breadcrumb : default_prompt
end
object_is_current_context?(object) click to toggle source
# File lib/objects/workspace.rb, line 47
def object_is_current_context?(object)
  @context == object
end
set(params) click to toggle source
# File lib/objects/workspace.rb, line 15
def set(params)
  init_irb unless console_set?

  @context = params[:context]
  @context.load_nodes if @context.inventory? && !@context.nodes_loaded?

  main_context = IRB.conf[:MAIN_CONTEXT]

  @context.irb_workspace = main_context.workspace if main_context
  @context.previous_irb_workspace = params[:current_context] if params[:current_context]

  show_welcome if params[:show_welcome]

  spawn_into_console_for_context
  nil
end
show_welcome() click to toggle source
# File lib/objects/workspace.rb, line 32
def show_welcome
  puts "\n\n"
  puts "Welcome to bcome v#{::Bcome::Version.release}".bc_yellow
  puts "\nType\s" + 'menu'.underline + "\sfor a command list, or\s" + 'registry'.underline + "\sfor your custom tasks."
  puts "\n\n"
end
spawn_into_console_for_context() click to toggle source
# File lib/objects/workspace.rb, line 51
def spawn_into_console_for_context
  ::IRB.start_session(self, @context)
end

Protected Instance Methods

init_irb() click to toggle source
# File lib/objects/workspace.rb, line 69
def init_irb
  IRB.setup nil
  IRB.conf[:MAIN_CONTEXT] = IRB::Irb.new.context
  console_set!
end