sys-memory 0.1.0 → 0.1.2
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
- checksums.yaml.gz.sig +0 -0
- data/CHANGES.md +12 -0
- data/MANIFEST.md +14 -0
- data/README.md +10 -8
- data/Rakefile +3 -0
- data/lib/sys/linux/memory.rb +6 -3
- data/lib/sys/version.rb +1 -1
- data/lib/sys/windows/memory.rb +12 -7
- data/spec/sys_memory_spec.rb +3 -1
- data/sys-memory.gemspec +15 -13
- data.tar.gz.sig +0 -0
- metadata +39 -7
- metadata.gz.sig +0 -0
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: a0f9fcf7bd91e41d398ad63d7aa5d62bf34a14a377700cd380696b9ba7fa6a48
|
4
|
+
data.tar.gz: 95deeb86473d5350521df7149a2c5ccc6343d72cbac104e28d72e8cecfe7b850
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 7d461e046325569a7f9c3ddd25a285ed192c28512a777f7e2f3d4e44db4e9eb2768275162b7db8b41af61fdece3e1049f75554362b43e0b85b47a9c3063d3a63
|
7
|
+
data.tar.gz: ec8e318290a6c405240269323f0f3a97a0e1c0a650041006d899f58fd4d0760871df32d02b9634b0288284d8579ef38003d706ae1290675f7a7c556a93f67639
|
checksums.yaml.gz.sig
CHANGED
Binary file
|
data/CHANGES.md
ADDED
@@ -0,0 +1,12 @@
|
|
1
|
+
## 0.1.2 - 9-Apr-2023
|
2
|
+
* Added rubocop and rubocop-rspec as development dependencies.
|
3
|
+
* Minor updates based on rubocop suggestions.
|
4
|
+
* Added metadata.
|
5
|
+
|
6
|
+
## 0.1.1 - 3-Nov-2021
|
7
|
+
* Make activesupport a development dependency, not a regular dependency.
|
8
|
+
Thanks go to deberle for the spot.
|
9
|
+
* Some rubocop updates.
|
10
|
+
|
11
|
+
## 0.1.0 - 16-Aug-2021
|
12
|
+
* Initial release.
|
data/MANIFEST.md
ADDED
@@ -0,0 +1,14 @@
|
|
1
|
+
* CHANGES.md
|
2
|
+
* Gemfile
|
3
|
+
* LICENSE
|
4
|
+
* MANIFEST.md
|
5
|
+
* README.md
|
6
|
+
* Rakefile
|
7
|
+
* sys-memory.gemspec
|
8
|
+
* certs/djberg96_pub.pem
|
9
|
+
* lib/sys-memory.rb
|
10
|
+
* lib/sys/version.rb
|
11
|
+
* lib/sys/linux/memory.rb
|
12
|
+
* lib/sys/osx/memory.rb
|
13
|
+
* lib/sys/windows/memory.rb
|
14
|
+
* spec/sys_memory_spec.rb
|
data/README.md
CHANGED
@@ -1,3 +1,5 @@
|
|
1
|
+
[](https://github.com/djberg96/sys-memory/actions/workflows/ruby.yml)
|
2
|
+
|
1
3
|
## Description
|
2
4
|
A Ruby interface for getting memory information.
|
3
5
|
|
@@ -9,8 +11,11 @@ A Ruby interface for getting memory information.
|
|
9
11
|
## Installation
|
10
12
|
`gem install sys-memory`
|
11
13
|
|
14
|
+
## Adding the trusted cert
|
15
|
+
`gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/sys-memory/main/certs/djberg96_pub.pem)`
|
16
|
+
|
12
17
|
## Synopsis
|
13
|
-
```
|
18
|
+
```ruby
|
14
19
|
require 'sys-memory'
|
15
20
|
|
16
21
|
p Sys::Memory.memory # Hash of all information
|
@@ -21,13 +26,10 @@ p Sys::Memory.total(extended: true) # Total memory, include swap
|
|
21
26
|
|
22
27
|
There's also the `free`, `used` and `load` module methods.
|
23
28
|
|
24
|
-
## Adding the trusted cert
|
25
|
-
`gem cert --add <(curl -Ls https://raw.githubusercontent.com/djberg96/sys-memory/ffi/certs/djberg96_pub.pem)`
|
26
|
-
|
27
29
|
## Notes
|
28
30
|
I realize there are some philosophical differences about what constitutes
|
29
|
-
"available memory". I've tried to accomodate both of the approaches to
|
30
|
-
that I saw debated online. In short, you can choose to include swap memory
|
31
|
+
"available memory". I've tried to accomodate both of the common approaches to
|
32
|
+
it that I saw debated online. In short, you can choose to include swap memory
|
31
33
|
as part of memory calculations or not as you see fit via an optional argument.
|
32
34
|
|
33
35
|
You can also just use `Sys::Memory.memory` and collate the various hash data
|
@@ -36,13 +38,13 @@ pieces as you see fit.
|
|
36
38
|
## Known Bugs
|
37
39
|
None that I'm aware of. Please report bugs on the project page at:
|
38
40
|
|
39
|
-
https://github.com/djberg96/sys-
|
41
|
+
https://github.com/djberg96/sys-memory
|
40
42
|
|
41
43
|
## License
|
42
44
|
Apache-2.0
|
43
45
|
|
44
46
|
## Copyright
|
45
|
-
(C) 2021 Daniel J. Berger, All Rights Reserved
|
47
|
+
(C) 2021-2023 Daniel J. Berger, All Rights Reserved
|
46
48
|
|
47
49
|
## Warranty
|
48
50
|
This package is provided "as is" and without any express or
|
data/Rakefile
CHANGED
@@ -1,6 +1,7 @@
|
|
1
1
|
require 'rake'
|
2
2
|
require 'rake/clean'
|
3
3
|
require 'rspec/core/rake_task'
|
4
|
+
require 'rubocop/rake_task'
|
4
5
|
|
5
6
|
CLEAN.include('**/*.gem', '**/*.rbc', '**/*.rbx', '**/*.lock')
|
6
7
|
|
@@ -22,4 +23,6 @@ namespace 'gem' do
|
|
22
23
|
end
|
23
24
|
end
|
24
25
|
|
26
|
+
RuboCop::RakeTask.new
|
27
|
+
|
25
28
|
task :default => :spec
|
data/lib/sys/linux/memory.rb
CHANGED
@@ -1,6 +1,9 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# The Sys module serves as a namespace only.
|
3
4
|
module Sys
|
5
|
+
# The Memory module provides various functions that return information
|
6
|
+
# regarding the memory on your system.
|
4
7
|
module Memory
|
5
8
|
MEMORY_FILE = '/proc/meminfo'
|
6
9
|
MEMINFO_REGEX = /(.*)?:\s+?(\d+)/.freeze
|
@@ -15,7 +18,7 @@ module Sys
|
|
15
18
|
def memory
|
16
19
|
hash = {}
|
17
20
|
|
18
|
-
|
21
|
+
File.foreach(MEMORY_FILE) do |line|
|
19
22
|
key, value = MEMINFO_REGEX.match(line.chomp).captures
|
20
23
|
hash[key] = value.to_i
|
21
24
|
end
|
@@ -59,5 +62,5 @@ module Sys
|
|
59
62
|
end
|
60
63
|
|
61
64
|
module_function :memory, :total, :free, :used, :load
|
62
|
-
end
|
63
|
-
end
|
65
|
+
end # Memory
|
66
|
+
end # Sys
|
data/lib/sys/version.rb
CHANGED
data/lib/sys/windows/memory.rb
CHANGED
@@ -1,13 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
# The Sys module serves as a namespace only.
|
3
4
|
module Sys
|
5
|
+
# The Memory module provides various functions that return information
|
6
|
+
# regarding the memory on your system.
|
4
7
|
module Memory
|
5
8
|
require 'ffi'
|
6
9
|
extend FFI::Library
|
7
10
|
ffi_lib 'kernel32'
|
8
11
|
|
9
|
-
private
|
10
|
-
|
11
12
|
typedef :uint32, :dword
|
12
13
|
typedef :uint64, :dwordlong
|
13
14
|
|
@@ -25,7 +26,10 @@ module Sys
|
|
25
26
|
)
|
26
27
|
end
|
27
28
|
|
29
|
+
private_constant :MemoryStatusEx
|
30
|
+
|
28
31
|
attach_function :GlobalMemoryStatusEx, [MemoryStatusEx], :bool
|
32
|
+
private_class_method :GlobalMemoryStatusEx
|
29
33
|
|
30
34
|
ffi_lib 'psapi'
|
31
35
|
|
@@ -48,9 +52,10 @@ module Sys
|
|
48
52
|
)
|
49
53
|
end
|
50
54
|
|
51
|
-
|
55
|
+
private_constant :PerformanceInformation
|
52
56
|
|
53
|
-
|
57
|
+
attach_function :GetPerformanceInfo, [PerformanceInformation, :dword], :bool
|
58
|
+
private_class_method :GetPerformanceInfo
|
54
59
|
|
55
60
|
# Obtain detailed memory information about your host in the form of a hash.
|
56
61
|
# Note that the exact nature of this hash is largely dependent on your
|
@@ -121,10 +126,10 @@ module Sys
|
|
121
126
|
# A number between 0 and 100 that specifies the approximate percentage of
|
122
127
|
# physical memory that is in use.
|
123
128
|
#
|
124
|
-
#
|
125
|
-
#
|
129
|
+
# On MS Windows the +extended+ option is ignored, but present for interface
|
130
|
+
# compatibility with other platforms.
|
126
131
|
#
|
127
|
-
def load(
|
132
|
+
def load(_extended: false)
|
128
133
|
memory['MemoryLoad']
|
129
134
|
end
|
130
135
|
|
data/spec/sys_memory_spec.rb
CHANGED
@@ -1,10 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
1
3
|
require 'active_support/core_ext/numeric/bytes'
|
2
4
|
require 'sys-memory'
|
3
5
|
|
4
6
|
RSpec.describe Sys::Memory do
|
5
7
|
context 'Sys::Memory::VERSION' do
|
6
8
|
example 'the version constant is set to the expected value' do
|
7
|
-
expect(described_class::VERSION).to eq('0.1.
|
9
|
+
expect(described_class::VERSION).to eq('0.1.2')
|
8
10
|
expect(described_class::VERSION).to be_frozen
|
9
11
|
end
|
10
12
|
end
|
data/sys-memory.gemspec
CHANGED
@@ -2,7 +2,7 @@ require 'rubygems'
|
|
2
2
|
|
3
3
|
Gem::Specification.new do |spec|
|
4
4
|
spec.name = 'sys-memory'
|
5
|
-
spec.version = '0.1.
|
5
|
+
spec.version = '0.1.2'
|
6
6
|
spec.author = 'Daniel J. Berger'
|
7
7
|
spec.email = 'djberg96@gmail.com'
|
8
8
|
spec.license = 'Apache-2.0'
|
@@ -12,20 +12,22 @@ Gem::Specification.new do |spec|
|
|
12
12
|
spec.files = Dir['**/*'].reject{ |f| f.include?('git') }
|
13
13
|
spec.cert_chain = ['certs/djberg96_pub.pem']
|
14
14
|
|
15
|
-
spec.
|
16
|
-
|
17
|
-
spec.
|
18
|
-
spec.
|
19
|
-
spec.add_development_dependency('
|
20
|
-
spec.add_development_dependency('
|
15
|
+
spec.add_dependency('ffi', '~> 1.1')
|
16
|
+
spec.add_development_dependency('activesupport', '~> 6.0')
|
17
|
+
spec.add_development_dependency('rspec', '~> 3.9')
|
18
|
+
spec.add_development_dependency('rake', '~> 13.0')
|
19
|
+
spec.add_development_dependency('rubocop')
|
20
|
+
spec.add_development_dependency('rubocop-rspec')
|
21
21
|
|
22
22
|
spec.metadata = {
|
23
|
-
'homepage_uri'
|
24
|
-
'bug_tracker_uri'
|
25
|
-
'changelog_uri'
|
26
|
-
'documentation_uri'
|
27
|
-
'source_code_uri'
|
28
|
-
'wiki_uri'
|
23
|
+
'homepage_uri' => 'https://github.com/djberg96/sys-memory',
|
24
|
+
'bug_tracker_uri' => 'https://github.com/djberg96/sys-memory/issues',
|
25
|
+
'changelog_uri' => 'https://github.com/djberg96/sys-memory/blob/main/CHANGES.md',
|
26
|
+
'documentation_uri' => 'https://github.com/djberg96/sys-memory/wiki',
|
27
|
+
'source_code_uri' => 'https://github.com/djberg96/sys-memory',
|
28
|
+
'wiki_uri' => 'https://github.com/djberg96/sys-memory/wiki',
|
29
|
+
'rubygems_mfa_required' => 'true',
|
30
|
+
'github_repo' => 'https://github.com/djberg96/sys-memory'
|
29
31
|
}
|
30
32
|
|
31
33
|
spec.description = <<-EOF
|
data.tar.gz.sig
CHANGED
Binary file
|
metadata
CHANGED
@@ -1,11 +1,11 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sys-memory
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.1.
|
4
|
+
version: 0.1.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Daniel J. Berger
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain:
|
11
11
|
- |
|
@@ -35,7 +35,7 @@ cert_chain:
|
|
35
35
|
ORVCZpRuCPpmC8qmqxUnARDArzucjaclkxjLWvCVHeFa9UP7K3Nl9oTjJNv+7/jM
|
36
36
|
WZs4eecIcUc4tKdHxcAJ0MO/Dkqq7hGaiHpwKY76wQ1+8xAh
|
37
37
|
-----END CERTIFICATE-----
|
38
|
-
date:
|
38
|
+
date: 2023-04-10 00:00:00.000000000 Z
|
39
39
|
dependencies:
|
40
40
|
- !ruby/object:Gem::Dependency
|
41
41
|
name: ffi
|
@@ -58,7 +58,7 @@ dependencies:
|
|
58
58
|
- - "~>"
|
59
59
|
- !ruby/object:Gem::Version
|
60
60
|
version: '6.0'
|
61
|
-
type: :
|
61
|
+
type: :development
|
62
62
|
prerelease: false
|
63
63
|
version_requirements: !ruby/object:Gem::Requirement
|
64
64
|
requirements:
|
@@ -93,6 +93,34 @@ dependencies:
|
|
93
93
|
- - "~>"
|
94
94
|
- !ruby/object:Gem::Version
|
95
95
|
version: '13.0'
|
96
|
+
- !ruby/object:Gem::Dependency
|
97
|
+
name: rubocop
|
98
|
+
requirement: !ruby/object:Gem::Requirement
|
99
|
+
requirements:
|
100
|
+
- - ">="
|
101
|
+
- !ruby/object:Gem::Version
|
102
|
+
version: '0'
|
103
|
+
type: :development
|
104
|
+
prerelease: false
|
105
|
+
version_requirements: !ruby/object:Gem::Requirement
|
106
|
+
requirements:
|
107
|
+
- - ">="
|
108
|
+
- !ruby/object:Gem::Version
|
109
|
+
version: '0'
|
110
|
+
- !ruby/object:Gem::Dependency
|
111
|
+
name: rubocop-rspec
|
112
|
+
requirement: !ruby/object:Gem::Requirement
|
113
|
+
requirements:
|
114
|
+
- - ">="
|
115
|
+
- !ruby/object:Gem::Version
|
116
|
+
version: '0'
|
117
|
+
type: :development
|
118
|
+
prerelease: false
|
119
|
+
version_requirements: !ruby/object:Gem::Requirement
|
120
|
+
requirements:
|
121
|
+
- - ">="
|
122
|
+
- !ruby/object:Gem::Version
|
123
|
+
version: '0'
|
96
124
|
description: |2
|
97
125
|
The sys-memory library provides an interface for gathering information
|
98
126
|
about your system's memory. Information includes total physical memory,
|
@@ -102,8 +130,10 @@ executables: []
|
|
102
130
|
extensions: []
|
103
131
|
extra_rdoc_files: []
|
104
132
|
files:
|
133
|
+
- CHANGES.md
|
105
134
|
- Gemfile
|
106
135
|
- LICENSE
|
136
|
+
- MANIFEST.md
|
107
137
|
- README.md
|
108
138
|
- Rakefile
|
109
139
|
- certs/djberg96_pub.pem
|
@@ -125,7 +155,9 @@ metadata:
|
|
125
155
|
documentation_uri: https://github.com/djberg96/sys-memory/wiki
|
126
156
|
source_code_uri: https://github.com/djberg96/sys-memory
|
127
157
|
wiki_uri: https://github.com/djberg96/sys-memory/wiki
|
128
|
-
|
158
|
+
rubygems_mfa_required: 'true'
|
159
|
+
github_repo: https://github.com/djberg96/sys-memory
|
160
|
+
post_install_message:
|
129
161
|
rdoc_options: []
|
130
162
|
require_paths:
|
131
163
|
- lib
|
@@ -140,8 +172,8 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
140
172
|
- !ruby/object:Gem::Version
|
141
173
|
version: '0'
|
142
174
|
requirements: []
|
143
|
-
rubygems_version: 3.
|
144
|
-
signing_key:
|
175
|
+
rubygems_version: 3.3.26
|
176
|
+
signing_key:
|
145
177
|
specification_version: 4
|
146
178
|
summary: A Ruby interface for providing memory information
|
147
179
|
test_files:
|
metadata.gz.sig
CHANGED
Binary file
|