Class: Gemspec

Inherits:
Object
  • Object
show all
Defined in:
lib/base/gemspec.rb

Class Method Summary collapse

Class Method Details

.gemfile(gemspec_file) ⇒ Object



11
12
13
14
15
# File 'lib/base/gemspec.rb', line 11

def self.gemfile gemspec_file
	spec=Gem::Specification.load(gemspec_file)
	return "#{spec.name}-#{spec.version}.gem" if !spec.nil?
	return ""
end

.latest_published_version(gemname) ⇒ Object



22
23
24
25
26
27
28
# File 'lib/base/gemspec.rb', line 22

def self.latest_published_version gemname
	scan=`gem list -r #{gemname}`.scan(/^dev\s*\(([\d.]+)\)/)
		if(!scan.nil?)
			return scan[0][0] if(scan.length > 0 && !scan[0].nil? && scan[0].length > 0)
		end
		''
end

.normalize(gemspec_file) ⇒ Object



44
45
46
47
# File 'lib/base/gemspec.rb', line 44

def self.normalize gemspec_file
	spec=Gem::Specification.load(gemspec_file)
	File.open(gemspec_file,'w'){|f|f.write(spec.to_ruby)}
end

.published?(gemspec_file) ⇒ Boolean

Returns:

  • (Boolean)


40
41
42
# File 'lib/base/gemspec.rb', line 40

def self.published? gemspec_file
	published_version(gemspec_file)==version(gemspec_file) ? true : false
end

.published_version(gemspec_file) ⇒ Object



30
31
32
33
34
35
36
37
38
39
# File 'lib/base/gemspec.rb', line 30

def self.published_version gemspec_file
published_version=''
	spec=Gem::Specification.load(gemspec_file)
		begin
published_version = latest_published_version spec.name# `gem list -r #{spec.name}`.scan(/\((\d+.\d+.\d+)\)/)[0][0]
		rescue
published_version=''
		end
		published_version
end

.update(gemspec_file) ⇒ Object



5
6
7
8
9
# File 'lib/base/gemspec.rb', line 5

def self.update gemspec_file
	Text.replace_in_file gemspec_file,
                             /('\d{4}-\d{2}-\d{2}')/,
                             "'#{Time.now.strftime('%Y-%m-%d')}'"
end

.upgrade(gemspec_file) ⇒ Object



49
50
# File 'lib/base/gemspec.rb', line 49

def self.upgrade gemspec_file
end

.version(gemspec_file) ⇒ Object



17
18
19
20
# File 'lib/base/gemspec.rb', line 17

def self.version gemspec_file
	spec=Gem::Specification.load(gemspec_file)
		return spec.version.to_s
end