process-path 0.1.0 → 0.1.1
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 +4 -4
- data/.github/FUNDING.yml +12 -0
- data/.github/workflows/ruby.yml +41 -0
- data/Gemfile.lock +1 -1
- data/README.md +5 -0
- data/lib/process/path.rb +2 -22
- data/lib/process/path/linux.rb +13 -0
- data/lib/process/path/osx.rb +21 -0
- data/lib/process/path/version.rb +1 -1
- metadata +5 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 3ea8831fb4f10f35b0fa04184b69735be2daee543543bd59ff01304fb6fb3b44
|
4
|
+
data.tar.gz: d3b0a919b430ca380e38e831e45c3aca84e98321cb43cd3c35edb1d0c4688af4
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: b9ef090fd8e00a38a6cb3973824383440a3d8bd7c38634b58eaec68a6e15b067bfa03b3efa0deeba641059c48e99927317be9081318ea3b0ae6a88bcc66abc26
|
7
|
+
data.tar.gz: dff3da68725d71d10c0954347782227abe29f7f8cbdd58debf4dd1766293624c43ab4b63035639a0aec3b91ca76a265aa3a6589b5ad5fc47e8cb1ca0f61cedca
|
data/.github/FUNDING.yml
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
# These are supported funding model platforms
|
2
|
+
|
3
|
+
github: # Replace with up to 4 GitHub Sponsors-enabled usernames e.g., [user1, user2]
|
4
|
+
patreon: yagihiro
|
5
|
+
open_collective: # Replace with a single Open Collective username
|
6
|
+
ko_fi: # Replace with a single Ko-fi username
|
7
|
+
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
|
8
|
+
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
|
9
|
+
liberapay: # Replace with a single Liberapay username
|
10
|
+
issuehunt: # Replace with a single IssueHunt username
|
11
|
+
otechie: # Replace with a single Otechie username
|
12
|
+
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
|
@@ -0,0 +1,41 @@
|
|
1
|
+
# This workflow uses actions that are not certified by GitHub.
|
2
|
+
# They are provided by a third-party and are governed by
|
3
|
+
# separate terms of service, privacy policy, and support
|
4
|
+
# documentation.
|
5
|
+
# This workflow will download a prebuilt Ruby version, install dependencies and run tests with Rake
|
6
|
+
# For more information see: https://github.com/marketplace/actions/setup-ruby-jruby-and-truffleruby
|
7
|
+
|
8
|
+
name: Ruby
|
9
|
+
|
10
|
+
on:
|
11
|
+
push:
|
12
|
+
branches: [ master ]
|
13
|
+
pull_request:
|
14
|
+
branches: [ master ]
|
15
|
+
|
16
|
+
jobs:
|
17
|
+
test:
|
18
|
+
strategy:
|
19
|
+
fail-fast: false
|
20
|
+
matrix:
|
21
|
+
os: [ubuntu, macos]
|
22
|
+
ruby: [2.6, 2.7]
|
23
|
+
runs-on: ${{ matrix.os }}-latest
|
24
|
+
steps:
|
25
|
+
- uses: actions/checkout@v2
|
26
|
+
- uses: ruby/setup-ruby@v1
|
27
|
+
with:
|
28
|
+
ruby-version: ${{ matrix.ruby }}
|
29
|
+
- name: Setup Code Climate test-reporter
|
30
|
+
if: ${{ matrix.os == 'ubuntu' && matrix.ruby == '2.6' }}
|
31
|
+
run: |
|
32
|
+
curl -L https://codeclimate.com/downloads/test-reporter/test-reporter-latest-linux-amd64 > ./cc-test-reporter
|
33
|
+
chmod +x ./cc-test-reporter
|
34
|
+
./cc-test-reporter before-build
|
35
|
+
- run: bundle install --jobs 4 --retry 3
|
36
|
+
- run: bundle exec rake
|
37
|
+
- name: Publish code coverage
|
38
|
+
if: ${{ matrix.os == 'ubuntu' && matrix.ruby == '2.6' }}
|
39
|
+
run: |
|
40
|
+
export GIT_BRANCH="${GITHUB_REF/refs\/heads\//}"
|
41
|
+
./cc-test-reporter after-build -r ${{secrets.CC_TEST_REPORTER_ID}}
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -1,5 +1,10 @@
|
|
1
1
|
# Process::Path
|
2
2
|
|
3
|
+
[](https://badge.fury.io/rb/process-path)
|
4
|
+

|
5
|
+
[](https://codeclimate.com/github/yagihiro/process-path/maintainability)
|
6
|
+
[](https://codeclimate.com/github/yagihiro/process-path/test_coverage)
|
7
|
+
|
3
8
|
Process::Path is a small library to get the path of the currently running process.
|
4
9
|
|
5
10
|
## Installation
|
data/lib/process/path.rb
CHANGED
@@ -7,35 +7,15 @@ require_relative 'path/version'
|
|
7
7
|
module Process
|
8
8
|
# Process::Path module
|
9
9
|
module Path
|
10
|
-
# @!visibility private
|
11
|
-
# Process::Path::OSXImpl module
|
12
|
-
module OSXImpl
|
13
|
-
extend Fiddle::Importer
|
14
|
-
dlload 'libSystem.B.dylib'
|
15
|
-
extern 'int proc_pidpath(int, void *, unsigned int)'
|
16
|
-
|
17
|
-
def self.path
|
18
|
-
s = ' ' * 4096
|
19
|
-
proc_pidpath(Process.pid, s, 4096)
|
20
|
-
s.unpack1('Z*')
|
21
|
-
end
|
22
|
-
end
|
23
|
-
|
24
|
-
# @!visibility private
|
25
|
-
# Process::Path::LinuxImpl module
|
26
|
-
module LinuxImpl
|
27
|
-
def self.path
|
28
|
-
`readlink -f /proc/#{Process.pid}/exe`
|
29
|
-
end
|
30
|
-
end
|
31
|
-
|
32
10
|
# Returns the path to the current ruby running as a string.
|
33
11
|
# @return [String] The path to the current ruby running as a string.
|
34
12
|
# @note Currently only osx and linux are supported.
|
35
13
|
def self.path
|
36
14
|
if Process::Path::OS.mac?
|
15
|
+
require_relative 'path/osx'
|
37
16
|
Process::Path::OSXImpl.path
|
38
17
|
elsif Process::Path::OS.linux?
|
18
|
+
require_relative 'path/linux'
|
39
19
|
Process::Path::LinuxImpl.path
|
40
20
|
else
|
41
21
|
raise 'Not implemented'
|
@@ -0,0 +1,21 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
require 'fiddle/import'
|
4
|
+
|
5
|
+
module Process
|
6
|
+
module Path
|
7
|
+
# @!visibility private
|
8
|
+
# Process::Path::OSXImpl module
|
9
|
+
module OSXImpl
|
10
|
+
extend Fiddle::Importer
|
11
|
+
dlload 'libSystem.B.dylib'
|
12
|
+
extern 'int proc_pidpath(int, void *, unsigned int)'
|
13
|
+
|
14
|
+
def self.path
|
15
|
+
s = ' ' * 4096
|
16
|
+
proc_pidpath(Process.pid, s, 4096)
|
17
|
+
s.unpack1('Z*')
|
18
|
+
end
|
19
|
+
end
|
20
|
+
end
|
21
|
+
end
|
data/lib/process/path/version.rb
CHANGED
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: process-path
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Hiroki Yagita
|
@@ -18,6 +18,8 @@ executables: []
|
|
18
18
|
extensions: []
|
19
19
|
extra_rdoc_files: []
|
20
20
|
files:
|
21
|
+
- ".github/FUNDING.yml"
|
22
|
+
- ".github/workflows/ruby.yml"
|
21
23
|
- ".gitignore"
|
22
24
|
- ".rspec"
|
23
25
|
- ".rubocop.yml"
|
@@ -33,7 +35,9 @@ files:
|
|
33
35
|
- bin/console
|
34
36
|
- bin/setup
|
35
37
|
- lib/process/path.rb
|
38
|
+
- lib/process/path/linux.rb
|
36
39
|
- lib/process/path/os.rb
|
40
|
+
- lib/process/path/osx.rb
|
37
41
|
- lib/process/path/version.rb
|
38
42
|
- process-path.gemspec
|
39
43
|
homepage: https://github.com/yagihiro/process-path
|