module Halite::Converter::Metadata
Converter
module to create the metadata.rb for the cookbook.
@since 1.0.0 @api private
Public Class Methods
generate(gem_data)
click to toggle source
Generate a cookbook metadata file.
@param gem_data [Halite::Gem] Gem
to generate from. @return [String]
# File lib/halite/converter/metadata.rb, line 29 def self.generate(gem_data) ''.tap do |buf| buf << gem_data.license_header buf << "name #{gem_data.cookbook_name.inspect}\n" buf << "version #{gem_data.cookbook_version.inspect}\n" if gem_data.spec.description && !gem_data.spec.description.empty? buf << "description #{gem_data.spec.description.inspect}\n" end if readme_path = gem_data.find_misc_path('Readme') # rubocop:disable Lint/AssignmentInCondition buf << "long_description #{IO.read(readme_path).inspect}\n" end buf << "maintainer #{gem_data.spec.authors.join(', ').inspect}\n" unless gem_data.spec.authors.empty? buf << "maintainer_email #{Array(gem_data.spec.email).join(',').inspect}\n" if gem_data.spec.email buf << "source_url #{gem_data.spec.homepage.inspect} if defined?(source_url)\n" if gem_data.spec.homepage buf << "issues_url #{gem_data.issues_url.inspect} if defined?(issues_url)\n" if gem_data.issues_url buf << "license #{gem_data.spec.licenses.join(', ').inspect}\n" unless gem_data.spec.licenses.empty? gem_data.cookbook_dependencies.each do |dep| buf << "depends #{dep.name.inspect}" buf << ", #{dep.requirement.inspect}" if dep.requirement != '>= 0' buf << "\n" end buf << "chef_version #{gem_data.chef_version_requirement.map(&:inspect).join(', ')} if defined?(chef_version)\n" gem_data.platforms.each do |platform| buf << "supports #{platform.map(&:inspect).join(', ')}\n" end end end
write(gem_data, output_path)
click to toggle source
Write out a cookbook metadata file.
@param gem_data [Halite::Gem] Gem
to generate from. @param output_path [String] Output path for the cookbook. @return [void]
# File lib/halite/converter/metadata.rb, line 62 def self.write(gem_data, output_path) IO.write(File.join(output_path, 'metadata.rb'), generate(gem_data)) end