module Pod::Specification::RecursiveDependency

Public Instance Methods

direct_dependencies() click to toggle source
# File lib/cocoapods-external-pod-sorter/cocoapods/specification.rb, line 12
def direct_dependencies
        @direct_dependencies ||= begin 
                direct_value('dependencies')
        end
end
recursive_dependencies(all_specs) click to toggle source
# File lib/cocoapods-external-pod-sorter/cocoapods/specification.rb, line 6
def recursive_dependencies(all_specs)
        @recursive_dependencies ||= begin
                resolve_recursive_dependencies(all_specs)
        end
end

Protected Instance Methods

direct_value(name, platform = :ios) click to toggle source
# File lib/cocoapods-external-pod-sorter/cocoapods/specification.rb, line 19
def direct_value(name, platform = :ios)
        subspec_consumers = recursive_subspecs.select { |s| s.supported_on_platform?(platform) }
                                                                                                                                                                .map { |s| s.consumer(platform) }
                                                                                                                                                                .uniq
        value = (Array(consumer(platform)) + subspec_consumers).map { |c| c.send(name) }.flatten.uniq
        value
end
resolve_recursive_dependencies(specs) click to toggle source
# File lib/cocoapods-external-pod-sorter/cocoapods/specification.rb, line 27
def resolve_recursive_dependencies(specs)
        direct_dependencies.map do |dep|
                spec = specs.find { |s| s.name == dep.name }
                next dep if spec.nil? || spec.direct_dependencies.empty?
                        
                (Array(dep) + spec.resolve_recursive_dependencies(specs)).flatten
        end.compact.flatten.uniq
end