class CarthageCache::CartfileResolvedFile

Attributes

file_path[R]
swift_version_resolver[R]
terminal[R]

Public Class Methods

new(file_path, terminal, swift_version_resolver = SwiftVersionResolver.new) click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 11
def initialize(file_path, terminal, swift_version_resolver = SwiftVersionResolver.new)
  @file_path = file_path
  @swift_version_resolver = swift_version_resolver
  @terminal = terminal
end

Public Instance Methods

content() click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 21
def content
  @content ||= File.read(file_path)
end
digest() click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 17
def digest
  @digest ||= generate_digest
end
frameworks() click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 29
def frameworks
  @frameworks ||= content.each_line.map { |line| extract_framework_name(line) }
end
swift_version() click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 25
def swift_version
  @swift_version ||= swift_version_resolver.swift_version
end

Private Instance Methods

extract_framework_name(cartfile_line) click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 43
def extract_framework_name(cartfile_line)
  cartfile_line.split(" ")[1].split("/").last.gsub('"', "")
end
generate_digest() click to toggle source
# File lib/carthage_cache/carthage_resolved_file.rb, line 35
def generate_digest
  terminal.vputs "Generating carthage_cache archive digest using swift version '#{swift_version}' and " \
                "the content of '#{file_path}'"
  generated_digest = Digest::SHA256.hexdigest(content + "#{swift_version}")
  terminal.vputs "Generated digest: #{generated_digest}"
  generated_digest
end