lib/cellect/server/adapters/postgres.rb in cellect-server-0.1.3 vs lib/cellect/server/adapters/postgres.rb in cellect-server-1.0.0
- old
+ new
@@ -8,11 +8,11 @@
def initialize
@pg ||= ConnectionPool.new(size: ENV.fetch('PG_POOL_SIZE', 25).to_i) do
PG.connect connection_options
end
end
-
+
def workflow_list(*names)
with_pg do |pg|
statement = 'SELECT * FROM workflows'
statement += case names.length
when 0
@@ -31,11 +31,11 @@
'grouped' => row['grouped'] == 't'
}
end
end
end
-
+
def load_data_for(workflow_name)
with_pg do |pg|
statement = <<-SQL
SELECT sms.id as id, sms.priority as priority, sms.subject_set_id as group_id
FROM workflows w
@@ -50,11 +50,11 @@
'group_id' => row['group_id'].to_i
}
end
end
end
-
+
def load_user(workflow_name, id)
with_pg do |pg|
statement = <<-SQL
SELECT set_member_subject_ids FROM user_seen_subjects
WHERE user_id = #{ id } AND workflow_id = #{ workflow_name }
@@ -62,14 +62,14 @@
pg.exec(statement).collect do |row|
row['subject_ids'].map(&:to_i)
end
end
end
-
+
def with_pg
@pg.with{ |pg| yield pg }
end
-
+
def connection_options
{
host: ENV.fetch('PG_HOST', '127.0.0.1'),
port: ENV.fetch('PG_PORT', '5432'),
dbname: ENV.fetch('PG_DB', 'cellect'),