publish

in lib/omnibus/publishers/s3_publisher.rb [22:58]


    def publish(&block)
      log.info(log_key) { "Starting S3 publisher" }

      packages.each do |package|
        
        log.debug(log_key) { "Validating '#{package.name}'" }
        package.validate!

        
        log.debug(log_key) { "Uploading '#{package.metadata.name}'" }

        s3_metadata_object = store_object(
          key_for(package, package.metadata.name),
          FFI_Yajl::Encoder.encode(package.metadata.to_hash, pretty: true),
          nil,
          access_policy
        )

        log.debug(log_key) { "Uploading is completed. Download URL (#{access_policy}): #{s3_metadata_object.public_url}" }

        
        log.info(log_key) { "Uploading '#{package.name}'" }

        s3_object = store_object(
          key_for(package, package.name),
          package.content,
          package.metadata[:md5],
          access_policy
        )

        log.info(log_key) { "Uploading is completed. Download URL (#{access_policy}): #{s3_object.public_url}" }

        
        yield(package) if block
      end
    end