linux_stat 2.5.2 → 2.5.3
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/lib/linux_stat/cpu.rb +2 -2
- data/lib/linux_stat/pci.rb +2 -2
- data/lib/linux_stat/thermal.rb +38 -12
- data/lib/linux_stat/usb.rb +2 -2
- data/lib/linux_stat/version.rb +1 -1
- metadata +3 -3
    
        checksums.yaml
    CHANGED
    
    | @@ -1,7 +1,7 @@ | |
| 1 1 | 
             
            ---
         | 
| 2 2 | 
             
            SHA256:
         | 
| 3 | 
            -
              metadata.gz:  | 
| 4 | 
            -
              data.tar.gz:  | 
| 3 | 
            +
              metadata.gz: 75ee9aa13037e326a0c04626cd28e0903b06372ce24344ffa38870f98dd6f0dd
         | 
| 4 | 
            +
              data.tar.gz: d275807c8a9572fa9faaa1c562102302697f52b6a1cb36907fa71b2576c533b0
         | 
| 5 5 | 
             
            SHA512:
         | 
| 6 | 
            -
              metadata.gz:  | 
| 7 | 
            -
              data.tar.gz:  | 
| 6 | 
            +
              metadata.gz: 3bd3330e9135cffee27a82fc661462a9c94e421ee5eebe24fb322ad9241e5498bdfd84914fd58dab93481366969f414bf2aa93e9507bb967ca18a462c91fc007
         | 
| 7 | 
            +
              data.tar.gz: 686e7f1935fea8cde6ae24624522ef642f41e21304fdae7e758f3249f3b026ea6261a77fca76bbc2f5153d1d8426f9112a1b66f124e7c3d03106c0992ca731aa
         | 
    
        data/lib/linux_stat/cpu.rb
    CHANGED
    
    | @@ -344,7 +344,7 @@ module LinuxStat | |
| 344 344 | 
             
            				physical_cores = []
         | 
| 345 345 | 
             
            				hyperthreaded = {}
         | 
| 346 346 |  | 
| 347 | 
            -
            				return [] unless File. | 
| 347 | 
            +
            				return [] unless File.executable?('/sys/devices/system/cpu/'.freeze)
         | 
| 348 348 | 
             
            				entries = Dir.entries('/sys/devices/system/cpu/'.freeze)
         | 
| 349 349 | 
             
            				entries.delete(?..freeze)
         | 
| 350 350 | 
             
            				entries.delete('..'.freeze)
         | 
| @@ -384,7 +384,7 @@ module LinuxStat | |
| 384 384 | 
             
            			def hyperthreaded_core_list
         | 
| 385 385 | 
             
            				hyperthreaded = {}
         | 
| 386 386 |  | 
| 387 | 
            -
            				return [] unless File. | 
| 387 | 
            +
            				return [] unless File.executable?('/sys/devices/system/cpu/'.freeze)
         | 
| 388 388 | 
             
            				entries = Dir.entries('/sys/devices/system/cpu/'.freeze)
         | 
| 389 389 | 
             
            				entries.delete(?..freeze)
         | 
| 390 390 | 
             
            				entries.delete('..'.freeze)
         | 
    
        data/lib/linux_stat/pci.rb
    CHANGED
    
    | @@ -128,7 +128,7 @@ module LinuxStat | |
| 128 128 | 
             
            			# Also note that if there's no info available or no PCI enabled devices, it will return an empty
         | 
| 129 129 | 
             
            			# Hash.
         | 
| 130 130 | 
             
            			def devices_stat(hwdata: true)
         | 
| 131 | 
            -
            				@@sys_pci_readable ||= File. | 
| 131 | 
            +
            				@@sys_pci_readable ||= File.executable?('/sys/bus/pci/devices/')
         | 
| 132 132 | 
             
            				return devices_info(hwdata: hwdata) unless @@sys_pci_readable
         | 
