fsr 0.1.4 → 0.1.6

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.
Files changed (5) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile.lock +12 -10
  3. data/lib/fsr/version.rb +1 -1
  4. data/lib/fsr.rb +22 -22
  5. metadata +2 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fb44143619f29ae0ccc5c157e7b52df8dedaca4e43881d6ee0fb3f1926c89c27
4
- data.tar.gz: 17f75987b25e34423f9dfed3e4ae20f5eda4b8faac629174fdba8e837134cd7c
3
+ metadata.gz: 47ae417bf5a363655b2f31478d055e40e9c0ba5b74f6ced67b125c6104ca1400
4
+ data.tar.gz: 79bb260e4510283cda5b5a9c76e815cccf42cc35d722818e932e778d8d793c88
5
5
  SHA512:
6
- metadata.gz: ec5ebc54c2ea4f63769387ca247f5dc405dfb3c211e890e7bb9bd9c6ebccae31c6e50a88343a0b27b1ad98800b7cbac796fb8a5eca3e528da7dc0a925f74c734
7
- data.tar.gz: 15545c94dfeb0615d5513695dd1337021a906ad1b51d112fedcabcf5019846fcd607fa7271b83bf5bb77de35882085d29ccd8de04f84c4ea4573d1f9a6fa58cc
6
+ metadata.gz: 73e9b6ab1ccede691b6a376e6f4ace4c672f179329776789843ce45a60ed233b49271860045ef9835a016990764a1cd2d5b255dc7f2d4112b7546a368171e699
7
+ data.tar.gz: d885c18291751204ffd5c2136aebe7e026d7f0e7fe1e5f2199e22e098eac5e265f641d3984546f4d1b674b2f6310bc897e50cc2353f565e2b491604cbf2405c8
data/Gemfile.lock CHANGED
@@ -1,19 +1,20 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- fsr (0.1.0)
4
+ fsr (0.1.6)
5
5
  listen
6
6
 
7
7
  GEM
8
8
  remote: https://rubygems.org/
9
9
  specs:
10
10
  ast (2.4.2)
11
- ffi (1.17.0)
11
+ ffi (1.17.0-arm64-darwin)
12
12
  json (2.7.2)
13
+ language_server-protocol (3.17.0.3)
13
14
  listen (3.9.0)
14
15
  rb-fsevent (~> 0.10, >= 0.10.3)
15
16
  rb-inotify (~> 0.9, >= 0.9.10)
16
- parallel (1.24.0)
17
+ parallel (1.25.1)
17
18
  parser (3.3.2.0)
18
19
  ast (~> 2.4.1)
19
20
  racc
@@ -26,24 +27,25 @@ GEM
26
27
  regexp_parser (2.9.2)
27
28
  rexml (3.2.8)
28
29
  strscan (>= 3.0.9)
29
- rubocop (1.50.2)
30
+ rubocop (1.64.1)
30
31
  json (~> 2.3)
32
+ language_server-protocol (>= 3.17.0)
31
33
  parallel (~> 1.10)
32
- parser (>= 3.2.0.0)
34
+ parser (>= 3.3.0.2)
33
35
  rainbow (>= 2.2.2, < 4.0)
34
36
  regexp_parser (>= 1.8, < 3.0)
35
37
  rexml (>= 3.2.5, < 4.0)
36
- rubocop-ast (>= 1.28.0, < 2.0)
38
+ rubocop-ast (>= 1.31.1, < 2.0)
37
39
  ruby-progressbar (~> 1.7)
38
40
  unicode-display_width (>= 2.4.0, < 3.0)
39
- rubocop-ast (1.30.0)
40
- parser (>= 3.2.1.0)
41
+ rubocop-ast (1.31.3)
42
+ parser (>= 3.3.1.0)
41
43
  ruby-progressbar (1.13.0)
42
44
  strscan (3.1.0)
43
45
  unicode-display_width (2.5.0)
44
46
 
45
47
  PLATFORMS
46
- ruby
48
+ arm64-darwin-22
47
49
 
48
50
  DEPENDENCIES
49
51
  fsr!
@@ -51,4 +53,4 @@ DEPENDENCIES
51
53
  rubocop (~> 1.21)
52
54
 
53
55
  BUNDLED WITH
54
- 1.17.2
56
+ 2.4.10
data/lib/fsr/version.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Fsr
4
- VERSION = '0.1.4'
4
+ VERSION = '0.1.6'
5
5
  end
data/lib/fsr.rb CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  require_relative 'fsr/version'
4
4
  require 'listen'
5
+ require 'rspec/core'
6
+
7
+ $LOAD_PATH.push('spec')
5
8
 
6
9
  # Run RSpec fast by avoiding full app boot
7
10
  #
@@ -25,7 +28,22 @@ module Fsr
25
28
  "#{`pwd`.strip}/spec"
26
29
  ].select { |dir| Dir.exist?(dir) }
27
30
  )
28
- Listen.to(*listen) { Fsr::Runner.new(run, load: load).run }
31
+ Listen.to(*listen) do |modified, added|
32
+ files = [modified, added].compact.flatten if load.empty?
33
+ Fsr::Runner.new(run, load: files).run
34
+ end
35
+ end
36
+
37
+ def self.sandboxed
38
+ orig_world = RSpec.world
39
+ orig_example = RSpec.current_example
40
+ RSpec.world = RSpec::Core::World.new(RSpec.configuration)
41
+
42
+ yield
43
+ ensure
44
+ RSpec.world = orig_world
45
+ RSpec.current_example = orig_example
46
+ RSpec.clear_examples
29
47
  end
30
48
 
31
49
  # core runner
@@ -37,27 +55,9 @@ module Fsr
37
55
 
38
56
  def run
39
57
  @dependent_files.each { |file| load(file) }
40
- RSpec::Core::Runner.run(@specs)
41
- cleanup
42
- end
43
-
44
- def cleanup
45
- warn_level = $VERBOSE
46
- $VERBOSE = nil
47
- remove_rspec
48
- require('rspec')
49
- configure
50
- $VERBOSE = warn_level
51
- end
52
-
53
- def remove_rspec
54
- Object.send(:remove_const, 'RSpec')
55
- $LOADED_FEATURES.reject! { |a| a.include?('rspec') }
56
- end
57
-
58
- def configure
59
- load('spec/spec_helper.rb')
60
- load('spec/rails_helper.rb')
58
+ Fsr.sandboxed do
59
+ RSpec::Core::Runner.run(@specs)
60
+ end
61
61
  end
62
62
  end
63
63
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: fsr
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.4
4
+ version: 0.1.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Elamaran Angusamy Elango
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-06-07 00:00:00.000000000 Z
11
+ date: 2024-06-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: listen