Class: Version
- Inherits:
-
Object
- Object
- Version
- Defined in:
- lib/base/version.rb
Class Method Summary collapse
- .extract(text) ⇒ Object
- .extract_from_file(filename) ⇒ Object
- .extract_from_filelist(filelist) ⇒ Object
- .get_version ⇒ Object
- .read(filename) ⇒ Object
- .update_file(filename, version) ⇒ Object
- .update_filelist(filelist, version) ⇒ Object
- .update_text(text, version) ⇒ Object
Class Method Details
.extract(text) ⇒ Object
2 3 4 5 6 7 8 9 10 11 |
# File 'lib/base/version.rb', line 2 def self.extract text [/[Vv]ersion\s*=\s*['"]([\d.]+)['"]/, /Version\(\s*"([\d.]+)"\s*\)/].each{|regex| scan=text.scan(regex) if(!scan.nil?) return scan[0][0] if(scan.length > 0 && !scan[0].nil? && scan[0].length > 0) end } nil end |
.extract_from_file(filename) ⇒ Object
13 14 15 |
# File 'lib/base/version.rb', line 13 def self.extract_from_file filename Version.extract IO.read(filename) end |
.extract_from_filelist(filelist) ⇒ Object
17 18 19 20 21 22 23 24 |
# File 'lib/base/version.rb', line 17 def self.extract_from_filelist filelist version=nil filelist.each{|f| version=extract_from_file f return version if !version.nil? } nil end |
.get_version ⇒ Object
65 66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/base/version.rb', line 65 def self.get_version Dir.glob('**/*.gemspec').each{|gemspec| return Version.read gemspec } Dir.glob('**/AssemblyInfo.cs').each{|assemblyInfo| return Version.read assemblyInfo } Dir.glob('**/*.wxs').each{|wxs| return Version.read wxs } '0.0' end |
.read(filename) ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/base/version.rb', line 49 def self.read filename return "#{Gem::Specification.load(filename).version.to_s}" if filename.include?('.gemspec') if filename.include?('AssemblyInfo.cs') scan=IO.read(filename).scan(/Version\(\"([\d.]+)\"\)/) if(!scan.nil?) return scan[0][0] if(scan.length > 0 && !scan[0].nil? && scan[0].length > 0) end #return IO.read(filename).scan(/Version\(\"([\d.]+)\"\)/)[0][0] scan=IO.read(wxs).scan(/Version=\"([\d.]+)\"/) if(!scan.nil?) return scan[0][0] if(scan.length > 0 && !scan[0].nil? && scan[0].length > 0) end end '0.0' end |
.update_file(filename, version) ⇒ Object
35 36 37 38 39 40 41 |
# File 'lib/base/version.rb', line 35 def self.update_file filename, version if(File.exists?(filename)) orig=IO.read(filename) text=Version.update_text orig,version File.open(filename,'w'){|f|f.write(text)} if(orig!=text) end end |
.update_filelist(filelist, version) ⇒ Object
43 44 45 46 47 |
# File 'lib/base/version.rb', line 43 def self.update_filelist filelist,version filelist.each{|f| Version.update_file f,version } end |
.update_text(text, version) ⇒ Object
26 27 28 29 30 31 32 33 |
# File 'lib/base/version.rb', line 26 def self.update_text text, version text=text.gsub(/version\s*=\s*'[\d.]+'/,"version='#{version}'") text=text.gsub(/version\s*=\s*"[\d.]+"/,"version=\"#{version}\"") text=text.gsub(/Version\s*=\s*'[\d.]+'/,"Version='#{version}'") text=text.gsub(/Version\s*=\s*"[\d.]+"/,"Version=\"#{version}\"") text=text.gsub(/Version\(\s*"[\d.]+"\s*\)/,"Version(\"#{version}\")") text=text.gsub(/Name\s*=\s*"Version"\s*Value\s*=\s*"[\d.]+"/,"Name=\"Version\" Value=\"#{version}\"") end |