Class: MSPRelease::Project::Debian::BuildResult
- Inherits:
-
Object
- Object
- MSPRelease::Project::Debian::BuildResult
- Defined in:
- lib/msp_release/project/debian.rb
Instance Attribute Summary collapse
-
#changes_file ⇒ Object
(also: #package)
readonly
Returns the value of attribute changes_file.
Instance Method Summary collapse
- #available_changes_files ⇒ Object
- #changes_pattern ⇒ Object
- #files ⇒ Object
- #find_changes_file(version_string) ⇒ Object
-
#initialize(dir, project) ⇒ BuildResult
constructor
A new instance of BuildResult.
Constructor Details
#initialize(dir, project) ⇒ BuildResult
Returns a new instance of BuildResult.
8 9 10 11 12 13 14 15 16 17 18 19 |
# File 'lib/msp_release/project/debian.rb', line 8 def initialize(dir, project) @dir = dir @project = project looking_for = project.changelog.version.to_s changes_file = find_changes_file(looking_for) if changes_file && File.exists?(changes_file) @changes_file = changes_file else raise NoChangesFileError, looking_for end end |
Instance Attribute Details
#changes_file ⇒ Object (readonly) Also known as: package
Returns the value of attribute changes_file.
21 22 23 |
# File 'lib/msp_release/project/debian.rb', line 21 def changes_file @changes_file end |
Instance Method Details
#available_changes_files ⇒ Object
33 34 35 |
# File 'lib/msp_release/project/debian.rb', line 33 def available_changes_files Dir["#{@dir}/*.changes"] end |
#changes_pattern ⇒ Object
37 38 39 |
# File 'lib/msp_release/project/debian.rb', line 37 def changes_pattern /#{@project.source_package_name}_([^_]+)_([^\.]+)\.changes/ end |
#files ⇒ Object
25 26 27 28 29 30 31 |
# File 'lib/msp_release/project/debian.rb', line 25 def files dir = File.dirname(changes_file) changes = File.read(changes_file).split("\n") files_start = changes.index {|l| /^Files: $/.match(l) } + 1 changes[files_start..-1].map {|l| File.join(dir, l.split(" ").last) } + [changes_file] end |
#find_changes_file(version_string) ⇒ Object
41 42 43 44 45 |
# File 'lib/msp_release/project/debian.rb', line 41 def find_changes_file(version_string) available_changes_files.find { |fname| (m = changes_pattern.match(File.basename(fname))) && m && (m[1] == version_string) } end |