lib/dynamodb_manager.rb in dynamodb_geo-0.1.0 vs lib/dynamodb_manager.rb in dynamodb_geo-0.1.1
- old
+ new
@@ -2,11 +2,11 @@
require 'geohash'
require 'store'
class DynamodbManager
attr_accessor :client, :table_name, :hash_key, :range_key, :geohash_key, :geojson, :geohash_index, :hash_key_length, :local_area_size, :max_item_return
- def initialize(region:, table_name:, access_key_id: nil, secret_access_key: nil, profile_name: 'default')
+ def initialize(region:, table_name:, access_key_id: nil, secret_access_key: nil, profile_name: 'default', endpoint: nil)
if access_key_id.nil? && secret_access_key.nil?
access_key_id = ENV['AWS_ACCESS_KEY_ID']
secret_access_key = ENV['AWS_SECRET_ACCESS_KEY']
credentials = Aws::SharedCredentials.new(profile_name: profile_name).credentials if access_key_id.nil? && secret_access_key.nil?
@@ -21,13 +21,21 @@
@geohash_index = 'geohash-index'
@hash_key_length = 4
@local_area_size = 5
@max_item_return = 10
- @client = Aws::DynamoDB::Client.new(
- region: region,
- credentials: credentials,
- )
+ if endpoint
+ @client = Aws::DynamoDB::Client.new(
+ region: region,
+ credentials: credentials,
+ endpoint: endpoint
+ )
+ else
+ @client = Aws::DynamoDB::Client.new(
+ region: region,
+ credentials: credentials,
+ )
+ end
end
def table
create_table unless @client.list_tables.table_names.include?(@table_name)