filewatcher 2.0.0.beta3 → 2.0.0.beta4

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: 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.