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’.
-
#changelog ⇒ String
The changelog.
-
#cocoapods_version ⇒ Requirement
The CocoaPods version required to use the specification.
-
#deprecated ⇒ Boolean
Whether the Pod has been deprecated.
-
#deprecated? ⇒ Boolean
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.
-
#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.
-
#readme ⇒ String
The readme.
-
#requires_arc ⇒ Bool, ...
The requires_arc value.
-
#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.
-
#static_framework ⇒ Boolean
Indicates, that if use_frameworks! is specified, the framework should include a static library.
-
#summary ⇒ String
A short description of the Pod.
-
#swift_version ⇒ Version
deprecated
Deprecated.
in favor of #swift_versions
-
#swift_versions ⇒ Array<Version>
The Swift versions supported by the specification.
-
#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.
77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 77 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 |
#changelog ⇒ String
Returns The changelog.
110 111 112 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 110 def changelog attributes_hash['changelog'] end |
#cocoapods_version ⇒ Requirement
Returns The CocoaPods version required to use the specification.
61 62 63 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 61 def cocoapods_version @cocoapods_version ||= Requirement.create(attributes_hash['cocoapods_version']) end |
#deprecated ⇒ Boolean
Returns Whether the Pod has been deprecated.
197 198 199 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 197 def deprecated attributes_hash['deprecated'] end |
#deprecated? ⇒ Boolean
Returns Wether the pod is deprecated either in favor of some other pod or simply deprecated.
211 212 213 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 211 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.
204 205 206 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 204 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.
160 161 162 163 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 160 def description description = attributes_hash['description'] description.strip_heredoc.chomp if description end |
#documentation_url ⇒ String, Nil
Returns The documentation URL of the Pod if specified.
177 178 179 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 177 def documentation_url attributes_hash['documentation_url'] end |
#homepage ⇒ String
Returns The URL of the homepage of the Pod.
133 134 135 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 133 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.
118 119 120 121 122 123 124 125 126 127 128 129 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 118 def license license = attributes_hash['license'] if license.is_a?(String) { :type => license } elsif license.is_a?(Hash) license = Specification.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.
218 219 220 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 218 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.
183 184 185 186 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 183 def prepare_command command = attributes_hash['prepare_command'] command.strip_heredoc.chomp if command end |
#readme ⇒ String
Returns The readme.
104 105 106 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 104 def readme attributes_hash['readme'] end |
#requires_arc ⇒ Bool, ...
Returns The requires_arc value.
24 25 26 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 24 def requires_arc attributes_hash['requires_arc'] end |
#screenshots ⇒ Array<String>
The value is coerced to an array.
Returns The list of the URL for the screenshots of the Pod.
170 171 172 173 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 170 def screenshots value = attributes_hash['screenshots'] [*value] end |
#social_media_url ⇒ String
Returns The social media URL.
98 99 100 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 98 def attributes_hash['social_media_url'] end |
#source ⇒ Hash{Symbol=>String}
Returns The location from where the library should be retrieved.
140 141 142 143 144 145 146 147 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 140 def source value = attributes_hash['source'] if value && value.is_a?(Hash) Specification.convert_keys_to_symbol(value) else value end end |
#static_framework ⇒ Boolean
Returns Indicates, that if use_frameworks! is specified, the framework should include a static library.
191 192 193 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 191 def static_framework attributes_hash['static_framework'] end |
#summary ⇒ String
Returns A short description of the Pod.
151 152 153 154 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 151 def summary summary = attributes_hash['summary'] summary.strip_heredoc.chomp if summary end |
#swift_version ⇒ Version
in favor of #swift_versions
Returns The Swift version specified by the specification.
42 43 44 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 42 def swift_version swift_versions.last end |
#swift_versions ⇒ Array<Version>
Returns The Swift versions supported by the specification.
48 49 50 51 52 53 54 55 56 57 |
# File 'lib/cocoapods-core/specification/root_attribute_accessors.rb', line 48 def swift_versions @swift_versions ||= begin swift_versions = Array(attributes_hash['swift_versions']).dup # Pre 1.7.0, the DSL was singularized as it supported only a single version of Swift. In 1.7.0 the DSL # is now pluralized always and a specification can support multiple versions of Swift. This ensures # we parse the old JSON serialized format and include it as part of the Swift versions supported. swift_versions << attributes_hash['swift_version'] unless attributes_hash['swift_version'].nil? swift_versions.map { |swift_version| Version.new(swift_version) }.uniq.sort end end |