Module: ActiveDynamo::Query::ClassMethods

Defined in:
lib/active_dynamo/query.rb

Instance Method Summary collapse

Instance Method Details

#allObject



10
11
12
13
14
# File 'lib/active_dynamo/query.rb', line 10

def all
  db_conn.scan({ table_name: table_name }).items.map do |item|
    new(item.symbolize_keys)
  end
end

#find(**key_value) ⇒ Object



24
25
26
27
28
29
30
31
32
# File 'lib/active_dynamo/query.rb', line 24

def find(**key_value)
  obj_hash = db_conn
    .get_item({ table_name: table_name, key: key_value }).item
    .symbolize_keys

  obj = new(obj_hash)
  obj.send(:update_primary_key, key_value.keys)
  obj
end

#where(args) ⇒ Object



16
17
18
19
20
21
22
# File 'lib/active_dynamo/query.rb', line 16

def where(args)
  query = QueryGenerator.new(self).call(args)

  db_conn.query(query).items.map do |item|
    new(item.symbolize_keys)
  end
end