Class: EnvironmentInformation::Queries::PkgConfig

Inherits:
Base
  • Object
show all
Defined in:
lib/environment_information/queries/pkg_config.rb

Overview

EnvironmentInformation::Queries::PkgConfig

Instance Method Summary collapse

Methods inherited from Base

#cd, #commandline_arguments?, #e, #esystem, #first_argument?, #gold, #is_on_roebe?, #is_rbt_available?, #lightblue, #log_dir?, #mediumaquamarine, #report_left_right, #set_commandline_arguments

Constructor Details

#initialize(for_this_program = nil, run_already = true) ⇒ PkgConfig

#

initialize

The first argument is mandatory.

#


30
31
32
33
34
35
36
37
# File 'lib/environment_information/queries/pkg_config.rb', line 30

def initialize(
    for_this_program = nil,
    run_already      = true
  )
  reset
  set_program_name(for_this_program)
  run if run_already
end

Instance Method Details

#program_name?Boolean

#

program_name?

#

Returns:

  • (Boolean)


63
64
65
# File 'lib/environment_information/queries/pkg_config.rb', line 63

def program_name?
  @program_name
end

#program_version?Boolean Also known as: version?

#

program_version?

#

Returns:

  • (Boolean)


70
71
72
# File 'lib/environment_information/queries/pkg_config.rb', line 70

def program_version?
  @program_version
end

#resetObject

#

reset

#


42
43
44
45
46
47
48
49
50
51
# File 'lib/environment_information/queries/pkg_config.rb', line 42

def reset
  # ======================================================================= #
  # === @program_name
  # ======================================================================= #
  @program_name    = ''.dup
  # ======================================================================= #
  # === @program_version
  # ======================================================================= #
  @program_version = nil
end

#return_version_of(this_program = @program_name) ⇒ Object

#

return_version_of

#


84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
# File 'lib/environment_information/queries/pkg_config.rb', line 84

def return_version_of(this_program = @program_name)
  _ = ::EnvironmentInformation.query_to_use_for_the_individual_components?
  if _.nil?
    _ = ::EnvironmentInformation.load_file_query_to_use_for_the_individual_components
  end
  if _.has_key?(this_program)
    result = _[this_program]
    case result
    when :pkgconfig
      @program_version = `pkg-config --modversion #{this_program} #{ERROR_LINE}`.dup
    else
      @program_version = `#{result} #{ERROR_LINE}`.dup
    end
    if @program_version.include? NOT_FOUND_IN_PKG_CONFIG_SEARCH_PATH
      @program_version = nil
    end
  else # We will try to run it anyway.
    @program_version = `pkg-config --modversion #{this_program} #{ERROR_LINE}`.dup
  end
  @program_version.strip! if @program_version
  return @program_version
end

#runObject

#

run

#


77
78
79
# File 'lib/environment_information/queries/pkg_config.rb', line 77

def run
  return_version_of
end

#set_program_name(i) ⇒ Object

#

set_program_name

#


56
57
58
# File 'lib/environment_information/queries/pkg_config.rb', line 56

def set_program_name(i)
  @program_name = i.to_sym if i
end