Module: CodeRunner::InteractiveMethods

Defined in:
lib/coderunner/interactive_methods.rb

Constant Summary collapse

INTERACTIVE_METHODS =
<<EOF
include CodeRunner::InteractiveMethods
setup_interactive
EOF

Instance Method Summary collapse

Instance Method Details

#cd(dirct) ⇒ Object



14
15
16
# File 'lib/coderunner/interactive_methods.rb', line 14

def cd(dirct)
  Dir.chdir(dirct)
end

#change_root_folder(folder) ⇒ Object Also known as: crf

Change the default root folder(s) for commands. If a runner has not been loaded for a given folder, it will be loaded as subsequently required.



41
42
43
# File 'lib/coderunner/interactive_methods.rb', line 41

def change_root_folder(folder)
  DEFAULT_COMMAND_OPTIONS[:Y] = folder
end

#pwdObject



32
33
34
# File 'lib/coderunner/interactive_methods.rb', line 32

def pwd
  puts Dir.pwd
end

#runsObject



35
36
37
# File 'lib/coderunner/interactive_methods.rb', line 35

def runs
  CodeRunner.runner.run_list
end

#setup_interactiveObject



17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/coderunner/interactive_methods.rb', line 17

def setup_interactive
  @runner = CodeRunner.fetch_runner(CodeRunner::DEFAULT_COMMAND_OPTIONS.dup) unless CodeRunner::DEFAULT_COMMAND_OPTIONS[:q]
  @r = @runner
  if @r
    histfile = @r.root_folder + '/.code-runner-irb-save-history'
    if FileTest.exist?(histfile)
      if @r.is_in_repo?
        repo = Repository.open_in_subfolder(@r.root_folder)
        repo.add(histfile)
        repo.autocommit("Updated save history in #{repo.relative_path(@r.root_folder)}") if repo.modified? histfile
      end
    end
  end

end

#upObject



10
11
12
13
# File 'lib/coderunner/interactive_methods.rb', line 10

def up
  ObjectSpace.each_object{|obj| obj.update if obj.class.to_s =~ /CodeRunner$/}
  nil
end