class Cumulus::S3::ReplicationDiff

Public: Represents a single difference between local configuration and AWS S3 Replication configuration.

Public Class Methods

new(type, aws = nil, local = nil) click to toggle source
Calls superclass method Cumulus::Common::Diff::new
# File lib/s3/models/ReplicationDiff.rb, line 21
def initialize(type, aws = nil, local = nil)
  super(type, aws, local)

  if aws and local
    @prefixes = Common::ListChange.new(
      local.prefixes - aws.prefixes,
      aws.prefixes - local.prefixes
    )
  end
end

Public Instance Methods

asset_type() click to toggle source
# File lib/s3/models/ReplicationDiff.rb, line 32
def asset_type
  "S3 Replication"
end
aws_name() click to toggle source
# File lib/s3/models/ReplicationDiff.rb, line 36
def aws_name
  "Configuration"
end
diff_string() click to toggle source
# File lib/s3/models/ReplicationDiff.rb, line 44
def diff_string
  case @type
  when DESTINATION
    "Destination: AWS - #{Colors.aws_changes(@aws.destination)}, Local - #{Colors.local_changes(@local.destination)}"
  when ROLE
    "IAM Role: AWS - #{Colors.aws_changes(@aws.iam_role)}, Local - #{Colors.local_changes(@local.iam_role)}"
  when PREFIX
    [
      "Prefixes:",
      @prefixes.removed.map { |p| Colors.removed("\t#{p}") },
      @prefixes.added.map { |p| Colors.added("\t#{p}") },
    ].flatten.join("\n")
  end
end
local_name() click to toggle source
# File lib/s3/models/ReplicationDiff.rb, line 40
def local_name
  "Configuration"
end