class CarthageDependency
Representation of a Cartfile.resolved entry. @see github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#origin
Attributes
origin[R]
source[R]
version[R]
Public Class Methods
new(args)
click to toggle source
# File lib/carthage_dependency.rb, line 21 def initialize(args) raise AppError.new, "Expected Symbol for origin '#{args[:origin]}'" unless args[:origin].kind_of? Symbol raise AppError.new, "Unrecognized origin '#{args[:oriign]}'" unless [:github, :git, :binary].include?(args[:origin]) @origin = args[:origin] @source = args[:source] @version = args[:version] end
parse_cartfile_resolved_line(line)
click to toggle source
Parses Cartfile.resolved dependency entry, e.g.
github "CocoaLumberjack/CocoaLumberjack" "3.2.1"
# File lib/carthage_dependency.rb, line 7 def parse_cartfile_resolved_line(line) line.strip! matches = line.match(/^(\w+)\s+\"([^\"]+)\"(\s+\"([^\"]+)\")$/) return nil if matches.nil? if matches.length == 5 CarthageDependency.new(origin: matches[1].to_sym, source: matches[2], version: matches[4]) else nil end end
Public Instance Methods
guessed_framework_basename()
click to toggle source
Since one Cartfile.resolved entry may produce multiple differently named frameworks, this is an entry point to identifying a framework name.
# File lib/carthage_dependency.rb, line 36 def guessed_framework_basename case @origin when :github @source.split("/").last when :git filename = @source.split("/").last filename.chomp(".git") when :binary filename = @source.split("/").last filename.chomp(".json") else raise AppError.new, "Unrecognized origin '#{@origin}'" end end
new_version_file()
click to toggle source
# File lib/carthage_dependency.rb, line 30 def new_version_file VersionFile.new(version_filepath) end
to_s()
click to toggle source
# File lib/carthage_dependency.rb, line 65 def to_s "#{@origin.to_s} \"#{@source}\" \"#{@version}\"" end
verify_version_in_version_file(version_file)
click to toggle source
# File lib/carthage_dependency.rb, line 59 def verify_version_in_version_file(version_file) if @version != version_file.version raise OutdatedFrameworkBuildError.new(guessed_framework_basename, version_file.version, @version) end end
version_filename()
click to toggle source
# File lib/carthage_dependency.rb, line 51 def version_filename ".#{guessed_framework_basename}.version" end
version_filepath()
click to toggle source
# File lib/carthage_dependency.rb, line 55 def version_filepath File.join(CARTHAGE_BUILD_DIR, version_filename) end