class Manifestly::ManifestDiff

Public Class Methods

new(from_manifest, to_manifest) click to toggle source
# File lib/manifestly/manifest_diff.rb, line 69
def initialize(from_manifest, to_manifest)
  @from_manifest = from_manifest
  @to_manifest = to_manifest

  @item_diffs = @to_manifest.items.collect do |to_item|
    from_item = @from_manifest.items.detect do |from_item|
      from_item.repository_name == to_item.repository_name
    end

    ItemDiff.new(from_item, to_item)
  end
end

Public Instance Methods

manifest_source_info() click to toggle source
# File lib/manifestly/manifest_diff.rb, line 86
def manifest_source_info
  repository = @from_manifest.manifest_repository
  file = @from_manifest.manifest_file
  from_sha = @from_manifest.manifest_sha
  to_sha = @to_manifest.manifest_sha

  if repository && file && from_sha && to_sha
    "Comparing manifest ***#{file}*** on repository ***#{repository.display_name}*** from commit `#{from_sha[0..9]}` to `#{to_sha[0..9]}`."
  else
    "Manifest source info is *unknown*."
  end
end
to_markdown() click to toggle source
# File lib/manifestly/manifest_diff.rb, line 82
def to_markdown
  "# Manifest Diff\n\n#{manifest_source_info}\n\n#{@item_diffs.collect(&:to_markdown).join("\n")}"
end