class DynamoLocalRuby::DynamoDBLocal

Wrapper around Dynamo DB local process

Constants

PORT

Public Class Methods

down() click to toggle source
# File lib/dynamo-local-ruby/dynamo_db_local.rb, line 29
def down
  @instance.down if defined? @instance
end
endpoint(port = PORT) click to toggle source
# File lib/dynamo-local-ruby/dynamo_db_local.rb, line 13
def endpoint(port = PORT)
  "http://localhost:#{port}"
end
new(pid) click to toggle source
# File lib/dynamo-local-ruby/dynamo_db_local.rb, line 8
def initialize(pid)
  @pid = pid
end
up(port = PORT) click to toggle source
# File lib/dynamo-local-ruby/dynamo_db_local.rb, line 17
def up(port = PORT)
  local_path = File.expand_path('../../../lib/jars/dynamodb_local',
                                __FILE__)
  lib_path = File.join(local_path, 'DynamoDBLocal_lib')
  jar_path = File.join(local_path, 'DynamoDBLocal.jar')
  pid = spawn("java -Djava.library.path=#{lib_path} -jar #{jar_path} "\
              "-sharedDb -inMemory -port #{port}")
  @instance = DynamoDBLocal.new(pid)

  @instance
end

Public Instance Methods

down() click to toggle source

rubocop:disable HandleExceptions

# File lib/dynamo-local-ruby/dynamo_db_local.rb, line 35
def down
  return unless @pid
  begin
    Process.kill('SIGINT', @pid)
    Process.waitpid2(@pid)
  rescue Errno::ECHILD, Errno::ESRCH
    # child process is dead
  end
  @pid = nil
end