Class: Rom::Dynamo::Repository
- Inherits:
-
ROM::Repository
- Object
- ROM::Repository
- Rom::Dynamo::Repository
- Defined in:
- lib/rom/dynamo/repository.rb
Instance Method Summary collapse
- #[](name) ⇒ Object
- #dataset(name) ⇒ Object
- #dataset?(name) ⇒ Boolean
-
#initialize(uri) ⇒ Repository
constructor
A new instance of Repository.
- #use_logger(logger) ⇒ Object
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
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 |