class Pod::Installer::Analyzer::AnalysisResult
A simple container produced after a analysis is completed by the {Analyzer}.
Attributes
@return [Array<PodTarget>] The pod targets created for all the aggregate targets.
@return [PodfileDependencyCache] the cache of all dependencies in the podfile.
@return [SpecsState] the states of the Podfile
specs.
@return [SpecsState] the states of the {Sandbox} respect the resolved specifications.
@return [Array<Specification>] the specifications of the resolved version of Pods that should be installed.
@return [Hash{Source => Array<Specification>}] the specifications grouped by spec repo source.
@return [Hash{TargetDefinition => Array<Specification>}] the specifications grouped by target.
@return [Array<AggregateTarget>] The aggregate targets created for each {TargetDefinition} from the {Podfile}.
Public Class Methods
# File lib/cocoapods/installer/analyzer/analysis_result.rb, line 39 def initialize(podfile_state, specs_by_target, specs_by_source, specifications, sandbox_state, targets, pod_targets, podfile_dependency_cache) @podfile_state = podfile_state @specs_by_target = specs_by_target @specs_by_source = specs_by_source @specifications = specifications @sandbox_state = sandbox_state @targets = targets @pod_targets = pod_targets @podfile_dependency_cache = podfile_dependency_cache end
Public Instance Methods
@return [Hash{String=>Symbol}] A hash representing all the user build
configurations across all integration targets. Each key corresponds to the name of a configuration and its value to its type (`:debug` or `:release`).
# File lib/cocoapods/installer/analyzer/analysis_result.rb, line 56 def all_user_build_configurations targets.reduce({}) do |result, target| result.merge(target.user_build_configurations) end end
@return [Boolean] Whether an installation should be performed or this
CocoaPods project is already up to date.
# File lib/cocoapods/installer/analyzer/analysis_result.rb, line 65 def needs_install? podfile_needs_install? || sandbox_needs_install? end
@return [Boolean] Whether the podfile has changes respect to the lockfile.
# File lib/cocoapods/installer/analyzer/analysis_result.rb, line 71 def podfile_needs_install? state = podfile_state needing_install = state.added.length + state.changed.length + state.deleted.length needing_install > 0 end
@return [Boolean] Whether the sandbox is in synch with the lockfile.
# File lib/cocoapods/installer/analyzer/analysis_result.rb, line 79 def sandbox_needs_install? state = sandbox_state needing_install = state.added.length + state.changed.length + state.deleted.length needing_install > 0 end