Class: Pod::Specification::Set::Presenter
- Inherits:
-
Object
- Object
- Pod::Specification::Set::Presenter
- Defined in:
- lib/cocoapods-core/specification/set/presenter.rb
Overview
Provides support for presenting a Pod described by a Pod::Specification::Set in a consistent way across clients of CocoaPods-Core.
Instance Attribute Summary collapse
-
#set ⇒ Set
readonly
The set that should be presented.
Set Information collapse
-
#name ⇒ String
The name of the Pod.
-
#sources ⇒ Array<String>
The name of the sources that contain the Pod sorted alphabetically.
-
#version ⇒ Version
The highest version of available for the Pod.
-
#versions ⇒ Array<Version>
All the versions available ascending order.
-
#versions_by_source ⇒ String
All the versions available sorted from the highest to the lowest.
Specification Information collapse
-
#authors ⇒ String
The list of the authors of the Pod in sentence format.
-
#deprecation_description ⇒ String
A string that describes the deprecation of the pod.
-
#description ⇒ String
The description of the Pod, if no description is available the summary is returned.
-
#homepage ⇒ String
The homepage of the pod.
-
#license ⇒ String
The type of the license of the Pod.
-
#platform ⇒ String
The platforms supported by the Pod.
-
#source_url ⇒ String
The URL of the source of the Pod.
-
#spec ⇒ Specification
The specification of the Pod::Specification::Set.
-
#subspecs ⇒ Array
An array containing all the subspecs of the Pod.
-
#summary ⇒ String
A short description, expected to be 140 characters long of the Pod.
Statistics collapse
-
#github_forks ⇒ Integer
The GitHub forks of the repo of the Pod.
-
#github_stargazers ⇒ Integer
The GitHub likes of the repo of the Pod.
Private Helpers collapse
Instance Method Summary collapse
-
#initialize(set) ⇒ Presenter
constructor
A new instance of Presenter.
Constructor Details
#initialize(set) ⇒ Presenter
Returns a new instance of Presenter.
16 17 18 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 16 def initialize(set) @set = set end |
Instance Attribute Details
#set ⇒ Set (readonly)
Returns the set that should be presented.
12 13 14 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 12 def set @set end |
Instance Method Details
#authors ⇒ String
Returns the list of the authors of the Pod in sentence format.
88 89 90 91 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 88 def return '' unless spec. spec..keys.to_sentence end |
#deprecation_description ⇒ String
Returns A string that describes the deprecation of the pod. If the pod is deprecated in favor of another pod it will contain information about that. If the pod is not deprecated returns nil.
122 123 124 125 126 127 128 129 130 131 132 133 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 122 def deprecation_description if spec.deprecated? description = '[DEPRECATED' description += if spec.deprecated_in_favor_of.nil? ']' else " in favor of #{spec.deprecated_in_favor_of}]" end description end end |
#description ⇒ String
Returns the description of the Pod, if no description is available the summary is returned.
109 110 111 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 109 def description spec.description || spec.summary end |
#github_forks ⇒ Integer
Returns the GitHub forks of the repo of the Pod.
185 186 187 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 185 def github_forks github_metrics['forks'] end |
#github_metrics ⇒ Object
197 198 199 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 197 def github_metrics metrics['github'] || {} end |
#github_stargazers ⇒ Integer
Returns the GitHub likes of the repo of the Pod.
179 180 181 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 179 def github_stargazers github_metrics['stargazers'] end |
#homepage ⇒ String
Returns the homepage of the pod.
95 96 97 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 95 def homepage spec.homepage end |
#license ⇒ String
Returns the type of the license of the Pod.
163 164 165 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 163 def license spec.license[:type] if spec.license end |
#metrics ⇒ Object
193 194 195 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 193 def metrics @metrics ||= Metrics.pod(name) || {} end |
#name ⇒ String
Returns the name of the Pod.
26 27 28 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 26 def name @set.name end |
#platform ⇒ String
Returns the platforms supported by the Pod.
150 151 152 153 154 155 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 150 def platform sorted_platforms = spec.available_platforms.sort do |a, b| a.to_s.downcase <=> b.to_s.downcase end sorted_platforms.join(' - ') end |
#source_url ⇒ String
Returns the URL of the source of the Pod.
137 138 139 140 141 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 137 def source_url url_keys = [:git, :svn, :http, :hg, :path] key = spec.source.keys.find { |k| url_keys.include?(k) } key ? spec.source[key] : 'No source url' end |
#sources ⇒ Array<String>
Returns The name of the sources that contain the Pod sorted alphabetically.
65 66 67 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 65 def sources @set.sources.map(&:name).sort end |
#spec ⇒ Specification
Returns the specification of the Pod::Specification::Set. If no versions requirements where passed to the set it returns the highest available version.
77 78 79 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 77 def spec @spec ||= @set.specification end |
#subspecs ⇒ Array
Returns an array containing all the subspecs of the Pod.
169 170 171 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 169 def subspecs (spec.recursive_subspecs.any? && spec.recursive_subspecs) || nil end |
#summary ⇒ String
Returns a short description, expected to be 140 characters long of the Pod.
102 103 104 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 102 def summary spec.summary end |
#version ⇒ Version
Returns the highest version of available for the Pod.
32 33 34 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 32 def version @set.versions.first end |
#versions ⇒ Array<Version>
Returns all the versions available ascending order.
39 40 41 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 39 def versions @set.versions end |
#versions_by_source ⇒ String
This method orders the sources by name.
Returns all the versions available sorted from the highest to the lowest.
52 53 54 55 56 57 58 59 60 |
# File 'lib/cocoapods-core/specification/set/presenter.rb', line 52 def versions_by_source result = [] versions_by_source = @set.versions_by_source @set.sources.sort.each do |source| versions = versions_by_source[source] result << "#{versions.map(&:to_s) * ', '} [#{source.name} repo]" end result * ' - ' end |