learn-open 1.2.2 → 1.2.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 187cbff6f0a0e54e2c1eeee9df256c855cda0fdc
4
- data.tar.gz: 73c0bb51b2d5dd3512d06ad889130987c13a6eb4
3
+ metadata.gz: e3956d3ee82551fddb6e65f916bae370b8b90dc7
4
+ data.tar.gz: ec2a1c366eeec4a0756b20883406b4eca9a1c519
5
5
  SHA512:
6
- metadata.gz: f2b5157421e1cdb8b5a791ee963153ad43ed7fc50c797b90d772bd5e2b1c466b8a8c2e7f35c1e2d7a16e457f100e036112d207b860261c11f44c241dba92663e
7
- data.tar.gz: 6c70af6367cab4362834610ccfc3cdbbee44e614fa8a7625ffc75dbc109b97c73197879b6c3a8ce018ec5ee56e8bfcb72a4a282cd339b6aed4917814ab7b5bc7
6
+ metadata.gz: 4d2bf84191e5b578e0563d4d92e3db05460fea2d3bff766a39bd0151162508d3310852ac7d1b4b92bc9fca5903fe1957fd38976f10d9d81ffc50be3f36d80fe7
7
+ data.tar.gz: 277b383633ddf01fd09fee7fa310c1951869a081413c6191e18032661fd6e588475c85ad1e3be779323ca77f4459fb3b1786ca05a85a44e153a5eef60833f3e7
@@ -41,12 +41,11 @@ module LearnOpen
41
41
  def repo_exists?
42
42
  cloned_labs = "#{HOME_DIR}/.cloned_labs"
43
43
  if File.exists?(cloned_labs)
44
+ puts "Loading..."
45
+ syncing_done = "#{HOME_DIR}/.syncing_started"
46
+ sleep 1 until File.exists?(syncing_done)
44
47
  if File.readlines(cloned_labs).grep(/#{repo_dir}/).any?
45
- until File.exists?("#{lessons_dir}/#{repo_dir}")
46
- puts "Loading..."
47
- puts Dir["#{lessons_dir}/*"].count
48
- sleep 1
49
- end
48
+ sleep 1 until File.exists?("#{lessons_dir}/#{repo_dir}")
50
49
  true
51
50
  else
52
51
  false
@@ -1,3 +1,3 @@
1
1
  module LearnOpen
2
- VERSION = '1.2.2'
2
+ VERSION = '1.2.3'
3
3
  end
@@ -5,16 +5,20 @@ describe LearnOpen::Opener do
5
5
 
6
6
  context "Verifying repo existance" do
7
7
  let(:opener) { LearnOpen::Opener.new("","","") }
8
- before do
8
+ after do
9
9
  path = File.join(__dir__, "..", "home_dir", "code")
10
10
  FileUtils.rm_rf(path)
11
11
  end
12
12
 
13
13
  context "with .cloned_labs file" do
14
- before do
14
+ after do
15
15
  cloned_labs = "#{LearnOpen::Opener::HOME_DIR}/.cloned_labs"
16
16
  FileUtils.rm(cloned_labs) if File.exists?(cloned_labs)
17
+
18
+ syncing_started = "#{LearnOpen::Opener::HOME_DIR}/.syncing_started"
19
+ FileUtils.rm(syncing_started) if File.exists?(syncing_started)
17
20
  end
21
+
18
22
  it "returns true if lab is in the .cloned_labs file" do
19
23
  expect(opener).to receive(:repo_dir).at_least(:once).and_return("js-rubber-duck-wrangling")
20
24
 
@@ -22,14 +26,35 @@ describe LearnOpen::Opener do
22
26
  f.puts("js-rubber-duck-wrangling")
23
27
  end
24
28
 
29
+ File.open("#{LearnOpen::Opener::HOME_DIR}/.syncing_started", "w+") do |f|
30
+ f.puts("done")
31
+ end
32
+
25
33
  FileUtils.mkdir_p("#{opener.lessons_dir}/js-rubber-duck-wrangling")
26
34
 
27
35
  expect(opener.repo_exists?).to be_truthy
28
36
  end
37
+
29
38
  it "returns false if lab is not in the .cloned_labs file" do
39
+ File.open("#{LearnOpen::Opener::HOME_DIR}/.syncing_started", "w+") do |f|
40
+ f.puts("done")
41
+ end
30
42
  expect(opener).to receive(:repo_dir).and_return("js-rubber-duck-wrangling")
31
43
  expect(opener.repo_exists?).to be_falsy
32
44
  end
45
+
46
+ context "before filesyncing starts" do
47
+ it "waits for .syncing_started " do
48
+ File.open("#{LearnOpen::Opener::HOME_DIR}/.cloned_labs", "w+") do |f|
49
+ f.puts("js-rubber-duck-wrangling")
50
+ end
51
+
52
+ FileUtils.mkdir_p("#{opener.lessons_dir}/js-rubber-duck-wrangling")
53
+ expect do
54
+ Timeout::timeout(2) { opener.repo_exists? }
55
+ end.to raise_error(Timeout::Error)
56
+ end
57
+ end
33
58
  end
34
59
 
35
60
  context "without .cloned_labs file" do
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: learn-open
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.2
4
+ version: 1.2.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Flatiron School
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-09-14 00:00:00.000000000 Z
11
+ date: 2016-09-16 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler