Module: WolfCore::NoSqlDbDataSource
- Defined in:
- lib/wolf_core/infrastructure/no_sql_db_data_source.rb
Class Method Summary collapse
- .get_item(table_name:, key:, index_name: nil) ⇒ Object
- .init(region: 'us-east-1') ⇒ Object
- .instance ⇒ Object
- .put_item(table_name:, item:) ⇒ Object
- .query(table_name:, key_condition_expression:, expression_attribute_values:, index_name: nil, limit: nil) ⇒ Object
Class Method Details
.get_item(table_name:, key:, index_name: nil) ⇒ Object
20 21 22 23 24 25 26 27 |
# File 'lib/wolf_core/infrastructure/no_sql_db_data_source.rb', line 20 def get_item(table_name:, key:, index_name: nil) get_params = { table_name: table_name, key: key } get_params[:index_name] = index_name if index_name instance.get_item(get_params).item end |
.init(region: 'us-east-1') ⇒ Object
5 6 7 |
# File 'lib/wolf_core/infrastructure/no_sql_db_data_source.rb', line 5 def init(region: 'us-east-1') @@dynamodb_client ||= Aws::DynamoDB::Client.new(region: region) end |
.instance ⇒ Object
9 10 11 |
# File 'lib/wolf_core/infrastructure/no_sql_db_data_source.rb', line 9 def instance @@dynamodb_client end |
.put_item(table_name:, item:) ⇒ Object
13 14 15 16 17 18 |
# File 'lib/wolf_core/infrastructure/no_sql_db_data_source.rb', line 13 def put_item(table_name:, item:) instance.put_item({ table_name: table_name, item: item }) end |
.query(table_name:, key_condition_expression:, expression_attribute_values:, index_name: nil, limit: nil) ⇒ Object
29 30 31 32 33 34 35 36 37 38 |
# File 'lib/wolf_core/infrastructure/no_sql_db_data_source.rb', line 29 def query(table_name:, key_condition_expression:, expression_attribute_values:, index_name: nil, limit: nil) query_params = { table_name: table_name, key_condition_expression: key_condition_expression, expression_attribute_values: expression_attribute_values } query_params[:index_name] = index_name if index_name query_params[:limit] = limit if limit instance.query(query_params).items end |