thrifty_file_applier 0.1.2 → 0.1.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
  SHA256:
3
- metadata.gz: a0192a3ecf8330f945f476fcd99adc1a229cf8bfb71765d94542f23a45247c94
4
- data.tar.gz: a88524d1bd10ec15cd6eddfafbc67564b63aee8d06117ec4360609781a55617a
3
+ metadata.gz: 4b1666a3ee44acad92c754263c4f5293f38ad08c8fd886ad23efcc1695e192c9
4
+ data.tar.gz: a07a11186f32bc2e6c53a22dd62275f83f0844bcf41024ffd1a5507415fbed2c
5
5
  SHA512:
6
- metadata.gz: 662f8d8d69d25e733d1ef875911cd2a8162e40001035ad3ce09bbd40a137b925fe69b783d00b6f97ae7aebc68eb504446c05e050bd746d3a4767c372d04a6c17
7
- data.tar.gz: 5de8da2d61e3a2dd39cc537fb9f91b2b1b3054425f63c05d4d671e60f65c908665a7af6ae74bb1e1c52bfa9f36999e6c669a7656cced65876507b0affb3876db
6
+ metadata.gz: 3207fcb861f4a3da5c22612b10bbfd514e916a13fc5191fa6f640f9d12385e8f7d777e6ab550218484a17ce6b94d93474251f1f8b5f2099dd90ddf053e8c7ed9
7
+ data.tar.gz: 3e6d5eed91164714ba3a10b630fa8ae676f53f869738992bfd50b661a161684a51a26663910ba47de5182ac12e5ec8db9c3f805b0fa360e6995c5ecbac243635
data/README.md CHANGED
@@ -33,6 +33,14 @@ FileUtils.rm "source/file"
33
33
  applier.apply # => compile
34
34
  ```
35
35
 
36
+ `applier` also treats multiple source path.
37
+
38
+ ```ruby
39
+ ThriftyFileApplier.applier("tmp/last_application_time", "source1", "source2") do
40
+ puts "compile"
41
+ end
42
+ ```
43
+
36
44
  ## Development
37
45
 
38
46
  After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake spec` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module ThriftyFileApplier
4
- VERSION = "0.1.2"
4
+ VERSION = "0.1.3"
5
5
  end
@@ -13,9 +13,9 @@ module ThriftyFileApplier
13
13
 
14
14
  # Actual applier class.
15
15
  class Applier
16
- def initialize(last_execution_log_path, source_path, &executor)
16
+ def initialize(last_execution_log_path, *source_paths, &executor)
17
17
  @last_execution_log_path = Pathname.new last_execution_log_path
18
- @update_source_path = Pathname.new source_path
18
+ @update_source_paths = source_paths.map { Pathname.new _1 }
19
19
  @executor = executor
20
20
  end
21
21
 
@@ -40,10 +40,16 @@ module ThriftyFileApplier
40
40
  end
41
41
 
42
42
  def last_update_time
43
- if @update_source_path.directory? && @update_source_path.children.size.positive?
43
+ @update_source_paths.map { last_update_time_in _1 }.max
44
+ end
45
+
46
+ def last_update_time_in(path)
47
+ return Time.at 0 unless path.exist?
48
+
49
+ if path.directory? && path.children.size.positive?
44
50
  newest_mtime path
45
51
  else
46
- @update_source_path.mtime
52
+ path.mtime
47
53
  end
48
54
  end
49
55
 
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: thrifty_file_applier
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.2
4
+ version: 0.1.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Yudai Tanaka
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2022-05-30 00:00:00.000000000 Z
11
+ date: 2022-06-02 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description:
14
14
  email: