Module: Aws::Record::SecondaryIndexes::SecondaryIndexesClassMethods

Included in:
Aws::Record
Defined in:
lib/aws-record/record/secondary_indexes.rb

Instance Method Summary collapse

Instance Method Details

#global_secondary_index(name, opts) ⇒ Object

Creates a global secondary index for the model. Learn more about Global Secondary Indexes in the Amazon DynamoDB Developer Guide.

Options Hash (opts):

  • :hash_key (Symbol)

    the hash key used by this global secondary index.

  • :range_key (Symbol)

    the range key used by this global secondary index.

  • :projection (Hash)

    a hash which defines which attributes are copied from the table to the index. See shape details in the AWS SDK for Ruby V2 docs.



58
59
60
61
# File 'lib/aws-record/record/secondary_indexes.rb', line 58

def global_secondary_index(name, opts)
  _validate_required_gsi_keys(opts)
  global_secondary_indexes[name] = opts
end

#global_secondary_indexesHash



71
72
73
# File 'lib/aws-record/record/secondary_indexes.rb', line 71

def global_secondary_indexes
  @global_secondary_indexes
end

#global_secondary_indexes_for_migrationHash



85
86
87
# File 'lib/aws-record/record/secondary_indexes.rb', line 85

def global_secondary_indexes_for_migration
  _migration_format_indexes(global_secondary_indexes)
end

#local_secondary_index(name, opts) ⇒ Object

Creates a local secondary index for the model. Learn more about Local Secondary Indexes in the Amazon DynamoDB Developer Guide.

Options Hash (opts):

  • :range_key (Symbol)

    the range key used by this local secondary index. Note that the hash key MUST be the table’s hash key, and so that value will be filled in for you.

  • :projection (Hash)

    a hash which defines which attributes are copied from the table to the index. See shape details in the AWS SDK for Ruby V2 docs.



39
40
41
42
43
# File 'lib/aws-record/record/secondary_indexes.rb', line 39

def local_secondary_index(name, opts)
  opts[:hash_key] = hash_key
  _validate_required_lsi_keys(opts)
  local_secondary_indexes[name] = opts
end

#local_secondary_indexesHash



65
66
67
# File 'lib/aws-record/record/secondary_indexes.rb', line 65

def local_secondary_indexes
  @local_secondary_indexes
end

#local_secondary_indexes_for_migrationHash



78
79
80
# File 'lib/aws-record/record/secondary_indexes.rb', line 78

def local_secondary_indexes_for_migration
  _migration_format_indexes(local_secondary_indexes)
end