class Pod::Lazy::Repository
Public Class Methods
new(repository)
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 8 def initialize(repository) @repository = repository end
Public Instance Methods
fetch()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 12 def fetch @fetched_checksum = read_podfile_checksum() if @fetched_checksum.nil? Pod::Lazy::Logger.info "Podfile.lock not found" @is_generated_pods = true elsif @fetched_checksum != read_manifest_checksum() Pod::Lazy::Logger.info 'Checksum IS NOT EQUAL' Pod::Lazy::Logger.info 'Drop Pods directory' `rm -rf Pods` file_name = add_xcode_version @fetched_checksum @repository.fetch(name: file_name) @is_generated_pods = !Dir.exist?('Pods') else Pod::Lazy::Logger.info 'Checksum IS EQUAL' @is_generated_pods = false end end
should_store()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 30 def should_store @is_generated_pods || is_modified_pods? end
store()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 34 def store Pod::Lazy::Logger.info "Reason for store: #{store_reason || 'Not reason for store'}" @fetched_checksum = @fetched_checksum || read_podfile_checksum() file_name = add_xcode_version @fetched_checksum @repository.store(name: file_name) end
Private Instance Methods
add_xcode_version(name)
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 72 def add_xcode_version(name) name + "_" + xcode_version end
is_modified_pods?()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 43 def is_modified_pods? @fetched_checksum != read_manifest_checksum() end
read_checksum_from_lockfile(name)
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 65 def read_checksum_from_lockfile(name) path = Pathname.new(name) return nil unless path.exist? lockfile = Lockfile.from_file(path.realpath) lockfile.internal_data['PODFILE CHECKSUM'] end
read_manifest_checksum()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 61 def read_manifest_checksum read_checksum_from_lockfile('./Pods/Manifest.lock') end
read_podfile_checksum()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 57 def read_podfile_checksum read_checksum_from_lockfile('Podfile.lock') end
store_reason()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 47 def store_reason if @is_generated_pods "Pods is generated (not cached) so should be stored" elsif is_modified_pods? "Manifest is modified so should be stored" else nil end end
xcode_version()
click to toggle source
# File lib/cocoapods-lazy/repository.rb, line 76 def xcode_version info = `xcodebuild -version` info.lines.first.sub!(" ", "_").chomp end