class EacLauncher::Ruby::Gem::Specification

Attributes

gemspec_file[R]

Public Class Methods

new(gemspec_file) click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 19
def initialize(gemspec_file)
  @gemspec_file = gemspec_file
end
parse_version_file(file) click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 10
def parse_version_file(file)
  s = ::File.read(file)
  m = /VERSION\s*=\s*[\'\"]([^\'\"]+)[\'\"]/.match(s)
  m ? m[1] : nil
end

Public Instance Methods

full_name() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 34
def full_name
  "#{name}-#{version}"
end
name() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 30
def name
  ::File.basename(gemspec_file).gsub(/\.gemspec\z/, '')
end
to_s() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 38
def to_s
  full_name
end
version() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 23
def version
  v = self.class.parse_version_file(version_file)
  return v if v.present?

  raise "Version not found on file \"#{version_file}\""
end

Private Instance Methods

gem_root() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 44
def gem_root
  ::File.dirname(gemspec_file)
end
namespace_parts() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 55
def namespace_parts
  name.split('-')
end
version_file() click to toggle source
# File lib/eac_launcher/ruby/gem/specification.rb, line 48
def version_file
  f = ::File.join(gem_root, 'lib', *namespace_parts, 'version.rb')
  return f if ::File.exist?(f)

  raise "Version file \"#{f}\" does not exist"
end