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)