class Timewizard::Versioner::Apple
Represents the Apple
implementation of the versioner spec. @author Richard Harrah @since 0.2.3
Public Class Methods
new(path_to_file)
click to toggle source
Public functions (inherited from parent)
Calls superclass method
Timewizard::Versioner::Base::new
# File lib/timewizard/versioner/apple.rb, line 16 def initialize(path_to_file) super path_to_file @file_contents = CFPropertyList::List.new end
Private Instance Methods
change_build_numbers()
click to toggle source
# File lib/timewizard/versioner/apple.rb, line 75 def change_build_numbers if @file_contents.nil? read_file end if @new_build_number.nil? read_build_numbers end data = CFPropertyList.native_types(@file_contents.value) data['CFBundleVersion'] = @new_build_number.to_s @file_contents.value = CFPropertyList.guess(data) end
change_version_numbers()
click to toggle source
# File lib/timewizard/versioner/apple.rb, line 88 def change_version_numbers if @file_contents.nil? read_file end if @new_version_number.nil? read_build_numbers end data = CFPropertyList.native_types(@file_contents.value) data['CFBundleShortVersionString'] = @new_version_number.to_s @file_contents.value = CFPropertyList.guess(data) end
find_build_and_version_numbers()
click to toggle source
# File lib/timewizard/versioner/apple.rb, line 51 def find_build_and_version_numbers if @file_contents.nil? read_file end data = CFPropertyList.native_types(@file_contents.value) build_num = Timewizard::Utils::Wizardry.only_version(data['CFBundleVersion']) version_num = Timewizard::Utils::Wizardry.only_version(data['CFBundleShortVersionString']) parsed_build_num = Versionomy.parse(build_num, Versionomy::Format.get('rubygems')) parsed_version_num = Versionomy.parse(version_num, Versionomy::Format.get('rubygems')) @bumped_build_number = parsed_build_num.bump(parsed_build_num.parts.length - 1) @bumped_version_number = parsed_version_num.bump(parsed_version_num.parts.length - 1) obn = parsed_build_num.unparse ovn = parsed_version_num.unparse nbn = parsed_build_num.bump(parsed_build_num.parts.length - 1).unparse nvn = ovn [obn, ovn, nbn, nvn] end
read_file()
click to toggle source
Private functions (implementation specific)
# File lib/timewizard/versioner/apple.rb, line 26 def read_file if @file.nil? raise 'file is nil and cannot be read' end @file_contents = CFPropertyList::List.new if File.exist?(@file) @file_contents.load(@file) end @file_contents end
write_file()
click to toggle source
# File lib/timewizard/versioner/apple.rb, line 40 def write_file if @file.nil? raise 'file is nil and cannot be written' end if @file_contents.nil? raise 'file_contents is nil and cannot be written' end @file_contents.formatted = true @file_contents.save(@file) end