Sha256: 5148f023a8ce3e320aeaf3178ae1f64ff2c01c17f28d10c01c669fd9303c1ffc

Contents?: true

Size: 839 Bytes

Versions: 23

Compression:

Stored size: 839 Bytes

Contents

module Appfuel
  module Dynamodb
    class PrimaryKey
      attr_reader :hash_key, :range_key

      def initialize(hash_key, hash_type, range_key = nil, range_type = nil)
        @hash_key = hash_key.to_sym
        @hash_type = hash_type
        unless range_key.nil?
          if range_type.nil?
            fail "range_type is required for primary range key"
          end
          @range_key = range_key
          @range_type = range_type
        end
      end

      def composite?
        !range_key.nil?
      end

      def params(hash_value, range_value = nil)
        data = { hash_key => hash_value }
        if composite?
          if range_value.nil?
            fail "This is a composite key range_value is required"
          end
          data[range_key] = range_value
        end
        data
      end
    end
  end
end

Version data entries

23 entries across 23 versions & 1 rubygems

Version Path
appfuel-0.7.0 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.16 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.15 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.14 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.13 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.12 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.11 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.10 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.9 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.8 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.7 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.6 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.5 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.4 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.3 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.6.1 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.5.16 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.5.15 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.5.14 lib/appfuel/storage/dynamodb/primary_key.rb
appfuel-0.5.13 lib/appfuel/storage/dynamodb/primary_key.rb