kns_endpoint 0.0.2 → 0.0.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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