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