class LearnOpen::Environments::IDEEnvironment
Public Instance Methods
managed?()
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 4 def managed? true end
on_invalid(lesson)
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 50 def on_invalid(lesson) io.puts "Opening new window" run_custom_command(:open_lab, {lab_name: lesson.name}) end
open_jupyter_lab(lesson, location, editor, _clone_only)
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 15 def open_jupyter_lab(lesson, location, editor, _clone_only) when_valid(lesson) do io.puts "Opening Jupyter Lesson..." run_custom_command(:browser_open, {url: lesson.to_url}) end end
open_lab(lesson, location, editor, clone_only)
click to toggle source
Calls superclass method
LearnOpen::Environments::BaseEnvironment#open_lab
# File lib/learn_open/environments/ide_environment.rb, line 22 def open_lab(lesson, location, editor, clone_only) when_valid(lesson) do case lesson when LearnOpen::Lessons::IosLesson super when -> (l) { valid?(l) } download_lesson(lesson, location) open_editor(lesson, location, editor) start_file_backup(lesson, location) install_dependencies(lesson, location) notify_of_completion open_shell unless clone_only end end end
open_readme(lesson)
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 8 def open_readme(lesson) when_valid(lesson) do io.puts "Opening readme..." run_custom_command(:browser_open, {url: lesson.to_url}) end end
run_custom_command(command, message)
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 55 def run_custom_command(command, message) home_dir = "/home/#{environment_vars['CREATED_USER']}" custom_commands_log = "#{home_dir}/.custom_commands.log" File.open(custom_commands_log, "a") do |f| f.puts({:command => command}.merge(message).to_json) end end
valid?(lesson)
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 46 def valid?(lesson) lesson.name == environment_vars['LAB_NAME'] end
when_valid(lesson, &block)
click to toggle source
# File lib/learn_open/environments/ide_environment.rb, line 38 def when_valid(lesson, &block) if valid?(lesson) block.call else on_invalid(lesson) end end