Class: Pod::Installer::Analyzer::AnalysisResult
- Inherits:
-
Object
- Object
- Pod::Installer::Analyzer::AnalysisResult
- Defined in:
- lib/cocoapods/installer/analyzer/analysis_result.rb
Overview
A simple container produced after a analysis is completed by the Pod::Installer::Analyzer.
Instance Attribute Summary collapse
-
#pod_targets ⇒ Array<PodTarget>
readonly
The pod targets created for all the aggregate targets.
-
#podfile_dependency_cache ⇒ PodfileDependencyCache
readonly
The cache of all dependencies in the podfile.
-
#podfile_state ⇒ SpecsState
readonly
The states of the Podfile specs.
-
#sandbox_state ⇒ SpecsState
readonly
The states of the Sandbox respect the resolved specifications.
-
#specifications ⇒ Array<Specification>
readonly
The specifications of the resolved version of Pods that should be installed.
-
#specs_by_source ⇒ Hash{Source => Array<Specification>}
readonly
The specifications grouped by spec repo source.
-
#specs_by_target ⇒ Hash{TargetDefinition => Array<Specification>}
readonly
The specifications grouped by target.
-
#targets ⇒ Array<AggregateTarget>
readonly
The aggregate targets created for each TargetDefinition from the Podfile.
Instance Method Summary collapse
-
#all_user_build_configurations ⇒ Hash{String=>Symbol}
A hash representing all the user build configurations across all integration targets.
-
#initialize(podfile_state, specs_by_target, specs_by_source, specifications, sandbox_state, targets, pod_targets, podfile_dependency_cache) ⇒ AnalysisResult
constructor
A new instance of AnalysisResult.
-
#needs_install? ⇒ Boolean
Whether an installation should be performed or this CocoaPods project is already up to date.
-
#podfile_needs_install? ⇒ Boolean
Whether the podfile has changes respect to the lockfile.
-
#sandbox_needs_install? ⇒ Boolean
Whether the sandbox is in synch with the lockfile.
Constructor Details
#initialize(podfile_state, specs_by_target, specs_by_source, specifications, sandbox_state, targets, pod_targets, podfile_dependency_cache) ⇒ AnalysisResult
Returns a new instance of AnalysisResult.
39 40 41 42 43 44 45 46 47 48 49 |
# 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 |
Instance Attribute Details
#pod_targets ⇒ Array<PodTarget> (readonly)
Returns The pod targets created for all the aggregate targets.
33 34 35 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 33 def pod_targets @pod_targets end |
#podfile_dependency_cache ⇒ PodfileDependencyCache (readonly)
Returns the cache of all dependencies in the podfile.
37 38 39 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 37 def podfile_dependency_cache @podfile_dependency_cache end |
#podfile_state ⇒ SpecsState (readonly)
Returns the states of the Podfile specs.
9 10 11 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 9 def podfile_state @podfile_state end |
#sandbox_state ⇒ SpecsState (readonly)
Returns the states of the Sandbox respect the resolved specifications.
25 26 27 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 25 def sandbox_state @sandbox_state end |
#specifications ⇒ Array<Specification> (readonly)
Returns the specifications of the resolved version of Pods that should be installed.
21 22 23 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 21 def specifications @specifications end |
#specs_by_source ⇒ Hash{Source => Array<Specification>} (readonly)
Returns the specifications grouped by spec repo source.
17 18 19 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 17 def specs_by_source @specs_by_source end |
#specs_by_target ⇒ Hash{TargetDefinition => Array<Specification>} (readonly)
Returns the specifications grouped by target.
13 14 15 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 13 def specs_by_target @specs_by_target end |
#targets ⇒ Array<AggregateTarget> (readonly)
Returns The aggregate targets created for each TargetDefinition from the Podfile.
29 30 31 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 29 def targets @targets end |
Instance Method Details
#all_user_build_configurations ⇒ Hash{String=>Symbol}
Returns 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
).
56 57 58 59 60 |
# 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 |
#needs_install? ⇒ Boolean
Returns Whether an installation should be performed or this CocoaPods project is already up to date.
65 66 67 |
# File 'lib/cocoapods/installer/analyzer/analysis_result.rb', line 65 def needs_install? podfile_needs_install? || sandbox_needs_install? end |
#podfile_needs_install? ⇒ Boolean
Returns Whether the podfile has changes respect to the lockfile.
71 72 73 74 75 |
# 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 |
#sandbox_needs_install? ⇒ Boolean
Returns Whether the sandbox is in synch with the lockfile.
79 80 81 82 83 |
# 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 |