module Pod::Specification::DSL::RootAttributesAccessors
Provides the accessors methods for the root attributes. Root attributes do not support multi-platform values and inheritance.
Public Instance Methods
@return [String] The name of the specification not including the
names of the parents, in case of ‘sub-specifications’.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 11 def base_name attributes_hash['name'] end
@return [String] The changelog.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 110 def changelog attributes_hash['changelog'] end
@return [Requirement] The CocoaPods version required to use the specification.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 61 def cocoapods_version @cocoapods_version ||= Requirement.create(attributes_hash['cocoapods_version']) end
@return [Boolean] Whether the Pod
has been deprecated.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 197 def deprecated attributes_hash['deprecated'] end
@return [Boolean] Wether the pod is deprecated either in favor of some other
pod or simply deprecated.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 211 def deprecated? deprecated || !deprecated_in_favor_of.nil? end
@return [String] The name of the Pod
that this one has been
deprecated in favor of.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 204 def deprecated_in_favor_of attributes_hash['deprecated_in_favor_of'] end
@return [String] A longer description of the Pod
.
@note The indentation is stripped from the description.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 160 def description description = attributes_hash['description'] description.strip_heredoc.chomp if description end
@return [String, Nil] The documentation URL of the Pod
if specified.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 177 def documentation_url attributes_hash['documentation_url'] end
@return [String] The URL of the homepage of the Pod
.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 133 def homepage attributes_hash['homepage'] end
@return [Hash] A hash containing the license information of the Pod
.
@note The indentation is stripped from the license text.
# 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
@return [String, Nil] The custom module map file of the Pod
,
if specified.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 218 def module_map attributes_hash['module_map'] end
@return [String] The name of the specification including the names of
the parents, in case of ‘sub-specifications’.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 18 def name parent ? "#{parent.name}/#{base_name}" : base_name end
@return [String, Nil] The prepare command of the Pod
if specified.
# 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
@return [String] The readme.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 104 def readme attributes_hash['readme'] end
@return [Bool, String, Array<String>] The requires_arc
value.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 24 def requires_arc attributes_hash['requires_arc'] end
@return [Array<String>] The list of the URL for the screenshots of
the Pod.
@note The value is coerced to an array.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 170 def screenshots value = attributes_hash['screenshots'] [*value] end
@return [Hash{Symbol=>String}] The location from where the library
should be retrieved.
# 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
@return [Boolean] Indicates, that if use_frameworks! is specified, the
framework should include a static library.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 191 def static_framework attributes_hash['static_framework'] end
@return [String] A short description of the Pod
.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 151 def summary summary = attributes_hash['summary'] summary.strip_heredoc.chomp if summary end
@deprecated in favor of swift_versions
@return [Version] The Swift version specified by the specification.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 42 def swift_version swift_versions.last end
@return [Array<Version>] The Swift versions supported by the specification.
# 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
@return [Version] The version of the Pod
.
# File lib/cocoapods-core/specification/root_attribute_accessors.rb, line 30 def version if root? @version ||= Version.new(attributes_hash['version']) else @version ||= root.version end end