devloop 0.0.7 → 0.0.8

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 329272a8c3033e7d6d4cb63d2ca284b87f8d4883e64fc613ad00e2f2eaf7ca8b
4
- data.tar.gz: 3fa337ca6600ffd440c53170ed6d1aa59cdf09207d64738c8248cf3f027e2ab6
3
+ metadata.gz: c6e087fe2cd945782777fe0a1a87fd21b3022f0348a38b1c789f8ba6c7817f49
4
+ data.tar.gz: 1718ef614659f6ba55a3a7ca1d60d2d7b676a70919d1a93e7bd4f0c5ff1a46ba
5
5
  SHA512:
6
- metadata.gz: 48664a8ba229cd1730994c47d60f1a1f0fcb7e225f038c6903ae17125f27ae3091b8ef75d75558932b21e6e82ad15e5e3de47fdfc337450b15dacf3b88644a29
7
- data.tar.gz: c75e9d90a51e8aa003e0f069490004957241dbc54543fe202058efd82ab943678b094d7ff45f2a1aad44fd31240f9d7c656b8b7e08a8fa9f2f4432f37596ae21
6
+ metadata.gz: 3c0948c9527bc7bed104aa6cac0a65bf6c67618e5d3afa31d2245d90565ca32546cb4bdc8c084ef2103c0919c648f4a315c923aed8ca1b1ec7b636fa394b83fa
7
+ data.tar.gz: 59775a6c5a08119a319cd541bd8e45a7bc1432fb57b498a0e788eb22018f7ef864f316fd412c788a8574359144607ca695bb75b7e38bbe132e51ae68b712ecde
data/README.md CHANGED
@@ -2,6 +2,8 @@
2
2
 
3
3
  Devloop is an automated Rspec runner for Rails apps inspired by [TLDR](https://github.com/tendersearls/tldr). The purpose of this tool is to provide continuous and instant feedback when working on the Rails app. It runs only specs from _lines_ modified in the recent git commits. Even if you have a large `spec/user_spec.rb` file, you'll receive specs feedback in ~second on each file save.
4
4
 
5
+ Optionally, you can edit first line of any spec file (i.e. add `#`) to run all the tests from it.
6
+
5
7
  ## Installation
6
8
 
7
9
  It uses [fswatch](https://github.com/emcrisostomo/fswatch) so make sure to install it first:
@@ -10,12 +10,18 @@ module Devloop
10
10
  [line[6..-1], results]
11
11
  elsif line.start_with?("@@ -")
12
12
  line_number = line.match(/@@ -(\d+)/)[1]
13
- [file, results << "#{relative_path(file)}:#{line_number}"]
13
+ if line_number == "1"
14
+ [file, results << "#{relative_path(file)}"]
15
+ else
16
+ [file, results << "#{relative_path(file)}:#{line_number}"]
17
+ end
14
18
  else
15
19
  [file, results]
16
20
  end
17
- end
18
- results
21
+ end.uniq
22
+
23
+ # Remove filenames with line number if filename without line number is present
24
+ results.reject { |result| results.include?(result.split(":").first) && result.include?(":") }
19
25
  end
20
26
 
21
27
  private
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Devloop
4
- VERSION = "0.0.7"
4
+ VERSION = "0.0.8"
5
5
  end
@@ -4,7 +4,30 @@ require "spec_helper"
4
4
  require "devloop/diff_parser"
5
5
 
6
6
  describe Devloop::DiffParser do
7
- context "when the project root is the same as git root" do
7
+ context "first line of a file was edited" do
8
+ let(:diff) do
9
+ <<~DIFF
10
+ diff --git a/spec/models/team_spec.rb b/spec/models/team_spec.rb
11
+ index 19772f2a..9f614e20 100644
12
+ --- a/spec/models/team_spec.rb
13
+ +++ b/spec/models/team_spec.rb
14
+ @@ -1 +1,3 @@ describe Team do
15
+ - it "has_many emojis" do
16
+ + it "has_many eojis" do
17
+ @@ -24,2 +24,2 @@ describe Team do
18
+ - describe "normalize attributes" do
19
+ - it "does not allow empty string values" do
20
+ + describe "normalize attrbtes" do
21
+ + it "does not allw empty string values" do
22
+ DIFF
23
+ end
24
+
25
+ it "will run the whole file" do
26
+ expect(Devloop::DiffParser.call(diff)).to eq(["spec/models/team_spec.rb"])
27
+ end
28
+ end
29
+
30
+ context "the project root is the same as git root" do
8
31
  let(:diff1) do
9
32
  <<~DIFF
10
33
  diff --git a/spec/models/team_spec.rb b/spec/models/team_spec.rb
@@ -39,7 +62,7 @@ describe Devloop::DiffParser do
39
62
  - describe "normalize attributes" do
40
63
  - it "does not allow empty string values" do
41
64
  + describe "normalize attrbtes" do
42
- + it "does not allw empty sting values" do
65
+ + it "does not allw empty string values" do
43
66
  DIFF
44
67
  end
45
68
 
@@ -49,7 +72,7 @@ describe Devloop::DiffParser do
49
72
  end
50
73
  end
51
74
 
52
- context "when the project root is different from the git root" do
75
+ context "the project root is different from the git root" do
53
76
  let(:diff) do
54
77
  <<~DIFF
55
78
  diff --git a/src/spec/models/team_spec.rb b/src/spec/models/team_spec.rb
@@ -63,7 +86,7 @@ describe Devloop::DiffParser do
63
86
  - describe "normalize attributes" do
64
87
  - it "does not allow empty string values" do
65
88
  + describe "normalize attrbtes" do
66
- + it "does not allw empty sting values" do
89
+ + it "does not allw empty string values" do
67
90
  DIFF
68
91
  end
69
92
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: devloop
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.7
4
+ version: 0.0.8
5
5
  platform: ruby
6
6
  authors:
7
7
  - pawurb
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-10 00:00:00.000000000 Z
11
+ date: 2024-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake