kns_endpoint 0.0.2 → 0.0.3
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/endpoint.rb +42 -5
- metadata +2 -2
data/lib/endpoint.rb
CHANGED
@@ -11,7 +11,8 @@ module Kynetx
|
|
11
11
|
@@directives = {}
|
12
12
|
@@use_single_session = true;
|
13
13
|
|
14
|
-
def initialize
|
14
|
+
def initialize(opts={})
|
15
|
+
@@ruleset = opts[:ruleset] if opts[:ruleset]
|
15
16
|
end
|
16
17
|
|
17
18
|
|
@@ -30,14 +31,48 @@ module Kynetx
|
|
30
31
|
def use_single_session; @@use_single_session end
|
31
32
|
def use_single_session=(uss); @@use_single_session = uss end
|
32
33
|
|
33
|
-
def signal(e, params={})
|
34
|
-
|
34
|
+
def signal(e, params={}, ruleset=nil)
|
35
|
+
raise "Undefined ruleset" unless @@ruleset || ruleset
|
36
|
+
|
37
|
+
run_event(e, ruleset || @@ruleset, params)
|
38
|
+
end
|
39
|
+
|
40
|
+
def self.signal(e, params, ruleset)
|
41
|
+
tmp_endpoint = self.new({:ruleset => ruleset})
|
42
|
+
tmp_endpoint.signal(e, params)
|
43
|
+
end
|
44
|
+
|
45
|
+
# allow calling events directly
|
46
|
+
def method_missing(meth, *args)
|
47
|
+
if @@events.keys.include? meth.to_sym
|
48
|
+
ruleset = nil
|
49
|
+
params = {}
|
50
|
+
|
51
|
+
if args.first.class == Symbol
|
52
|
+
ruleset = args.first
|
53
|
+
params = args.last if args.length > 1
|
54
|
+
else
|
55
|
+
params = args.first if args.first.class == Hash
|
56
|
+
end
|
57
|
+
|
58
|
+
|
59
|
+
return run_event(meth.to_sym, ruleset || @@ruleset, params)
|
60
|
+
|
61
|
+
else
|
62
|
+
super
|
63
|
+
end
|
35
64
|
end
|
36
65
|
|
66
|
+
def self.method_missing(meth, *args)
|
67
|
+
raise "Undefined ruleset" unless args.first.class == Symbol
|
68
|
+
params = args.length > 1 ? args.last : {}
|
69
|
+
e = self.new({:ruleset => args.first})
|
70
|
+
e.signal(meth.to_sym, params)
|
71
|
+
end
|
37
72
|
|
38
73
|
private
|
39
74
|
|
40
|
-
def run_event(e, params)
|
75
|
+
def run_event(e, ruleset, params)
|
41
76
|
|
42
77
|
# setup the parameters and call the block
|
43
78
|
|
@@ -53,7 +88,9 @@ module Kynetx
|
|
53
88
|
kns_json = {"directives" => []}
|
54
89
|
|
55
90
|
begin
|
56
|
-
|
91
|
+
raise "Undefined Domain" unless @@domain
|
92
|
+
|
93
|
+
api_call = "https://cs.kobj.net/blue/event/#{@@domain.to_s}/#{e.to_s}/#{ruleset}"
|
57
94
|
uri = URI.parse(api_call)
|
58
95
|
http_session = Net::HTTP.new(uri.host, uri.port)
|
59
96
|
http_session.verify_mode = OpenSSL::SSL::VERIFY_NONE
|