class Dyna::DSL::DynamoDB

Attributes

result[R]

Public Class Methods

new(context, tables, &block) click to toggle source
# File lib/dyna/dsl/dynamo_db.rb, line 8
def initialize(context, tables, &block)
  @context = context
  @result = OpenStruct.new({
    :tables => tables,
  })

  instance_eval(&block)
end

Private Instance Methods

table(name, &block) click to toggle source
# File lib/dyna/dsl/dynamo_db.rb, line 18
def table(name, &block)
  if table_names.include?(name)
    raise "Table `#{name}` is already defined"
  end

  @result.tables << Table.new(@context, name, &block).result
end
table_names() click to toggle source
# File lib/dyna/dsl/dynamo_db.rb, line 26
def table_names
  @result.tables.map(&:table_name)
end