class CocoaPodsAcknowledgements::PlistGenerator
Public Class Methods
file_accessor(spec, platform, sandbox)
click to toggle source
# File lib/cocoapods_acknowledgements/plist_generator.rb, line 42 def file_accessor(spec, platform, sandbox) pod_root = sandbox.pod_dir(spec.name) if pod_root.exist? path_list = Pod::Sandbox::PathList.new(pod_root) Pod::Sandbox::FileAccessor.new(path_list, spec.consumer(platform)) end end
generate(target_description, sandbox, excluded)
click to toggle source
# File lib/cocoapods_acknowledgements/plist_generator.rb, line 12 def generate(target_description, sandbox, excluded) root_specs = target_description.specs.map(&:root).uniq.reject { |spec| excluded.include?(spec.name) } return nil if root_specs.empty? specs_metadata = root_specs.map do |spec| platform = Pod::Platform.new(target_description.platform_name) file_accessor = file_accessor(spec, platform, sandbox) license_text = license_text(spec, file_accessor) { "name" => spec.name, "version" => spec.version, "authors" => spec.authors, "socialMediaURL" => spec.social_media_url, "summary" => spec.summary, "description" => parse_markdown(spec.description), "licenseType" => spec.license[:type], "licenseText" => license_text, "homepage" => spec.homepage, } end { "specs" => specs_metadata } end
license_text(spec, file_accessor)
click to toggle source
Returns the text of the license for the given spec.
@param [Specification] spec
the specification for which license is needed.
@return [String] The text of the license. @return [Nil] If not license text could be found.
# File lib/cocoapods_acknowledgements/plist_generator.rb, line 58 def license_text(spec, file_accessor) return nil unless spec.license text = spec.license[:text] unless text if file_accessor if license_file = file_accessor.license if license_file.exist? text = IO.read(license_file) else Pod::UI.warn "Unable to read the license file `#{license_file }` " \ "for the spec `#{spec}`" end end end end text end
markdown_parser()
click to toggle source
# File lib/cocoapods_acknowledgements/plist_generator.rb, line 8 def markdown_parser @markdown_parser ||= Redcarpet::Markdown.new(Redcarpet::Render::HTML) end
parse_markdown(text)
click to toggle source
# File lib/cocoapods_acknowledgements/plist_generator.rb, line 76 def parse_markdown(text) return nil unless text markdown_parser.render(text) end