Class: Rom::Dynamo::Repository

Inherits:
ROM::Repository
  • Object
show all
Defined in:
lib/rom/dynamo/repository.rb

Instance Method Summary collapse

Constructor Details

#initialize(uri) ⇒ Repository

Returns a new instance of Repository.



7
8
9
10
11
12
# File 'lib/rom/dynamo/repository.rb', line 7

def initialize(uri)
  uri = URI.parse(uri)
  @connection = Aws::DynamoDB::Client.new(region: uri.host)
  @prefix = uri.path.gsub('/', '')
  @datasets = {}
end

Instance Method Details

#[](name) ⇒ Object



29
30
31
# File 'lib/rom/dynamo/repository.rb', line 29

def [](name)
  @datasets[name]
end

#dataset(name) ⇒ Object



18
19
20
21
# File 'lib/rom/dynamo/repository.rb', line 18

def dataset(name)
  name = "#{@prefix}#{name}"
  @datasets[name] ||= Dataset.new(name, @connection)
end

#dataset?(name) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
26
27
# File 'lib/rom/dynamo/repository.rb', line 23

def dataset?(name)
  name = "#{@prefix}#{name}"
  list = connection.list_tables
  list[:table_names].include?(name)
end

#use_logger(logger) ⇒ Object



14
15
16
# File 'lib/rom/dynamo/repository.rb', line 14

def use_logger(logger)
  @logger = logger
end