| 133 133 |  | 
| 134 134 | 
             
            				Dir['/sys/bus/pci/devices/*/'.freeze].sort!.map! { |x|
         | 
| @@ -215,7 +215,7 @@ module LinuxStat | |
| 215 215 | 
             
            			# But if the information isn't available, it will return nil.
         | 
| 216 216 | 
             
            			def count
         | 
| 217 217 | 
             
            				@@proc_pci_readable ||= File.readable?('/proc/bus/pci/devices')
         | 
| 218 | 
            -
            				@@sys_pci_readable ||= File. | 
| 218 | 
            +
            				@@sys_pci_readable ||= File.executable?('/sys/bus/pci/devices/')
         | 
| 219 219 |  | 
| 220 220 | 
             
            				if @@proc_pci_readable
         | 
| 221 221 | 
             
            					IO.readlines('/proc/bus/pci/devices'.freeze).length
         | 
    
        data/lib/linux_stat/thermal.rb
    CHANGED
    
    | @@ -64,7 +64,7 @@ module LinuxStat | |
| 64 64 |  | 
| 65 65 | 
             
            			private
         | 
| 66 66 | 
             
            			def hwmon_readable?
         | 
| 67 | 
            -
            				@@hwmon_readable ||= File. | 
| 67 | 
            +
            				@@hwmon_readable ||= File.executable?("/sys/class/hwmon/")
         | 
| 68 68 | 
             
            			end
         | 
| 69 69 |  | 
| 70 70 | 
             
            			def query_hwmon(mon, key, div = false)
         | 
| @@ -78,20 +78,46 @@ module LinuxStat | |
| 78 78 |  | 
| 79 79 | 
             
            				while x = files[i += 1]
         | 
| 80 80 | 
             
            					splitted = File.split(x)
         | 
| 81 | 
            -
            					 | 
| 82 | 
            -
             | 
| 83 | 
            -
            					n = splitted[-1][/.*_/]
         | 
| 81 | 
            +
            					n = splitted.pop[/.*_/]
         | 
| 82 | 
            +
            					path = File.join(splitted)
         | 
| 84 83 |  | 
| 85 84 | 
             
            					label_f = "#{path}/#{n}label"
         | 
| 86 | 
            -
             | 
| 85 | 
            +
             | 
| 86 | 
            +
            					# Some of the files may have no content
         | 
| 87 | 
            +
            					# They can also raise Errno::EIO, Errno::ENODATA as well.
         | 
| 88 | 
            +
            					label = if File.readable?(label_f)
         | 
| 89 | 
            +
            						begin
         | 
| 90 | 
            +
            							IO.read(label_f, encoding: 'ASCII-8BIT'.freeze).strip
         | 
| 91 | 
            +
            						rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
         | 
| 92 | 
            +
            							nil
         | 
| 93 | 
            +
            						end
         | 
| 94 | 
            +
            					end
         | 
| 87 95 |  | 
| 88 96 | 
             
            					temp_crit_f = "#{path}/#{n}crit"
         | 
| 89 | 
            -
            					temp_crit = File.readable?(temp_crit_f) | 
| 97 | 
            +
            					temp_crit = if File.readable?(temp_crit_f)
         | 
| 98 | 
            +
            						begin
         | 
| 99 | 
            +
            							IO.read(temp_crit_f, encoding: 'ASCII-8BIT'.freeze).to_i
         | 
| 100 | 
            +
            						rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
         | 
| 101 | 
            +
            							nil
         | 
| 102 | 
            +
            						end
         | 
| 103 | 
            +
            					end
         | 
| 90 104 |  | 
| 91 105 | 
             
            					temp_max_f = "#{path}/#{n}max"
         | 
| 92 | 
            -
            					temp_max = File.readable?(temp_max_f) | 
| 106 | 
            +
            					temp_max = if File.readable?(temp_max_f)
         | 
| 107 | 
            +
            						begin
         | 
| 108 | 
            +
            							IO.read(temp_max_f, encoding: 'ASCII-8BIT'.freeze).to_i
         | 
| 109 | 
            +
            						rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
         | 
| 110 | 
            +
            							nil
         | 
| 111 | 
            +
            						end
         | 
| 112 | 
            +
            					end
         | 
| 93 113 |  | 
| 94 | 
            -
            					value = File.readable?(x) | 
| 114 | 
            +
            					value = if File.readable?(x)
         | 
| 115 | 
            +
            						begin
         | 
| 116 | 
            +
            							IO.read(x).to_i
         | 
| 117 | 
            +
            						rescue Errno::EIO, Errno::ENODEV, Errno::ENODATA
         | 
| 118 | 
            +
            							nil
         | 
| 119 | 
            +
            						end
         | 
| 120 | 
            +
            					end
         | 
| 95 121 |  | 
| 96 122 | 
             
            					if dir != path
         | 
| 97 123 | 
             
            						dir = path
         | 
| @@ -100,17 +126,17 @@ module LinuxStat | |
| 100 126 | 
             
            					end
         | 
| 101 127 |  | 
| 102 128 | 
             
            					if div
         | 
| 103 | 
            -
            						value /= 1000.0
         | 
| 129 | 
            +
            						value /= 1000.0 if value
         | 
| 104 130 | 
             
            						temp_max /= 1000.0 if temp_max
         | 
| 105 131 | 
             
            						temp_crit /= 1000.0 if temp_crit
         | 
| 106 132 | 
             
            					end
         | 
| 107 133 |  | 
| 108 134 | 
             
            					h = {path: path, name: name}
         | 
| 109 135 |  | 
| 110 | 
            -
            					h.store(:label, label) | 
| 136 | 
            +
            					h.store(:label, label)
         | 
| 111 137 | 
             
            					h.store(key, value)
         | 
| 112 | 
            -
            					h.store(:temp_crit, temp_crit) | 
| 113 | 
            -
            					h.store(:temp_crit, temp_max) | 
| 138 | 
            +
            					h.store(:temp_crit, temp_crit)
         | 
| 139 | 
            +
            					h.store(:temp_crit, temp_max)
         | 
| 114 140 |  | 
| 115 141 | 
             
            					ret.push(h)
         | 
| 116 142 | 
             
            				end
         | 
    
        data/lib/linux_stat/usb.rb
    CHANGED
    
    | @@ -47,7 +47,7 @@ module LinuxStat | |
| 47 47 | 
             
            			# Also note that if there's no info available or no USB devices, it will return an empty
         | 
| 48 48 | 
             
            			# Hash.
         | 
| 49 49 | 
             
            			def devices_stat(hwdata: true)
         | 
| 50 | 
            -
            				@@sys_usb_readable ||= File. | 
| 50 | 
            +
            				@@sys_usb_readable ||= File.executable?('/sys/bus/usb/devices/')
         | 
| 51 51 | 
             
            				return [] unless @@sys_usb_readable
         | 
| 52 52 |  | 
| 53 53 | 
             
            				Dir['/sys/bus/usb/devices/*/'.freeze].sort!.map! { |x|
         | 
| @@ -137,7 +137,7 @@ module LinuxStat | |
| 137 137 | 
             
            			#
         | 
| 138 138 | 
             
            			# But if the information isn't available, it will return nil.
         | 
| 139 139 | 
             
            			def count
         | 
| 140 | 
            -
            				@@sys_usb_readable ||= File. | 
| 140 | 
            +
            				@@sys_usb_readable ||= File.executable?('/sys/bus/usb/devices/')
         | 
| 141 141 | 
             
            				return nil unless @@sys_usb_readable
         | 
| 142 142 |  | 
| 143 143 | 
             
            				Dir['/sys/bus/usb/devices/*/'.freeze].count { |x|
         | 
    
        data/lib/linux_stat/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | @@ -1,14 +1,14 @@ | |
| 1 1 | 
             
            --- !ruby/object:Gem::Specification
         | 
| 2 2 | 
             
            name: linux_stat
         | 
| 3 3 | 
             
            version: !ruby/object:Gem::Version
         | 
| 4 | 
            -
              version: 2.5. | 
| 4 | 
            +
              version: 2.5.3
         | 
| 5 5 | 
             
            platform: ruby
         | 
| 6 6 | 
             
            authors:
         | 
| 7 7 | 
             
            - Sourav Goswami
         | 
| 8 8 | 
             
            autorequire:
         | 
| 9 9 | 
             
            bindir: exe
         | 
| 10 10 | 
             
            cert_chain: []
         | 
| 11 | 
            -
            date:  | 
| 11 | 
            +
            date: 2022-05-08 00:00:00.000000000 Z
         | 
| 12 12 | 
             
            dependencies: []
         | 
| 13 13 | 
             
            description: Linux only, efficient linux system utilization reporting and system monitoring
         | 
| 14 14 | 
             
              gem
         | 
| @@ -90,7 +90,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement | |
| 90 90 | 
             
                - !ruby/object:Gem::Version
         | 
| 91 91 | 
             
                  version: '0'
         | 
| 92 92 | 
             
            requirements: []
         | 
| 93 | 
            -
            rubygems_version: 3. | 
| 93 | 
            +
            rubygems_version: 3.3.8
         | 
| 94 94 | 
             
            signing_key:
         | 
| 95 95 | 
             
            specification_version: 4
         | 
| 96 96 | 
             
            summary: Efficient linux system reporting gem
         |