Class: DynamoLocalRuby::DynamoDBLocal

Inherits:
Object
  • Object
show all
Defined in:
lib/dynamo-local-ruby/dynamo_db_local.rb

Overview

Wrapper around Dynamo DB local process

Constant Summary collapse

PORT =
9389
ENDPOINT =
"http://localhost:#{PORT}"

Class Method Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(pid) ⇒ DynamoDBLocal

Returns a new instance of DynamoDBLocal.



9
10
11
# File 'lib/dynamo-local-ruby/dynamo_db_local.rb', line 9

def initialize(pid)
  @pid = pid
end

Class Method Details

.downObject



26
27
28
# File 'lib/dynamo-local-ruby/dynamo_db_local.rb', line 26

def down
  @instance.down if defined? @instance
end

.upObject



14
15
16
17
18
19
20
21
22
23
24
# File 'lib/dynamo-local-ruby/dynamo_db_local.rb', line 14

def up
  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

Instance Method Details

#downObject



31
32
33
34
35
36
# File 'lib/dynamo-local-ruby/dynamo_db_local.rb', line 31

def down
  return unless @pid
  Process.kill('SIGINT', @pid)
  Process.waitpid2(@pid)
  @pid = nil
end