Class: Gem2Rpm::Specification

Inherits:
SimpleDelegator
  • Object
show all
Defined in:
lib/gem2rpm/gem/specification.rb

Constant Summary collapse

BLANK_RE =
/\A[[:space:]]*\z/

Instance Method Summary collapse

Instance Method Details

#dependenciesObject

A list of Gem::Dependency objects this gem depends on (includes every runtime or development dependency).



27
28
29
# File 'lib/gem2rpm/gem/specification.rb', line 27

def dependencies
  super.map { |d| Gem2Rpm::Dependency.new d }
end

#descriptionObject

A long description of gem wrapped to 78 characters.



11
12
13
14
15
16
# File 'lib/gem2rpm/gem/specification.rb', line 11

def description
  d = super.to_s.chomp
  d = summary.to_s.chomp if d.empty?
  d.gsub!(/([^.!?])\Z/, "\\1.")
  Helpers.word_wrap(d, 78) + "\n"
end

#development_dependenciesObject

List of dependencies that are used for development.



32
33
34
# File 'lib/gem2rpm/gem/specification.rb', line 32

def development_dependencies
  super.map { |d| Gem2Rpm::Dependency.new d }
end

#homepageObject

The URL of this gem’s home page



19
20
21
22
23
# File 'lib/gem2rpm/gem/specification.rb', line 19

def homepage
  h = super
  h = nil if h && BLANK_RE =~ h
  h
end

#licensesObject

The license(s) for the library. Each license must be a short name, no more than 64 characters. Returns empty array if RubyGems does not provide the field.



39
40
41
42
43
# File 'lib/gem2rpm/gem/specification.rb', line 39

def licenses
  super
rescue
  []
end

#required_ruby_versionObject

The version of Ruby required by the gem. Returns array with empty string if the method is not provided by RubyGems yet.



52
53
54
55
56
57
58
# File 'lib/gem2rpm/gem/specification.rb', line 52

def required_ruby_version
  @required_ruby_version ||= begin
    Helpers.requirement_versions_to_rpm(super)
  rescue
    ['']
  end
end

#required_rubygems_versionObject

The RubyGems version required by gem. For RubyGems < 0.9.5 returns only array with empty string. However, this should happen only in rare cases.



62
63
64
65
66
67
68
# File 'lib/gem2rpm/gem/specification.rb', line 62

def required_rubygems_version
  @required_rubygems_version ||= begin
    Helpers.requirement_versions_to_rpm(super)
  rescue
    ['']
  end
end

#runtime_dependenciesObject

List of dependencies that will automatically be activated at runtime.



46
47
48
# File 'lib/gem2rpm/gem/specification.rb', line 46

def runtime_dependencies
  super.map { |d| Gem2Rpm::Dependency.new d }
end