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.
Files changed (2) hide show
  1. data/lib/endpoint.rb +42 -5
  2. 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
- run_event(e, params)
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
- api_call = "https://cs.kobj.net/blue/event/#{@@domain.to_s}/#{e.to_s}/#{@@ruleset.to_s}"
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
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 2
9
- version: 0.0.2
8
+ - 3
9
+ version: 0.0.3
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael Farmer