Module: Pod::Specification::DSL::RootAttributesAccessors
- Defined in:
- lib/cocoapods-core/specification/root_attribute_accessors.rb
Overview
Provides the accessors methods for the root attributes. Root attributes do not support multi-platform values and inheritance.
Instance Method Summary collapse
-
#authors ⇒ Hash
A hash containing the authors as the keys and their email address as the values.
-
#base_name ⇒ String
The name of the specification not including the names of the parents, in case of ‘sub-specifications’.
-
#cocoapods_version ⇒ Requirement
The CocoaPods version required to use the specification.
-
#deprecated ⇒ Bool
Whether the Pod has been deprecated.
-
#deprecated? ⇒ Bool
Wether the pod is deprecated either in favor of some other pod or simply deprecated.
-
#deprecated_in_favor_of ⇒ String
The name of the Pod that this one has been deprecated in favor of.
-
#description ⇒ String
A longer description of the Pod.
-
#docset_url ⇒ String
The docset URL.
-
#documentation_url ⇒ String, Nil
The documentation URL of the Pod if specified.
-
#homepage ⇒ String
The URL of the homepage of the Pod.
-
#license ⇒ Hash
A hash containing the license information of the Pod.
-
#module_map ⇒ String, Nil
The custom module map file of the Pod, if specified.
-
#name ⇒ String
The name of the specification including the names of the parents, in case of ‘sub-specifications’.
-
#prepare_command ⇒ String, Nil
The prepare command of the Pod if specified.
-
#screenshots ⇒ Array<String>
The list of the URL for the screenshots of the Pod.
-
#social_media_url ⇒ String
The social media URL.
-
#source ⇒ Hash{Symbol=>String}
The location from where the library should be retrieved.
-
#summary ⇒ String
A short description of the Pod.
-
#version ⇒ Version
The version of the Pod.
Instance Method Details
#authors ⇒ Hash
The value is coerced to a hash with a nil email if needed.
Returns a hash containing the authors as the keys and their email address as the values.
55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 55 def = attributes_hash['authors'] if .is_a?(Hash) elsif .is_a?(Array) result = {} .each do |name_or_hash| if name_or_hash.is_a?(String) result[name_or_hash] = nil else result.merge!(name_or_hash) end end result elsif .is_a?(String) { => nil } end end |
#base_name ⇒ String
Returns The name of the specification not including the names of the parents, in case of ‘sub-specifications’.
11 12 13 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 11 def base_name attributes_hash['name'] end |
#cocoapods_version ⇒ Requirement
Returns The CocoaPods version required to use the specification.
39 40 41 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 39 def cocoapods_version @cocoapods_version ||= Requirement.create(attributes_hash['cocoapods_version']) end |
#deprecated ⇒ Bool
Returns Whether the Pod has been deprecated.
157 158 159 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 157 def deprecated attributes_hash['deprecated'] end |
#deprecated? ⇒ Bool
Returns Wether the pod is deprecated either in favor of some other pod or simply deprecated.
171 172 173 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 171 def deprecated? deprecated || !deprecated_in_favor_of.nil? end |
#deprecated_in_favor_of ⇒ String
Returns The name of the Pod that this one has been deprecated in favor of.
164 165 166 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 164 def deprecated_in_favor_of attributes_hash['deprecated_in_favor_of'] end |
#description ⇒ String
The indentation is stripped from the description.
Returns A longer description of the Pod.
127 128 129 130 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 127 def description description = attributes_hash['description'] description.strip_heredoc.chomp if description end |
#docset_url ⇒ String
Returns The docset URL.
82 83 84 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 82 def docset_url attributes_hash['docset_url'] end |
#documentation_url ⇒ String, Nil
Returns The documentation URL of the Pod if specified.
144 145 146 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 144 def documentation_url attributes_hash['documentation_url'] end |
#homepage ⇒ String
Returns The URL of the homepage of the Pod.
105 106 107 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 105 def homepage attributes_hash['homepage'] end |
#license ⇒ Hash
The indentation is stripped from the license text.
Returns A hash containing the license information of the Pod.
90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 90 def license license = attributes_hash['license'] if license.is_a?(String) { :type => license } elsif license.is_a?(Hash) license = convert_keys_to_symbol(license) license[:text] = license[:text].strip_heredoc if license[:text] license else {} end end |
#module_map ⇒ String, Nil
Returns The custom module map file of the Pod, if specified.
178 179 180 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 178 def module_map attributes_hash['module_map'] end |
#name ⇒ String
Returns The name of the specification including the names of the parents, in case of ‘sub-specifications’.
18 19 20 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 18 def name parent ? "#{parent.name}/#{base_name}" : base_name end |
#prepare_command ⇒ String, Nil
Returns The prepare command of the Pod if specified.
150 151 152 153 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 150 def prepare_command command = attributes_hash['prepare_command'] command.strip_heredoc.chomp if command end |
#screenshots ⇒ Array<String>
The value is coerced to an array.
Returns The list of the URL for the screenshots of the Pod.
137 138 139 140 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 137 def screenshots value = attributes_hash['screenshots'] [*value] end |
#social_media_url ⇒ String
Returns The social media URL.
76 77 78 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 76 def attributes_hash['social_media_url'] end |
#source ⇒ Hash{Symbol=>String}
Returns The location from where the library should be retrieved.
112 113 114 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 112 def source convert_keys_to_symbol(attributes_hash['source']) end |
#summary ⇒ String
Returns A short description of the Pod.
118 119 120 121 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 118 def summary summary = attributes_hash['summary'] summary.strip_heredoc.chomp if summary end |
#version ⇒ Version
The version is memoized because the Resolvers sets the head state on it. This information should be stored in the specification instance and the lockfile should have a more robust handling of head versions (like a dedicated section).
Returns The version of the Pod.
29 30 31 32 33 34 35 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 29 def version if root? @version ||= Version.new(attributes_hash['version']) else @version ||= root.version end end |