Class: RubyGemsRequirementsSystem::Package

Inherits:
Struct
  • Object
show all
Defined in:
lib/rubygems-requirements-system/package.rb

Instance Attribute Summary collapse

Instance Method Summary collapse

Instance Attribute Details

#idObject

Returns the value of attribute id

Returns:

  • (Object)

    the current value of id



17
18
19
# File 'lib/rubygems-requirements-system/package.rb', line 17

def id
  @id
end

#operatorObject

Returns the value of attribute operator

Returns:

  • (Object)

    the current value of operator



17
18
19
# File 'lib/rubygems-requirements-system/package.rb', line 17

def operator
  @operator
end

#required_versionObject

Returns the value of attribute required_version

Returns:

  • (Object)

    the current value of required_version



17
18
19
# File 'lib/rubygems-requirements-system/package.rb', line 17

def required_version
  @required_version
end

Instance Method Details

#installed?Boolean

Returns:

  • (Boolean)


18
19
20
21
22
23
24
25
26
27
# File 'lib/rubygems-requirements-system/package.rb', line 18

def installed?
  package_config = PKGConfig.package_config(id)
  begin
    package_config.cflags
  rescue PackageConfig::NotFoundError
    return false
  end

  satisfied?(package_config.version)
end

#satisfied?(target_version) ⇒ Boolean

Returns:

  • (Boolean)


29
30
31
32
33
34
35
# File 'lib/rubygems-requirements-system/package.rb', line 29

def satisfied?(target_version)
  return true if required_version.nil?

  target = Gem::Version.new(target_version)
  required = Gem::Version.new(required_version)
  target.__send__(operator, required)
end