Module: Cql::Model::FinderMethods::ClassMethods

Defined in:
lib/cql/model/finder_methods.rb

Instance Method Summary collapse

Instance Method Details

#allObject



5
6
7
8
# File 'lib/cql/model/finder_methods.rb', line 5

def all
  query = "SELECT * FROM #{table_name}"
  execute(query)
end

#find(*args) ⇒ Object



10
11
12
13
14
15
16
17
18
19
20
# File 'lib/cql/model/finder_methods.rb', line 10

def find(*args)
  value = args.to_a.flatten.join(',')

  query = "SELECT * FROM #{table_name} WHERE #{primary_key} IN (#{value})"

  if args[0].is_a?(Array) || args.size > 1
    execute(query).to_a
  else
    execute(query).first
  end
end

#find_by(hash) ⇒ Object



22
23
24
25
26
27
28
29
30
# File 'lib/cql/model/finder_methods.rb', line 22

def find_by(hash)
  clause = "WHERE "
  clause_pieces = hash.collect {|key,value| "#{key.to_s} = '#{value}'"}
  clause << clause_pieces.join(' AND ')

  query = "SELECT * FROM #{table_name} #{clause} ALLOW FILTERING"

  execute(query).to_a
end