Sha256: 5bf23a2b58860d11125b215a50f1a85b4b78e29d90587baa76e3300d260884be

Contents?: true

Size: 1.75 KB

Versions: 4

Compression:

Stored size: 1.75 KB

Contents

# DynamoRecord

A simple DynamoDB ORM container on aws-sdk v3 forked from https://github.com/yetanothernguyen/dynamo_record

## Installation

Add this line to your application's Gemfile:

```ruby
gem 'dynamodb_record'
```

And then execute:

    $ bundle

Or install it yourself as:

    $ gem install dynamodb_record

## Usage

### Models

To create a model with DynamoRecord, simply include the DynamoRecord::Document mixin in your class as such::

```ruby
class User
  include DynamoRecord::Document
end
```

### Fields
Declaring a field is done by using the `field` method. For example, the following defines a User model with a first and last name:

```ruby
class User
  include DynamoRecord::Document

  field :first_name, :string
  field :last_name, :string
end
```

`field` accepts the following options:
- :default to specify a default value
- :hash_key to specify a DynamoDB hash key
- :range_key to specify a DynamoDB range key
- :index to specify an index

### Persistence
DynamoRecord provides a similar persistence interface compared to other ORMs.

```ruby
user = User.new(first_name: 'John', last_name: 'Doe')
user.save

user = User.create(first_name: 'John', last_name: 'Doe')

user.destroy
```

### Querying

```ruby
users = User.all

users = User.where(first_name: 'John')

users = User.where(first_name: 'John', limit: 5)

user = User.find('f9b351b0-d06d-4fff-b8d4-8af162e2b8ba')
```
#### With error
```ruby
User.find!('f9b351b0-d06d-4fff-b8d4-8af162e2b8ba')
```

## Contributing

1. Fork it ( https://github.com/[my-github-username]/dynamo_record/fork )
2. Create your feature branch (`git checkout -b my-new-feature`)
3. Commit your changes (`git commit -am 'Add some feature'`)
4. Push to the branch (`git push origin my-new-feature`)
5. Create a new Pull Request

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
dynamodb_record-0.2.2 README.md
dynamodb_record-0.2.1 README.md
dynamodb_record-0.2.0 README.md
dynamodb_record-0.1.0 README.md