Sha256: 49320b5c82b50aa4046fedf95b0864198fabae9f0157353cad20b92c9c302a0e

Contents?: true

Size: 574 Bytes

Versions: 3

Compression:

Stored size: 574 Bytes

Contents

# frozen_string_literal: true

module DynamodbRecord
  module Finders
    extend ActiveSupport::Concern

    class_methods do
      def find(id, range_key = nil)
        find!(id, range_key)
      rescue StandardError
        nil
      end

      def find!(id, range_key = nil)
        key = {}
        key[hash_key] = id
        key[self.range_key] = range_key if self.range_key

        response = client.get_item(
          table_name:,
          key:
        )
        response.item ? from_database(response.item) : raise('Record Not Found')
      end
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
dynamodb_record-0.2.2 lib/dynamodb_record/finders.rb
dynamodb_record-0.2.1 lib/dynamodb_record/finders.rb
dynamodb_record-0.2.0 lib/dynamodb_record/finders.rb