filewatcher 2.0.0.beta3 → 2.0.0.beta4

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
  SHA256:
3
- metadata.gz: e1058d188f32d31bdf63775a8ff6655e64de608669630ef775c0e4975d196421
4
- data.tar.gz: 57406a8b0be947051f295de3d6208faaf4ec60e432edc22a71d1e3b22fb58415
3
+ metadata.gz: 5e9ecdeee0c20df3055e1078a67e8194040361fbcea9f1c633f2b33a8177f250
4
+ data.tar.gz: ba5abe65b765b0cc4c4630aae0cf1e0751c7ea4dec5f39911a9de9510fff7e9e
5
5
  SHA512:
6
- metadata.gz: d930968943fd907aad26eb150de20fa8d2681223dad1f516f9a27c2c096893bacaa8decd0e4646753f529dbec38bba32dd1b6951b442e2df69f6a01f943116fc
7
- data.tar.gz: cc8919f9f7036cb7599b22589e5b6abadd7b2674f502eae3e9c70c3e29b72d222356f5569244b63b1524dfd64430fc8617283b1bc0f565fffc91b5299b85980e
6
+ metadata.gz: 287d42ea2fb239be62a4a0701f5b84440c409b6dc93c3b8caf5a5c8c87958ab12f4885e146e679f988dc2d2ef9c7d47d77be79ce4b8dd6d0ea97d71d63de9116
7
+ data.tar.gz: 2a296164258b091771802bbeb7d33690160e235220d30644743abe441d7801259dcad5bcd4216655c1e57549b9052edb45f1b1440a23ba1d84e4981f278a4e90
@@ -4,16 +4,6 @@ require_relative 'snapshot'
4
4
 
5
5
  # Helpers in Filewatcher class itself
6
6
  class Filewatcher
7
- class << self
8
- def system_stat(filename)
9
- case Gem::Platform.local.os
10
- when 'linux' then `stat --printf 'Modification: %y, Change: %z\n' #{filename}`
11
- when 'darwin' then `stat #{filename}`
12
- else 'Unknown OS for system `stat`'
13
- end
14
- end
15
- end
16
-
17
7
  # Module for snapshot logic inside Filewatcher
18
8
  module Snapshots
19
9
  def found_filenames
@@ -13,6 +13,8 @@ require_relative 'spec_helper/watch_run'
13
13
  class Filewatcher
14
14
  ## Helper for common spec features between plugins
15
15
  module SpecHelper
16
+ module_function
17
+
16
18
  def logger
17
19
  @logger ||= Logger.new($stdout, level: :debug)
18
20
  end
@@ -20,7 +22,7 @@ class Filewatcher
20
22
  def environment_specs_coefficients
21
23
  @environment_specs_coefficients ||= {
22
24
  -> { ENV['CI'] } => 1,
23
- -> { RUBY_PLATFORM == 'java' } => 3,
25
+ -> { RUBY_PLATFORM == 'java' } => 1,
24
26
  -> { Gem::Platform.local.os == 'darwin' } => 1
25
27
  }
26
28
  end
@@ -58,9 +60,25 @@ class Filewatcher
58
60
  logger.debug "Thread ##{Thread.current.object_id} #{string}"
59
61
  end
60
62
 
61
- ## https://github.com/rubocop-hq/ruby-style-guide/issues/556#issuecomment-691274359
62
- # rubocop:disable Style/ModuleFunction
63
- extend self
64
- # rubocop:enable Style/ModuleFunction
63
+ def system_stat(filename)
64
+ case (host_os = RbConfig::CONFIG['host_os'])
65
+ when 'linux'
66
+ `stat --printf 'Modification: %y, Change: %z\n' #{filename}`
67
+ when /darwin\d*/
68
+ `stat #{filename}`
69
+ when *Gem::WIN_PATTERNS
70
+ system_stat_windows filename
71
+ else
72
+ "Unknown OS `#{host_os}` for system's `stat` command"
73
+ end
74
+ end
75
+
76
+ def system_stat_windows(filename)
77
+ filename = filename.gsub('/', '\\\\\\')
78
+ properties = 'CreationDate,InstallDate,LastModified,LastAccessed'
79
+ command = "wmic datafile where Name=\"#{filename}\" get #{properties}"
80
+ # debug command
81
+ `#{command}`
82
+ end
65
83
  end
66
84
  end
@@ -10,7 +10,7 @@ class Filewatcher
10
10
 
11
11
  TMP_DIR = "#{Dir.getwd}/spec/tmp"
12
12
 
13
- def_delegators Filewatcher::SpecHelper, :debug, :wait
13
+ def_delegators Filewatcher::SpecHelper, :debug, :wait, :system_stat
14
14
 
