tagrity 0.3.1 → 0.3.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 13500a07d1e3b5d4252c672f4f834ce6fa1c4469b3a85c6c25aea178c63aa711
4
- data.tar.gz: 3872291c8b4bd1fca09bafc0f66f813f197dbc02ae13a0b381496a0f1e1eccda
3
+ metadata.gz: f336a964ceb069f321079515fd53727a559cba27bd4847dfb4365ac36801d5e6
4
+ data.tar.gz: 5b7933793a67a70b24f0dff75a364995250fae7cf7ff370439b302431d356d6a
5
5
  SHA512:
6
- metadata.gz: 3656fff98985bb4a27b8194f6318461be7ff4ca6ad4b840b658e5d1de9cddc69b3e329018d8dcdc97bdd018654f77d15c942c80d257aa88c38b13c871563a61b
7
- data.tar.gz: f804edab3d0b1ef85af2f0debf2cdce7a5c07314366d0b595cac4b7fb8a0dfb59fa81198b618ee76a63b6dc1d6cd54e8468706996c1fcdf0cc61867312b80b62
6
+ metadata.gz: 61165ba9fd0cca34745880a57a6c0bbcb2238cff025f4ccf49f4ca1d50744ff755d96d94ed98e31deafe35d7aae9cf5994385d150ba6ed0fd03b720d0910e395
7
+ data.tar.gz: c6eab58ef68547cb2aab02679c4e3f8fa070a39c9997c0ff3cef8e5a20bdb04ee391d611f4733a6bec47f9a2cbd5649a97443ee1fed0eeb2f95d46ee0aece2d9
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- tagrity (0.3.0)
4
+ tagrity (0.3.6)
5
5
  cli-ui (~> 1.3.0)
6
6
  listen (~> 3.2.1)
7
7
  pry (~> 0.9.9)
data/TODO.md CHANGED
@@ -1,8 +1,6 @@
1
1
  # TODO
2
2
 
3
3
  * Better error handling
4
- * Delete old tags before doing --append (similar to ripper-tags funtionality, but do it for all ctags-alikes)
5
4
  * Restart process which were terminated due to a system shutdown
6
5
  * Will have to add `tagrity stop <pid>` instead of forcing users to use `kill <pid>`
7
- * Watch local and global config for changes and reload automatically
8
- * Better --fresh for git repos
6
+ * Document new changes for revive and stop
@@ -3,6 +3,7 @@ require 'tagrity/commands/start'
3
3
  require 'tagrity/commands/stop'
4
4
  require 'tagrity/commands/status'
5
5
  require 'tagrity/commands/logs'
6
+ require 'tagrity/commands/revive'
6
7
  require 'tagrity/version'
7
8
 
8
9
  module Tagrity
@@ -20,8 +21,9 @@ module Tagrity
20
21
  end
21
22
 
22
23
  desc "stop", "Stop watching pwd"
24
+ option :dir, type: :string, default: Dir.pwd, desc: "directory to stop watching."
23
25
  def stop()
24
- Command::Stop::call
26
+ Command::Stop::call(options['dir'])
25
27
  end
26
28
 
27
29
  desc "status", "List running tagrity processes and the directories being watched"
@@ -35,5 +37,10 @@ module Tagrity
35
37
  def logs
36
38
  Command::Logs::call(options['n'], options['debug'])
37
39
  end
40
+
41
+ desc "revive", "Restart any tagrity processes that died"
42
+ def revive
43
+ Command::Revive::call
44
+ end
38
45
  end
39
46
  end
@@ -0,0 +1,11 @@
1
+ module Tagrity
2
+ module Command
3
+ class Revive
4
+ class << self
5
+ def call
6
+ PidFile.revive_dead_pids
7
+ end
8
+ end
9
+ end
10
+ end
11
+ end
@@ -6,16 +6,16 @@ module Tagrity
6
6
  module Command
7
7
  class Stop
8
8
  class << self
9
- def call
10
- dir = Dir.pwd
9
+ def call(dir)
11
10
  pid_files = PidFile.alive_pid_files(dir: dir)
12
11
  if pid_files.empty?
13
12
  puts ::CLI::UI.fmt "{{red:#{"😕 tagrity doesn't seem to be watching #{dir}"}}}"
14
13
  else
15
14
  pid_files.each do |pid_file|
16
15
  pid_file.delete
17
- puts ::CLI::UI.fmt "{{green:#{"Successfully killed #{pid_file.pid}"}}}"
18
- logger.info("Successfully killed #{pid_file.pid}")
16
+ msg = "Successfully killed #{pid_file.pid} for dir #{dir}"
17
+ puts ::CLI::UI.fmt "{{green:#{msg}}}"
18
+ logger.info(msg)
19
19
  end
20
20
  end
21
21
  end
@@ -36,6 +36,20 @@ module Tagrity
36
36
  end
37
37
  end
38
38
 
39
+ def revive_dead_pids
40
+ Dir.glob("#{Helper.run_dir}/*").reduce([]) do |pid_files, path|
41
+ pid = pid_from_path(path)
42
+ dir = File.read(path)
43
+
44
+ if not Helper.alive?(pid)
45
+ File.delete(path)
46
+ Dir.chdir(File.realdirpath(dir)) do
47
+ Process.spawn('tagrity start')
48
+ end
49
+ end
50
+ end
51
+ end
52
+
39
53
  private
40
54
 
41
55
  def same_dirs?(dir1, dir2)
@@ -52,7 +52,7 @@ module Tagrity
52
52
  if $?.exitstatus == 0
53
53
  @logger.info("{#{cmd}} generated tags for #{fnames} into #{tagf}")
54
54
  else
55
- @logger.info("{#{cmd}} failed (#{$?.exitstatus}) to generate tags for #{fnames} into #{tagf}")
55
+ @logger.error("{#{cmd}} failed (#{$?.exitstatus}) to generate tags for #{fnames} into #{tagf}")
56
56
  end
57
57
  end
58
58
  end
@@ -1,3 +1,3 @@
1
1
  module Tagrity
2
- VERSION = "0.3.1"
2
+ VERSION = "0.3.6"
3
3
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: tagrity
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.3.1
4
+ version: 0.3.6
5
5
  platform: ruby
6
6
  authors:
7
7
  - Adam P. Regasz-Rethy
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2020-08-28 00:00:00.000000000 Z
11
+ date: 2020-08-29 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: thor
@@ -148,6 +148,7 @@ files:
148
148
  - lib/tagrity.rb
149
149
  - lib/tagrity/cli.rb
150
150
  - lib/tagrity/commands/logs.rb
151
+ - lib/tagrity/commands/revive.rb
151
152
  - lib/tagrity/commands/start.rb
152
153
  - lib/tagrity/commands/status.rb
153
154
  - lib/tagrity/commands/stop.rb