overmind 0.1.0-x86-linux → 0.1.1-x86-linux

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: 404a324a999d9e6d681ddeb8a6619b98fc3cc977f180fb9824bfae0aa87c6faa
4
- data.tar.gz: 6bfe3fe3fd87c65577267d66ed21f77d7cedfcf8b730baaf8582db328743d1bd
3
+ metadata.gz: d053bf9fced0c974a772e685208afa2c2e6cc52fc3ead1103642337fd5d3a0c1
4
+ data.tar.gz: c333ef03245a4482b367304c4ce4408b0b22c5187292c5bdc213a2f52ff1e7d6
5
5
  SHA512:
6
- metadata.gz: 00bb737680cf7ba5dc20372f1febc683d039f9c57f3e05c0f55fd6579fadf400cea7aa1e92e8dbcb4400795ff25e9aa046f806a1d2cfe63f72a2e2b7bf67aa2b
7
- data.tar.gz: 7ff45fc70cdb484adfb7eb3aa5fbc104d3324749b909b544a6ce1dfa4b5eb7f88ab84b7df8474b731427ad850191e363e1ef32caea8d9917b12c365578d9aaa8
6
+ metadata.gz: 294d9c6244f23b15470cd38886377844e4bd5d62bb53c07b77780c90dcbaf9f2ce276a49d197b3c3c5db2165ad96dba6b269a3689207e146735a485982c9908c
7
+ data.tar.gz: aa56cb47daed252cb7c3eea3aea493738006c9c58fcc29f91ff67c39f507dd9cfc5aae6cc3a8410c472f268d79ee1dff835e1c8a583da29d4eeab7c140c2e9f5
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Overmind
4
- VERSION = "0.1.0"
4
+ VERSION = "0.1.1"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: overmind
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.1.1
5
5
  platform: x86-linux
6
6
  authors:
7
7
  - prog-supdex
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2024-03-07 00:00:00.000000000 Z
11
+ date: 2024-03-11 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -63,7 +63,6 @@ files:
63
63
  - LICENSE.txt
64
64
  - bin/overmind
65
65
  - lib/overmind.rb
66
- - lib/overmind/cli.rb
67
66
  - lib/overmind/version.rb
68
67
  - libexec/overmind
69
68
  - libexec/prebuilt-tmux/bin/tmux
data/lib/overmind/cli.rb DELETED
@@ -1,93 +0,0 @@
1
- # frozen_string_literal: true
2
-
3
- module Overmind
4
- # Command-line interface for running golang library Overmind
5
- # It ensures that the necessary dependencies, such as tmux, are present
6
- # and runs Overmind with any provided arguments.
7
- class CLI
8
- SUPPORTED_OS_REGEX = /darwin|linux|bsd/i
9
- # Path to the library's executable files
10
- LIBRARY_PATH = File.expand_path("#{File.dirname(__FILE__)}/../../libexec")
11
- OVERMIND_PATH = "#{LIBRARY_PATH}/overmind"
12
- TMUX_FOLDER_PATH = "#{LIBRARY_PATH}/prebuilt-tmux/bin"
13
- TMUX_PATH = "#{TMUX_FOLDER_PATH}/tmux"
14
-
15
- def run(args = [])
16
- os_validate!
17
- validate_tmux_present!
18
- validate_overmind_present!
19
-
20
- # Ensures arguments are properly quoted if they contain spaces
21
- args = args.map { |x| x.include?(" ") ? "'#{x}'" : x }
22
-
23
- # Use prebuild tmux if found
24
- path_with_tmux = File.exist?(TMUX_PATH) ? "#{ENV["PATH"]}:#{TMUX_FOLDER_PATH}" : ENV["PATH"]
25
-
26
- # Spawns the Overmind process with modified PATH if necessary
27
- pid = spawn({"PATH" => path_with_tmux}, "#{OVERMIND_PATH} #{args.join(" ")}")
28
-
29
- Process.wait(pid)
30
-
31
- $?.exitstatus
32
- end
33
-
34
- private
35
-
36
- # Checks if the current OS is supported based on a regex match
37
- def os_supported?
38
- RUBY_PLATFORM.match?(SUPPORTED_OS_REGEX)
39
- end
40
-
41
- # Checks if tmux is installed either globally or as a prebuilt binary
42
- def tmux_installed?
43
- system("which tmux") || File.exist?(TMUX_PATH)
44
- end
45
-
46
- # Checks if the Overmind executable is present
47
- def overmind_installed?
48
- File.exist?(OVERMIND_PATH)
49
- end
50
-
51
- # Validates the operating system and aborts with an error message if unsupported
52
- def os_validate!
53
- return if os_supported?
54
-
55
- abort_with_message("Error: This gem supports Linux, *BSD, and macOS only.")
56
- end
57
-
58
- # Validates the presence of tmux and aborts with an error message if not found
59
- def validate_tmux_present!
60
- return if tmux_installed?
61
-
62
- abort_with_message(<<~MSG)
63
- Error: tmux not found. Please ensure tmux is installed and available in PATH.
64
- If tmux is not installed, you can usually install it using your package manager. For example:
65
-
66
- # For Ubuntu/Debian
67
- sudo apt-get install tmux
68
- #{" "}
69
- # For macOS
70
- brew install tmux
71
- #{" "}
72
- # For FreeBSD
73
- sudo pkg install tmux
74
-
75
- Installation commands might vary based on your operating system and its version.#{" "}
76
- Please consult your system's package management documentation for the most accurate instructions.
77
- MSG
78
- end
79
-
80
- # Validates the presence of Overmind and aborts with an error message if not found
81
- def validate_overmind_present!
82
- return if overmind_installed?
83
-
84
- abort_with_message("Error: Invalid platform. Overmind wasn't built for #{RUBY_PLATFORM}")
85
- end
86
-
87
- # Aborts execution with a given error message
88
- def abort_with_message(message)
89
- warn "\e[31m#{message}\e[0m"
90
- exit 1
91
- end
92
- end
93
- end