Module: Dynamoid::Document::ClassMethods

Defined in:
lib/dynamoid/document.rb

Instance Method Summary (collapse)

Instance Method Details

- (Dynamoid::Document) build(attrs = {})

Initialize a new object.

Parameters:

  • attrs (Hash) (defaults to: {})

    Attributes with which to create the object.

Returns:

Since:

  • 0.2.0



82
83
84
# File 'lib/dynamoid/document.rb', line 82

def build(attrs = {})
  new(attrs)
end

- (Dynamoid::Document) create(attrs = {})

Initialize a new object and immediately save it to the database.

Parameters:

  • attrs (Hash) (defaults to: {})

    Attributes with which to create the object.

Returns:

Since:

  • 0.2.0



60
61
62
# File 'lib/dynamoid/document.rb', line 60

def create(attrs = {})
  new(attrs).tap(&:save)
end

- (Dynamoid::Document) create!(attrs = {})

Initialize a new object and immediately save it to the database. Raise an exception if persistence failed.

Parameters:

  • attrs (Hash) (defaults to: {})

    Attributes with which to create the object.

Returns:

Since:

  • 0.2.0



71
72
73
# File 'lib/dynamoid/document.rb', line 71

def create!(attrs = {})
  new(attrs).tap(&:save!)
end

- (Boolean) exists?(id)

Does this object exist?

Parameters:

  • id (String)

    the id of the object

Returns:

  • (Boolean)

    true/false

Since:

  • 0.2.0



93
94
95
# File 'lib/dynamoid/document.rb', line 93

def exists?(id)
  !! find(id)
end

- (Object) hash_key

Returns the id field for this class.

Since:

  • 0.4.0



49
50
51
# File 'lib/dynamoid/document.rb', line 49

def hash_key
  options[:key] || :id
end

- (Object) read_capacity

Returns the read_capacity for this table.

Since:

  • 0.4.0



35
36
37
# File 'lib/dynamoid/document.rb', line 35

def read_capacity
  options[:read_capacity] || Dynamoid::Config.read_capacity
end

- (Object) table(options = {})

Set up table options, including naming it whatever you want, setting the id key, and manually overriding read and write capacity.

Parameters:

  • options (Hash) (defaults to: {})

    options to pass for this table

Options Hash (options):

  • :name (Symbol)

    the name for the table; this still gets namespaced

  • :id (Symbol)

    id column for the table

  • :read_capacity (Integer)

    set the read capacity for the table; does not work on existing tables

  • :write_capacity (Integer)

    set the write capacity for the table; does not work on existing tables

Since:

  • 0.4.0



28
29
30
# File 'lib/dynamoid/document.rb', line 28

def table(options = {})
  self.options = options
end

- (Object) write_capacity

Returns the write_capacity for this table.

Since:

  • 0.4.0



42
43
44
# File 'lib/dynamoid/document.rb', line 42

def write_capacity
  options[:write_capacity] || Dynamoid::Config.write_capacity
end