Sha256: 9b519d7e3257011463d06c94d7146d2bd482ce24e3de23d5a563a5ad5067a266

Contents?: true

Size: 1.13 KB

Versions: 150

Compression:

Stored size: 1.13 KB

Contents

# frozen_string_literal: true

module Appsignal
  class CLI
    class Diagnose
      class Utils
        def self.username_for_uid(uid)
          passwd_struct = Etc.getpwuid(uid)
          return unless passwd_struct

          passwd_struct.name
        rescue ArgumentError # rubocop:disable Lint/SuppressedException
        end

        def self.group_for_gid(gid)
          passwd_struct = Etc.getgrgid(gid)
          return unless passwd_struct

          passwd_struct.name
        rescue ArgumentError # rubocop:disable Lint/SuppressedException
        end

        def self.read_file_content(path, bytes_to_read)
          file_size = File.size(path)
          if bytes_to_read > file_size
            # When the file is smaller than the bytes_to_read
            # Read the whole file
            offset = 0
            length = file_size
          else
            # When the file is smaller than the bytes_to_read
            # Read the last X bytes_to_read
            length = bytes_to_read
            offset = file_size - bytes_to_read
          end

          File.binread(path, length, offset)
        end
      end
    end
  end
end

Version data entries

150 entries across 150 versions & 1 rubygems

Version Path
appsignal-4.3.3-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.3 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.2-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.2 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.1-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.1 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.0-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.3.0 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.3-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.3 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.2-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.2 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.1-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.1 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.0-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.2.0 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.1.3-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.1.3 lib/appsignal/cli/diagnose/utils.rb
appsignal-4.1.2-java lib/appsignal/cli/diagnose/utils.rb
appsignal-4.1.2 lib/appsignal/cli/diagnose/utils.rb