process-path 0.1.0 → 0.1.1
Sign up to get free protection for your applications and to get access to all the features.
- 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
|
+
[![Gem Version](https://badge.fury.io/rb/process-path.svg)](https://badge.fury.io/rb/process-path)
|
4
|
+
![Ruby](https://github.com/yagihiro/process-path/workflows/Ruby/badge.svg)
|
5
|
+
[![Maintainability](https://api.codeclimate.com/v1/badges/39b1c2e07668d7354cdb/maintainability)](https://codeclimate.com/github/yagihiro/process-path/maintainability)
|
6
|
+
[![Test Coverage](https://api.codeclimate.com/v1/badges/39b1c2e07668d7354cdb/test_coverage)](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
|