15
15
  attr_reader :filename
16
16
 
@@ -68,7 +68,7 @@ class Filewatcher
68
68
  end
69
69
 
70
70
  def debug_file_mtime
71
- debug "stat #{@filename}: #{Filewatcher.system_stat(@filename)}"
71
+ debug "stat #{@filename}: #{system_stat(@filename)}"
72
72
  debug "File.mtime = #{File.mtime(@filename).strftime('%F %T.%9N')}"
73
73
  end
74
74
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  class Filewatcher
4
- VERSION = '2.0.0.beta3'
4
+ VERSION = '2.0.0.beta4'
5
5
  end
@@ -49,7 +49,8 @@ describe Filewatcher::Snapshot do
49
49
  before do
50
50
  first_snapshot
51
51
 
52
- sleep 0.1
52
+ ## 1 second or more: https://github.com/oracle/truffleruby/issues/2337
53
+ sleep 1
53
54
 
54
55
  File.write tmp_files[1], 'new content'
55
56
  File.delete tmp_files[2]
@@ -51,7 +51,7 @@ describe Filewatcher do
51
51
  describe '.print_version' do
52
52
  subject(:method_call) { described_class.print_version }
53
53
 
54
- let(:ruby_version_regexp) { 'j?ruby \d+\.\d+\.\d+.*' }
54
+ let(:ruby_version_regexp) { '(j|truffle)?ruby \d+\.\d+\.\d+.*' }
55
55
  let(:filewatcher_version_regexp) { "Filewatcher #{Filewatcher::VERSION}" }
56
56
 
57
57
  it do
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: filewatcher
3
3
  version: !ruby/object:Gem::Version
4
- version: 2.0.0.beta3
4
+ version: 2.0.0.beta4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Flemming
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2021-02-10 00:00:00.000000000 Z
12
+ date: 2021-04-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: bundler
@@ -25,20 +25,34 @@ dependencies:
25
25
  - - "~>"
26
26
  - !ruby/object:Gem::Version
27
27
  version: '2.0'
28
+ - !ruby/object:Gem::Dependency
29
+ name: bundler-audit
30
+ requirement: !ruby/object:Gem::Requirement
31
+ requirements:
32
+ - - "~>"
33
+ - !ruby/object:Gem::Version
34
+ version: 0.8.0
35
+ type: :development
36
+ prerelease: false
37
+ version_requirements: !ruby/object:Gem::Requirement
38
+ requirements:
39
+ - - "~>"
40
+ - !ruby/object:Gem::Version
41
+ version: 0.8.0
28
42
  - !ruby/object:Gem::Dependency
29
43
  name: gem_toys
30
44
  requirement: !ruby/object:Gem::Requirement
31
45
  requirements:
32
46
  - - "~>"
33
47
  - !ruby/object:Gem::Version
34
- version: 0.6.1
48
+ version: 0.8.0
35
49
  type: :development
36
50
  prerelease: false
37
51
  version_requirements: !ruby/object:Gem::Requirement
38
52
  requirements:
39
53
  - - "~>"
40
54
  - !ruby/object:Gem::Version
41
- version: 0.6.1
55
+ version: 0.8.0
42
56
  - !ruby/object:Gem::Dependency
43
57
  name: toys
44
58
  requirement: !ruby/object:Gem::Requirement
@@ -59,14 +73,14 @@ dependencies:
59
73
  requirements:
60
74
  - - "~>"
61
75
  - !ruby/object:Gem::Version
62
- version: 0.4.3
76
+ version: 0.5.1
63
77
  type: :development
64
78
  prerelease: false
65
79
  version_requirements: !ruby/object:Gem::Requirement
66
80
  requirements:
67
81
  - - "~>"
68
82
  - !ruby/object:Gem::Version
69
- version: 0.4.3
83
+ version: 0.5.1
70
84
  - !ruby/object:Gem::Dependency
71
85
  name: rspec
72
86
  requirement: !ruby/object:Gem::Requirement
@@ -155,7 +169,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
155
169
  requirements:
156
170
  - - ">="
157
171
  - !ruby/object:Gem::Version
158
- version: '2.4'
172
+ version: '2.5'
159
173
  - - "<"
160
174
  - !ruby/object:Gem::Version
161
175
  version: '4'
@@ -165,7 +179,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
165
179
  - !ruby/object:Gem::Version
166
180
  version: 1.3.1
167
181
  requirements: []
168
- rubygems_version: 3.2.3
182
+ rubygems_version: 3.2.15
169
183
  signing_key:
170
184
  specification_version: 4
171
185
  summary: Lightweight filewatcher.