actn-jobs 0.0.1 → 0.0.2
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/db/1_jobs.sql +4 -42
- data/lib/actn/jobs/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 9c379b9506d832943725349139016ce85a0237c3
|
4
|
+
data.tar.gz: b9f7924284498d8df56e61787fca1b57f79e6e08
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 4d662945aceae123085f1d38a9d811d7b354e77740d22270cf237697cc31dcc901562b300b9c53a9933844d77b6c56de2d4e87e35052831f7800a516eb2345da
|
7
|
+
data.tar.gz: 27ff8ca7f2827c55f8b38f6f2bd57fd7321ae16ca1d052cef2028c9c87c9fc6c7da8cc9396acfb3325812785fa251f4a62f0752a0a1cb475d4c37608c1183c94
|
data/db/1_jobs.sql
CHANGED
@@ -6,32 +6,10 @@ SELECT __create_table('core','jobs');
|
|
6
6
|
|
7
7
|
CREATE or REPLACE FUNCTION hook_trigger() RETURNS trigger AS
|
8
8
|
$$
|
9
|
-
|
10
|
-
model = JSON.parse(plv8.find_function("__find_model")(TG_TABLE_NAME.classify()))
|
9
|
+
actn.funcs.hook_trigger(TG_TABLE_NAME, TG_OP, NEW, OLD);
|
11
10
|
|
12
|
-
callback = {
|
13
|
-
INSERT: "after_create"
|
14
|
-
UPDATE: "after_update"
|
15
|
-
DELETE: "after_destroy"
|
16
|
-
}[TG_OP]
|
17
11
|
|
18
|
-
|
19
|
-
|
20
|
-
for hook in model?.hooks?[callback] or []
|
21
|
-
hook.run_at ?= new Date()
|
22
|
-
hook.callback = callback
|
23
|
-
|
24
|
-
job =
|
25
|
-
hook: hook
|
26
|
-
table_name: TG_TABLE_NAME
|
27
|
-
record_uuid: NEW?.data?.uuid or OLD?.data?.uuid
|
28
|
-
record: OLD.data if TG_OP is "DELETE"
|
29
|
-
|
30
|
-
res = upsert_func "core", "jobs", JSON.stringify(job)
|
31
|
-
plv8.execute "SELECT pg_notify('jobs', $1);", [res]
|
32
|
-
|
33
|
-
|
34
|
-
$$ LANGUAGE plcoffee STABLE STRICT;
|
12
|
+
$$ LANGUAGE plv8 STABLE STRICT;
|
35
13
|
|
36
14
|
|
37
15
|
|
@@ -40,27 +18,11 @@ $$ LANGUAGE plcoffee STABLE STRICT;
|
|
40
18
|
|
41
19
|
CREATE or REPLACE FUNCTION jobs_model_callbacks() RETURNS trigger AS
|
42
20
|
$$
|
43
|
-
|
44
|
-
|
45
|
-
table_schema = (NEW?.data?.table_schema or OLD?.data?.table_schema) or "public"
|
46
|
-
|
47
|
-
return if table_schema is "core"
|
48
|
-
|
49
|
-
if TG_OP is "DELETE"
|
50
|
-
plv8.execute "DELETE FROM core.jobs WHERE __string(data, 'table_name'::text) = $1;", [table_name]
|
51
|
-
|
52
|
-
# if TG_OP is "DELETE" and OLD.data.hooks? or TG_OP is "UPDATE" and NEW.data.hooks?
|
53
|
-
# plv8.execute "DROP TRIGGER IF EXISTS #{table_schema}_#{table_name}_hook_trigger ON #{table_schema}.#{table_name}"
|
54
|
-
|
55
|
-
|
56
|
-
if TG_OP is "INSERT" or TG_OP is "UPDATE" and NEW.data.hooks? and not OLD.data.hooks?
|
57
|
-
plv8.execute """CREATE TRIGGER #{table_schema}_#{table_name}_hook_trigger
|
58
|
-
AFTER INSERT OR UPDATE OR DELETE ON #{table_schema}.#{table_name}
|
59
|
-
FOR EACH ROW EXECUTE PROCEDURE hook_trigger();"""
|
21
|
+
actn.funcs.jobs_model_callbacks(TG_TABLE_NAME, TG_OP, NEW, OLD)
|
60
22
|
|
61
23
|
|
62
24
|
|
63
|
-
$$ LANGUAGE
|
25
|
+
$$ LANGUAGE plv8 STABLE STRICT;
|
64
26
|
|
65
27
|
CREATE TRIGGER jobs_core_models_callback_trigger
|
66
28
|
AFTER INSERT OR UPDATE OR DELETE ON core.models
|
data/lib/actn/jobs/version.rb
CHANGED