class AwsTestDump::DynamoTableDataRestore

Public Class Methods

new(dump_file) click to toggle source
Calls superclass method AwsTestDump::BaseDynamoProcessor::new
# File lib/aws_test_dump.rb, line 255
def initialize(dump_file)
  super dump_file
  @table_name = nil
  @data = nil
  @data_dump_definition = nil
end

Public Instance Methods

data() click to toggle source
# File lib/aws_test_dump.rb, line 290
def data
  parse_file if @data.nil?
  @data
end
data_dump_definition() click to toggle source
# File lib/aws_test_dump.rb, line 278
def data_dump_definition
  if @data_dump_definition.nil?
    @data_dump_definition = DATA_DUMP_DEFINITIONS.find { |x| x[:table_name] == table_name} || {}
  end
  @data_dump_definition
end
parse_file() click to toggle source
# File lib/aws_test_dump.rb, line 272
def parse_file
  file_contents = YAML.load(File.open(@dump_file))
  @table_name = file_contents[:table_name]
  @data = file_contents[:data]
end
run() click to toggle source
# File lib/aws_test_dump.rb, line 262
def run
  data.each_with_index do |item, index|
    if index == 0
      item.merge!(data_dump_definition.fetch(:replace_first, {}))
    end
    item.merge!(data_dump_definition.fetch(:replace_these, {}))
    @dynamo_client.put_item({:table_name => table_name, item: item})
  end
end
table_name() click to toggle source
# File lib/aws_test_dump.rb, line 285
def table_name
  parse_file if @table_name.nil?
  @table_name
end