Class: Pod::Installer::Analyzer::PodVariant

Inherits:
Object
  • Object
show all
Defined in:
lib/cocoapods/installer/analyzer/pod_variant.rb

Overview

Bundles the information needed to setup a PodTarget.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(specs, test_specs, platform, requires_frameworks = false) ⇒ PodVariant

Initialize a new instance from its attributes.

Parameters:

  • specs (Array<Specification>)

    @see #specs

  • test_specs (Array<Specification>)

    @see #test_specs

  • platform (Platform)

    @see #platform

  • requires_frameworks (Bool) (defaults to: false)

    @see #requires_frameworks?



36
37
38
39
40
41
42
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 36

def initialize(specs, test_specs, platform, requires_frameworks = false)
  @specs = specs
  @test_specs = test_specs
  @platform = platform
  @requires_frameworks = requires_frameworks
  @hash = [specs, platform, requires_frameworks].hash
end

Instance Attribute Details

#platformPlatform (readonly)

Returns the platform.

Returns:

  • (Platform)

    the platform



16
17
18
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 16

def platform
  @platform
end

#requires_frameworksBool (readonly) Also known as: requires_frameworks?

Returns whether this pod should be built as framework.

Returns:

  • (Bool)

    whether this pod should be built as framework



20
21
22
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 20

def requires_frameworks
  @requires_frameworks
end

#specsArray<Specification> (readonly)

Returns the spec and subspecs for the target.

Returns:

  • (Array<Specification>)

    the spec and subspecs for the target



8
9
10
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 8

def specs
  @specs
end

#test_specsArray<Specification> (readonly)

Returns the test specs for the target.

Returns:



12
13
14
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 12

def test_specs
  @test_specs
end

Instance Method Details

#==(other) ⇒ Bool Also known as: eql?

Note:

Test specs are intentionally not included as part of the equality for pod variants since a pod variant should not be affected by the number of test specs included.

Returns whether the Pod::Installer::Analyzer::PodVariant is equal to another taking all all their attributes into account.

Returns:



50
51
52
53
54
55
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 50

def ==(other)
  self.class == other.class &&
    requires_frameworks == other.requires_frameworks &&
    platform == other.platform &&
    specs == other.specs
end

#root_specSpecification

Returns the root specification.

Returns:



25
26
27
# File 'lib/cocoapods/installer/analyzer/pod_variant.rb', line 25

def root_spec
  specs.first.root
end