lib/learn_open/opener.rb in learn-open-1.2.7 vs lib/learn_open/opener.rb in learn-open-1.2.8
- old
+ new
@@ -22,17 +22,27 @@
def run
setup_tmp_file
set_lesson
+ if ide_version_3?
+ if self.repo_dir != ENV['LAB_NAME']
+ File.open(".custom_commands.log", "w+") do |f|
+ f.puts %Q{{"command": "open_lab", "lab_name": #{self.lesson}}}
+ end
+ exit
+ end
+ end
+
warn_if_necessary
if lesson_is_readme?
open_readme
else
git_tasks
file_tasks
+ setup_backup_if_needed
dependency_tasks
completion_tasks
end
end
@@ -40,10 +50,17 @@
File.exists?("#{lessons_dir}/#{repo_dir}/.git")
end
private
+ def setup_backup_if_needed
+ if ide_environment? && ide_git_wip_enabled?
+ restore_files
+ watch_for_changes
+ end
+ end
+
def ping_fork_completion(retries=3)
begin
Timeout::timeout(15) do
client.submit_event(
event: 'fork',
@@ -323,11 +340,11 @@
end
def bundle_install
if !ios_lesson? && File.exists?("#{lessons_dir}/#{repo_dir}/Gemfile")
puts "Bundling..."
- system("bundle install > /dev/null 2>&1")
+ system("bundle install")
end
end
def npm_install
if !ios_lesson? && File.exists?("#{lessons_dir}/#{repo_dir}/package.json")
@@ -344,11 +361,15 @@
def lesson_is_readme?
!lesson_is_lab
end
def open_readme
- if can_open_readme?
+ if ide_environment?
+ File.open(".custom_commands.log", "w+") do |f|
+ f.puts %Q{{"command": "browser_open", "url": "https://learn.co/lessons/#{lesson_id}"}}
+ end
+ elsif can_open_readme?
puts "Opening readme..."
launch_browser
else
puts "It looks like this lesson is a Readme. Please open it in your browser."
exit
@@ -389,10 +410,14 @@
def ide_git_wip_enabled?
ENV['IDE_GIT_WIP'] == "true"
end
+ def ide_version_3?
+ ENV['IDE_VERSION'] == "3"
+ end
+
def git_tasks
fork_repo
clone_repo
end
@@ -416,13 +441,9 @@
end
def completion_tasks
cleanup_tmp_file
puts "Done."
- if ide_environment? && ide_git_wip_enabled?
- restore_files
- watch_for_changes
- end
exec("#{ENV['SHELL']} -l")
end
end
end