getargv 0.2.0-universal-darwin → 0.3.0-universal-darwin
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile +0 -13
- data/Gemfile.lock +6 -4
- data/README.md +4 -3
- data/checksums/getargv-0.2.0-universal-darwin.gem.sha512 +1 -0
- data/ext/getargv_ruby/getargv_ruby.c +46 -39
- data/ext/getargv_ruby/getargv_ruby.h +1 -1
- data/getargv_ruby.gemspec +24 -9
- data/lib/getargv_ruby/version.rb +1 -1
- data/sig/getargv_ruby.rbs +5 -1
- metadata +119 -12
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 2322eb1493c8417628f9bbad0992e5cf3e832a34288f696f3e0bdc3e89f013e9
|
4
|
+
data.tar.gz: 2cd45cb20c6f866e02870e5d2a31e5f47f66eb661a48943b304d2972d44d86bc
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 9c25871ce6640727c3a65fc4ee1b4169cccf78561f663d4e8f89a119d5458e9e517fd400acbf8b82390c6820d1cd7b157be85f2ffe61a2802ea6faae38b6a62d
|
7
|
+
data.tar.gz: d569a6f6d9445c6b1612f9040b78c4e67d84bec93478f118cbf86897882693332b1ff11160c526a0ed2efd78218e7c1bdefc2eb00dafc49295bd241e71ada5a3
|
data/Gemfile
CHANGED
@@ -4,16 +4,3 @@ source "https://rubygems.org"
|
|
4
4
|
|
5
5
|
# Specify your gem's dependencies in getargv_ruby.gemspec
|
6
6
|
gemspec
|
7
|
-
|
8
|
-
gem "rake", "~> 13.0"
|
9
|
-
|
10
|
-
gem "rake-compiler"
|
11
|
-
|
12
|
-
gem "minitest", "~> 5.0"
|
13
|
-
|
14
|
-
gem "standard", "~> 1.3"
|
15
|
-
|
16
|
-
group :development do
|
17
|
-
gem "solargraph"
|
18
|
-
gem "sdoc"
|
19
|
-
end
|
data/Gemfile.lock
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
PATH
|
2
2
|
remote: .
|
3
3
|
specs:
|
4
|
-
getargv (0.
|
4
|
+
getargv (0.3.0-universal-darwin)
|
5
5
|
|
6
6
|
GEM
|
7
7
|
remote: https://rubygems.org/
|
@@ -19,9 +19,9 @@ GEM
|
|
19
19
|
kramdown (~> 2.0)
|
20
20
|
language_server-protocol (3.17.0.2)
|
21
21
|
minitest (5.17.0)
|
22
|
-
nokogiri (1.
|
22
|
+
nokogiri (1.14.0-arm64-darwin)
|
23
23
|
racc (~> 1.4)
|
24
|
-
nokogiri (1.
|
24
|
+
nokogiri (1.14.0-x86_64-darwin)
|
25
25
|
racc (~> 1.4)
|
26
26
|
parallel (1.22.1)
|
27
27
|
parser (3.2.0.0)
|
@@ -33,6 +33,7 @@ GEM
|
|
33
33
|
rake (13.0.6)
|
34
34
|
rake-compiler (1.2.1)
|
35
35
|
rake
|
36
|
+
rbs (2.8.3)
|
36
37
|
rdoc (6.5.0)
|
37
38
|
psych (>= 4.0.0)
|
38
39
|
regexp_parser (2.6.1)
|
@@ -55,7 +56,7 @@ GEM
|
|
55
56
|
rubocop (>= 1.7.0, < 2.0)
|
56
57
|
rubocop-ast (>= 0.4.0)
|
57
58
|
ruby-progressbar (1.11.0)
|
58
|
-
sdoc (2.
|
59
|
+
sdoc (2.6.0)
|
59
60
|
rdoc (>= 5.0)
|
60
61
|
solargraph (0.48.0)
|
61
62
|
backport (~> 1.2)
|
@@ -99,6 +100,7 @@ DEPENDENCIES
|
|
99
100
|
minitest (~> 5.0)
|
100
101
|
rake (~> 13.0)
|
101
102
|
rake-compiler
|
103
|
+
rbs
|
102
104
|
sdoc
|
103
105
|
solargraph
|
104
106
|
standard (~> 1.3)
|
data/README.md
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
<h1><img src="logo.svg" width="200" alt="getargv"></h1>
|
2
2
|
|
3
3
|
[![Ruby](https://github.com/getargv/getargv_ruby/actions/workflows/main.yml/badge.svg)](https://github.com/getargv/getargv_ruby/actions/workflows/main.yml)
|
4
|
+
[![Gem Version](https://badge.fury.io/rb/getargv.svg)](https://badge.fury.io/rb/getargv)
|
4
5
|
|
5
6
|
This gem allows you to query the arguments of other processes on macOS.
|
6
7
|
|
@@ -23,11 +24,11 @@ Getargv.get_argv_of_pid_as_array(some_process_id) #=> ["arg0","arg1"]
|
|
23
24
|
|
24
25
|
## Development
|
25
26
|
|
26
|
-
In this directory, you'll find the files you need to be able to package up your Ruby library into a gem. Put your Ruby code in the file `lib/getargv_ruby`. To experiment with that code, run `bin/console` for an interactive prompt.
|
27
|
-
|
28
27
|
After checking out the repo, run `bin/setup` to install dependencies. Then, run `rake test` to run the tests. You can also run `bin/console` for an interactive prompt that will allow you to experiment.
|
29
28
|
|
30
|
-
|
29
|
+
Ruby code goes in the dir `lib/getargv_ruby`, C code goes in the dir `ext/getargv_ruby`. To experiment with that code, run `bin/console` for an interactive prompt.
|
30
|
+
|
31
|
+
To install this gem onto your local machine, run `bundle exec rake install`. To release a new version, update the version number in `version.rb`, and then run `bundle exec rake release[origin]`, which will create a git tag for the version, push git commits and the created tag, and push the `.gem` file to [rubygems.org](https://rubygems.org).
|
31
32
|
|
32
33
|
## Contributing
|
33
34
|
|
@@ -0,0 +1 @@
|
|
1
|
+
d7dcae33d1dfb95fd4d27f42ee8b6cadafc4f33ccd3d4e35141e7f76f8c5e93bf9aa4180221646f39b802ab23ed4e979aeb6b23b67ca9e0be6813568de828838
|
@@ -1,41 +1,44 @@
|
|
1
1
|
#include "getargv_ruby.h"
|
2
2
|
|
3
|
+
// https://ruby-doc.org/3.2.0/extension_rdoc.html
|
4
|
+
|
3
5
|
VALUE rb_mGetargv;
|
4
6
|
|
5
7
|
/*
|
6
|
-
*
|
7
|
-
* Getargv.get_argv_of_pid(pid) -> String
|
8
|
-
* Getargv.get_argv_of_pid_as_string(pid) -> String
|
9
|
-
* Getargv.get_argv_of_pid(pid, nuls) -> String
|
10
|
-
* Getargv.get_argv_of_pid_as_string(pid, nuls) -> String
|
11
|
-
* Getargv.get_argv_of_pid(pid, nuls, skip) -> String
|
12
|
-
* Getargv.get_argv_of_pid_as_string(pid, nuls, skip) -> String
|
8
|
+
* call-seq:
|
9
|
+
* Getargv.get_argv_of_pid(pid, enc) -> String
|
10
|
+
* Getargv.get_argv_of_pid_as_string(pid, enc) -> String
|
11
|
+
* Getargv.get_argv_of_pid(pid, enc, nuls) -> String
|
12
|
+
* Getargv.get_argv_of_pid_as_string(pid, enc, nuls) -> String
|
13
|
+
* Getargv.get_argv_of_pid(pid, enc, nuls, skip) -> String
|
14
|
+
* Getargv.get_argv_of_pid_as_string(pid, enc, nuls, skip) -> String
|
13
15
|
*
|
14
|
-
*
|
15
|
-
*
|
16
|
-
*
|
17
|
-
*
|
16
|
+
* Returns the arguments for the given process id as a string with the
|
17
|
+
* specified encoding. If the third arg is +true+: replace +nul+ separators with
|
18
|
+
* +space+ for human consumption. If the fourth arg is provided, skip ahead the
|
19
|
+
* returned string by the given number of leading arguments.
|
18
20
|
*
|
19
|
-
*
|
21
|
+
* Getargv::get_argv_of_pid_as_string is an alias for Getargv::get_argv_of_pid.
|
20
22
|
*
|
21
|
-
*
|
23
|
+
* === Examples:
|
22
24
|
*
|
23
|
-
* Getargv.get_argv_of_pid(Process.pid) #=> "ruby\x00-e..."
|
24
|
-
* Getargv.get_argv_of_pid(Process.pid
|
25
|
-
* Getargv.get_argv_of_pid(Process.pid
|
25
|
+
* Getargv.get_argv_of_pid(Process.pid, Encoding.default_external) #=> "ruby\x00-e..."
|
26
|
+
* Getargv.get_argv_of_pid(Process.pid, Encoding.default_external, true) #=> "ruby -e..."
|
27
|
+
* Getargv.get_argv_of_pid(Process.pid, Encoding.default_external, false, 1) #=> "-e..."
|
26
28
|
*/
|
27
29
|
static VALUE ruby_get_argv_of_pid(int argc, VALUE *argv, VALUE self) {
|
28
|
-
rb_check_arity(argc,
|
30
|
+
rb_check_arity(argc, 2, 4);
|
29
31
|
Check_Type(argv[0], T_FIXNUM);
|
30
32
|
rb_pid_t pid = NUM2PIDT(argv[0]);
|
31
33
|
bool nuls = false;
|
32
34
|
uint skip = 0;
|
35
|
+
rb_encoding *encoding = rb_to_encoding(argv[1]);
|
33
36
|
|
34
|
-
if (argc >
|
35
|
-
nuls = RB_TEST(argv[
|
36
|
-
if (argc >
|
37
|
-
Check_Type(argv[
|
38
|
-
skip = NUM2UINT(argv[
|
37
|
+
if (argc > 2)
|
38
|
+
nuls = RB_TEST(argv[2]);
|
39
|
+
if (argc > 3 && !NIL_P(argv[3])) {
|
40
|
+
Check_Type(argv[3], T_FIXNUM);
|
41
|
+
skip = NUM2UINT(argv[3]);
|
39
42
|
}
|
40
43
|
|
41
44
|
struct GetArgvOptions options = {.pid = pid, .skip = skip, .nuls = nuls};
|
@@ -45,30 +48,33 @@ static VALUE ruby_get_argv_of_pid(int argc, VALUE *argv, VALUE self) {
|
|
45
48
|
}
|
46
49
|
|
47
50
|
// assemble result ruby string, this copies :(
|
48
|
-
VALUE retVal =
|
49
|
-
|
50
|
-
|
51
|
+
VALUE retVal =
|
52
|
+
rb_enc_str_new(result.start_pointer,
|
53
|
+
1 + result.end_pointer - result.start_pointer, encoding);
|
54
|
+
free_ArgvResult(&result); // ruby copied data, can free buffer now
|
51
55
|
|
52
56
|
return retVal;
|
53
57
|
}
|
54
58
|
|
55
59
|
/*
|
56
|
-
*
|
57
|
-
* Getargv.get_argv_and_argc_of_pid(pid)
|
58
|
-
* Getargv.get_argv_of_pid_as_array(pid)
|
60
|
+
* call-seq:
|
61
|
+
* Getargv.get_argv_and_argc_of_pid(pid, enc) -> [String]
|
62
|
+
* Getargv.get_argv_of_pid_as_array(pid, enc) -> [String]
|
59
63
|
*
|
60
|
-
*
|
64
|
+
* Returns the arguments for the given process id as an array of strings with the specified encoding.
|
61
65
|
*
|
62
|
-
*
|
66
|
+
* Getargv::get_argv_of_pid_as_array is an alias for Getargv::get_argv_and_argc_of_pid.
|
63
67
|
*
|
64
|
-
*
|
68
|
+
* === Examples:
|
65
69
|
*
|
66
|
-
* Getargv.get_argv_and_argc_of_pid(Process.pid)
|
70
|
+
* Getargv.get_argv_and_argc_of_pid(Process.pid, Encoding.default_external) #=> ["ruby,"-e",...]
|
67
71
|
*/
|
68
|
-
static VALUE ruby_get_argv_and_argc_of_pid(VALUE self, VALUE rPid) {
|
72
|
+
static VALUE ruby_get_argv_and_argc_of_pid(VALUE self, VALUE rPid, VALUE enc) {
|
69
73
|
Check_Type(rPid, T_FIXNUM);
|
70
74
|
rb_pid_t pid = NUM2PIDT(rPid);
|
71
75
|
|
76
|
+
rb_encoding *encoding = rb_to_encoding(enc);
|
77
|
+
|
72
78
|
struct ArgvArgcResult result;
|
73
79
|
if (!get_argv_and_argc_of_pid(pid, &result)) {
|
74
80
|
rb_sys_fail(0); // uses errno
|
@@ -77,11 +83,10 @@ static VALUE ruby_get_argv_and_argc_of_pid(VALUE self, VALUE rPid) {
|
|
77
83
|
VALUE ary = rb_ary_new_capa(result.argc);
|
78
84
|
for (size_t i = 0; i < result.argc; i++) {
|
79
85
|
// assemble result ruby string, this copies :(
|
80
|
-
rb_ary_push(ary,
|
86
|
+
rb_ary_push(ary, rb_enc_str_new_cstr(result.argv[i], encoding));
|
81
87
|
}
|
82
88
|
// ruby copied data, can free buffers now
|
83
|
-
|
84
|
-
free(result.buffer);
|
89
|
+
free_ArgvArgcResult(&result);
|
85
90
|
|
86
91
|
return ary;
|
87
92
|
}
|
@@ -90,10 +95,12 @@ void Init_getargv_ruby(void) {
|
|
90
95
|
rb_mGetargv = rb_define_module("Getargv");
|
91
96
|
|
92
97
|
rb_define_module_function(rb_mGetargv, "get_argv_of_pid", ruby_get_argv_of_pid, -1);
|
98
|
+
|
93
99
|
// Getargv::get_argv_of_pid_as_string is an alias for Getargv::get_argv_of_pid.
|
94
|
-
rb_define_alias(rb_singleton_class(rb_mGetargv),
|
100
|
+
rb_define_alias(rb_singleton_class(rb_mGetargv), "get_argv_of_pid_as_string", "get_argv_of_pid");
|
101
|
+
|
102
|
+
rb_define_module_function(rb_mGetargv, "get_argv_and_argc_of_pid", ruby_get_argv_and_argc_of_pid, 2);
|
95
103
|
|
96
|
-
rb_define_module_function(rb_mGetargv, "get_argv_and_argc_of_pid", ruby_get_argv_and_argc_of_pid, 1);
|
97
104
|
// Getargv::get_argv_of_pid_as_array is an alias for Getargv::get_argv_and_argc_of_pid.
|
98
|
-
rb_define_alias(rb_singleton_class(rb_mGetargv),
|
105
|
+
rb_define_alias(rb_singleton_class(rb_mGetargv), "get_argv_of_pid_as_array", "get_argv_and_argc_of_pid");
|
99
106
|
}
|
data/getargv_ruby.gemspec
CHANGED
@@ -12,15 +12,21 @@ Gem::Specification.new do |spec|
|
|
12
12
|
|
13
13
|
spec.summary = "This gem allows you to query the arguments of other processes on macOS."
|
14
14
|
spec.description = <<-EOF
|
15
|
-
Getargv is a gem that allows you to query the arguments of other processes as
|
16
|
-
|
17
|
-
sysctl only exists in xnu kernels, BSD or Linux users should just read
|
18
|
-
|
19
|
-
|
15
|
+
Getargv is a gem that allows you to query the arguments of other processes as an array or string.
|
16
|
+
|
17
|
+
This gem only supports macOS because the KERN_PROCARGS2 sysctl only exists in xnu kernels, BSD or Linux users should just read /proc/$PID/cmdline which is much easier and faster, Solaris users should use pargs.
|
18
|
+
|
19
|
+
This gem requires you have [libgetargv](https://getargv.narzt.cam/) installed.
|
20
|
+
|
21
|
+
To limit the getargv gem to Apple OSs add it to your Gemfile like so:
|
22
|
+
|
23
|
+
gem "getargv", "~> #{Getargv::VERSION}", platforms: :ruby, install_if: RbConfig::CONFIG["host_os"].include?("darwin")
|
20
24
|
EOF
|
21
25
|
spec.homepage = "https://getargv.narzt.cam/"
|
22
26
|
spec.license = "BSD-3-Clause"
|
23
27
|
spec.required_ruby_version = ">= #{ruby_version}.0"
|
28
|
+
spec.requirements << "macOS"
|
29
|
+
spec.requirements << "libgetargv installed"
|
24
30
|
|
25
31
|
spec.metadata["homepage_uri"] = spec.homepage
|
26
32
|
spec.metadata["source_code_uri"] = "https://github.com/getargv/getargv_ruby"
|
@@ -43,11 +49,20 @@ Gem::Specification.new do |spec|
|
|
43
49
|
spec.platform = "universal-darwin"
|
44
50
|
|
45
51
|
spec.extra_rdoc_files = Dir["README.md", "ext/*/*.c", "lib/*/*.rb", "lib/*.rb"]
|
46
|
-
spec.rdoc_options << "
|
47
|
-
spec.rdoc_options << "-T" << "rails"
|
48
|
-
# spec.rdoc_options << "-T" << "direct"
|
49
|
-
# spec.rdoc_options << "-T" << "shtml"
|
52
|
+
spec.rdoc_options << "--output" << "doc"
|
50
53
|
spec.rdoc_options << "--format=sdoc"
|
54
|
+
spec.rdoc_options << "--template=rails"
|
55
|
+
spec.rdoc_options << "--line-numbers"
|
56
|
+
spec.rdoc_options << "--inline-source"
|
57
|
+
spec.rdoc_options << "--exclude=ext/*/extconf.rb"
|
58
|
+
|
59
|
+
spec.add_development_dependency "rake", "~> 13.0"
|
60
|
+
spec.add_development_dependency "rake-compiler"
|
61
|
+
spec.add_development_dependency "minitest", "~> 5.0"
|
62
|
+
spec.add_development_dependency "standard", "~> 1.3"
|
63
|
+
spec.add_development_dependency "solargraph"
|
64
|
+
spec.add_development_dependency "sdoc"
|
65
|
+
spec.add_development_dependency "rbs"
|
51
66
|
|
52
67
|
# Uncomment to register a new dependency of your gem
|
53
68
|
# spec.add_dependency "example-gem", "~> 1.0"
|
data/lib/getargv_ruby/version.rb
CHANGED
data/sig/getargv_ruby.rbs
CHANGED
@@ -1,4 +1,8 @@
|
|
1
|
+
# See the writing guide of rbs: https://github.com/ruby/rbs#guides
|
1
2
|
module Getargv
|
2
3
|
VERSION: String
|
3
|
-
|
4
|
+
public def get_argv_and_argc_of_pid: (Integer pid) -> Array[String]
|
5
|
+
alias get_argv_of_pid_as_array get_argv_and_argc_of_pid
|
6
|
+
public def get_argv_of_pid: (Integer pid, ?boolish nuls, ?Integer skip) -> String
|
7
|
+
alias get_argv_of_pid_as_string get_argv_of_pid
|
4
8
|
end
|
metadata
CHANGED
@@ -1,21 +1,123 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: getargv
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.3.0
|
5
5
|
platform: universal-darwin
|
6
6
|
authors:
|
7
7
|
- Camden Narzt
|
8
8
|
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date: 2023-
|
12
|
-
dependencies:
|
11
|
+
date: 2023-03-08 00:00:00.000000000 Z
|
12
|
+
dependencies:
|
13
|
+
- !ruby/object:Gem::Dependency
|
14
|
+
name: rake
|
15
|
+
requirement: !ruby/object:Gem::Requirement
|
16
|
+
requirements:
|
17
|
+
- - "~>"
|
18
|
+
- !ruby/object:Gem::Version
|
19
|
+
version: '13.0'
|
20
|
+
type: :development
|
21
|
+
prerelease: false
|
22
|
+
version_requirements: !ruby/object:Gem::Requirement
|
23
|
+
requirements:
|
24
|
+
- - "~>"
|
25
|
+
- !ruby/object:Gem::Version
|
26
|
+
version: '13.0'
|
27
|
+
- !ruby/object:Gem::Dependency
|
28
|
+
name: rake-compiler
|
29
|
+
requirement: !ruby/object:Gem::Requirement
|
30
|
+
requirements:
|
31
|
+
- - ">="
|
32
|
+
- !ruby/object:Gem::Version
|
33
|
+
version: '0'
|
34
|
+
type: :development
|
35
|
+
prerelease: false
|
36
|
+
version_requirements: !ruby/object:Gem::Requirement
|
37
|
+
requirements:
|
38
|
+
- - ">="
|
39
|
+
- !ruby/object:Gem::Version
|
40
|
+
version: '0'
|
41
|
+
- !ruby/object:Gem::Dependency
|
42
|
+
name: minitest
|
43
|
+
requirement: !ruby/object:Gem::Requirement
|
44
|
+
requirements:
|
45
|
+
- - "~>"
|
46
|
+
- !ruby/object:Gem::Version
|
47
|
+
version: '5.0'
|
48
|
+
type: :development
|
49
|
+
prerelease: false
|
50
|
+
version_requirements: !ruby/object:Gem::Requirement
|
51
|
+
requirements:
|
52
|
+
- - "~>"
|
53
|
+
- !ruby/object:Gem::Version
|
54
|
+
version: '5.0'
|
55
|
+
- !ruby/object:Gem::Dependency
|
56
|
+
name: standard
|
57
|
+
requirement: !ruby/object:Gem::Requirement
|
58
|
+
requirements:
|
59
|
+
- - "~>"
|
60
|
+
- !ruby/object:Gem::Version
|
61
|
+
version: '1.3'
|
62
|
+
type: :development
|
63
|
+
prerelease: false
|
64
|
+
version_requirements: !ruby/object:Gem::Requirement
|
65
|
+
requirements:
|
66
|
+
- - "~>"
|
67
|
+
- !ruby/object:Gem::Version
|
68
|
+
version: '1.3'
|
69
|
+
- !ruby/object:Gem::Dependency
|
70
|
+
name: solargraph
|
71
|
+
requirement: !ruby/object:Gem::Requirement
|
72
|
+
requirements:
|
73
|
+
- - ">="
|
74
|
+
- !ruby/object:Gem::Version
|
75
|
+
version: '0'
|
76
|
+
type: :development
|
77
|
+
prerelease: false
|
78
|
+
version_requirements: !ruby/object:Gem::Requirement
|
79
|
+
requirements:
|
80
|
+
- - ">="
|
81
|
+
- !ruby/object:Gem::Version
|
82
|
+
version: '0'
|
83
|
+
- !ruby/object:Gem::Dependency
|
84
|
+
name: sdoc
|
85
|
+
requirement: !ruby/object:Gem::Requirement
|
86
|
+
requirements:
|
87
|
+
- - ">="
|
88
|
+
- !ruby/object:Gem::Version
|
89
|
+
version: '0'
|
90
|
+
type: :development
|
91
|
+
prerelease: false
|
92
|
+
version_requirements: !ruby/object:Gem::Requirement
|
93
|
+
requirements:
|
94
|
+
- - ">="
|
95
|
+
- !ruby/object:Gem::Version
|
96
|
+
version: '0'
|
97
|
+
- !ruby/object:Gem::Dependency
|
98
|
+
name: rbs
|
99
|
+
requirement: !ruby/object:Gem::Requirement
|
100
|
+
requirements:
|
101
|
+
- - ">="
|
102
|
+
- !ruby/object:Gem::Version
|
103
|
+
version: '0'
|
104
|
+
type: :development
|
105
|
+
prerelease: false
|
106
|
+
version_requirements: !ruby/object:Gem::Requirement
|
107
|
+
requirements:
|
108
|
+
- - ">="
|
109
|
+
- !ruby/object:Gem::Version
|
110
|
+
version: '0'
|
13
111
|
description: |2
|
14
|
-
Getargv is a gem that allows you to query the arguments of other processes as
|
15
|
-
|
16
|
-
sysctl only exists in xnu kernels, BSD or Linux users should just read
|
17
|
-
|
18
|
-
|
112
|
+
Getargv is a gem that allows you to query the arguments of other processes as an array or string.
|
113
|
+
|
114
|
+
This gem only supports macOS because the KERN_PROCARGS2 sysctl only exists in xnu kernels, BSD or Linux users should just read /proc/$PID/cmdline which is much easier and faster, Solaris users should use pargs.
|
115
|
+
|
116
|
+
This gem requires you have [libgetargv](https://getargv.narzt.cam/) installed.
|
117
|
+
|
118
|
+
To limit the getargv gem to Apple OSs add it to your Gemfile like so:
|
119
|
+
|
120
|
+
gem "getargv", "~> 0.3.0", platforms: :ruby, install_if: RbConfig::CONFIG["host_os"].include?("darwin")
|
19
121
|
email:
|
20
122
|
- getargv@narzt.cam
|
21
123
|
executables: []
|
@@ -35,6 +137,7 @@ files:
|
|
35
137
|
- README.md
|
36
138
|
- Rakefile
|
37
139
|
- checksums/getargv-0.1.0-x86_64-darwin-21.gem.sha512
|
140
|
+
- checksums/getargv-0.2.0-universal-darwin.gem.sha512
|
38
141
|
- ext/getargv_ruby/extconf.rb
|
39
142
|
- ext/getargv_ruby/getargv_ruby.c
|
40
143
|
- ext/getargv_ruby/getargv_ruby.h
|
@@ -55,11 +158,13 @@ metadata:
|
|
55
158
|
documentation_uri: https://rubydoc.info/gems/getargv/Getargv
|
56
159
|
post_install_message:
|
57
160
|
rdoc_options:
|
58
|
-
- "
|
161
|
+
- "--output"
|
59
162
|
- doc
|
60
|
-
- "-T"
|
61
|
-
- rails
|
62
163
|
- "--format=sdoc"
|
164
|
+
- "--template=rails"
|
165
|
+
- "--line-numbers"
|
166
|
+
- "--inline-source"
|
167
|
+
- "--exclude=ext/*/extconf.rb"
|
63
168
|
require_paths:
|
64
169
|
- lib
|
65
170
|
- ext
|
@@ -73,7 +178,9 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
73
178
|
- - ">="
|
74
179
|
- !ruby/object:Gem::Version
|
75
180
|
version: '0'
|
76
|
-
requirements:
|
181
|
+
requirements:
|
182
|
+
- macOS
|
183
|
+
- libgetargv installed
|
77
184
|
rubygems_version: 3.1.6
|
78
185
|
signing_key:
|
79
186
|
specification_version: 4
|