kns_endpoint 0.1.7 → 0.1.8

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/kns_endpoint.rb +21 -8
  2. metadata +7 -7
data/lib/kns_endpoint.rb CHANGED
@@ -1,5 +1,6 @@
1
1
  require 'rest_client'
2
2
  require 'json'
3
+ require 'logger'
3
4
 
4
5
  module Kynetx
5
6
 
@@ -11,6 +12,7 @@ module Kynetx
11
12
  @@use_session = true;
12
13
  @@environment = :production
13
14
  @@ruleset = nil
15
+ RestClient.log = Logger.new(STDOUT) if $KNS_ENDPOINT_DEBUG
14
16
 
15
17
  def initialize(opts={})
16
18
  @environment = opts[:environment] if opts[:environment]
@@ -20,6 +22,9 @@ module Kynetx
20
22
  @logging = opts[:logging] if opts[:logging]
21
23
 
22
24
  # set the defaults
25
+ @events = @@events
26
+ @directives = @@directives
27
+ @domain = @@domain
23
28
  @environment ||= @@environment
24
29
  @use_session ||= @@use_session
25
30
  @ruleset ||= @@ruleset
@@ -28,6 +33,7 @@ module Kynetx
28
33
  @logging ||= false
29
34
  @log = []
30
35
  raise "Undefined ruleset." unless @ruleset
36
+ raise "Undefined Domain" unless @domain
31
37
  end
32
38
 
33
39
  ## Endpoint DSL
@@ -97,17 +103,21 @@ module Kynetx
97
103
  begin
98
104
  # setup the parameters and call the block
99
105
 
100
- if @@events.keys.include? e
101
- @@events[e][:block].call(params)
106
+ if @events.keys.include? e
107
+ @events[e][:block].call(params)
102
108
  else
103
109
  raise "Undefined event #{e.to_s}"
104
110
  end
105
111
 
106
- raise "Undefined Domain" unless @@domain
107
112
 
108
- api_call = "https://cs.kobj.net/blue/event/#{@@domain.to_s}/#{e.to_s}/#{@ruleset}"
109
-
110
- @headers[:cookies] = {"SESSION_ID" => @session} if @session && @use_session
113
+ api_call = "https://cs.kobj.net/blue/event/#{@domain.to_s}/#{e.to_s}/#{@ruleset}"
114
+
115
+ if @use_session && @session
116
+ @headers[:cookies] = {"SESSION_ID" => @session, "domain" => "kobj.net"}
117
+ else
118
+ # @session = nil
119
+ @headers = {}
120
+ end
111
121
 
112
122
  timeout(@query_timeout) do
113
123
  params[@ruleset.to_s + ":kynetx_app_version"] = "dev" unless @environment == :production
@@ -115,6 +125,8 @@ module Kynetx
115
125
  if $KNS_ENDPOINT_DEBUG
116
126
  puts "-- NEW REQUEST --"
117
127
  puts "-- URL: " + api_call
128
+ puts "-- SESSION: #{@session.inspect}"
129
+ puts "-- USE_SESSION: #{@use_session.inspect}"
118
130
  puts "-- HEADERS:\n#{headers.inspect}"
119
131
  puts "-- PARAMS:\n#{params.inspect}"
120
132
  end
@@ -142,6 +154,7 @@ module Kynetx
142
154
  if $KNS_ENDPOINT_DEBUG
143
155
  puts "-- RESPONSE --"
144
156
  puts "-- CODE: #{response.code}"
157
+ puts "-- SESSION: #{@session}"
145
158
  puts "-- COOKIES: #{response.cookies.inspect}"
146
159
  puts "-- HEADERS: #{response.headers.inspect}"
147
160
  puts "-- BODY: \n" + response.to_s
@@ -156,7 +169,7 @@ module Kynetx
156
169
  # execute the returned directives
157
170
  directive_output = []
158
171
  kns_json["directives"].each do |d|
159
- o = run_directive(d["name"].to_sym, d["options"]) if @@directives.keys.include?(d["name"].to_sym)
172
+ o = run_directive(d["name"].to_sym, d["options"]) if @directives.keys.include?(d["name"].to_sym)
160
173
  directive_output.push o
161
174
  end
162
175
 
@@ -167,7 +180,7 @@ module Kynetx
167
180
 
168
181
  def run_directive(d, params)
169
182
  begin
170
- return @@directives[d].call(symbolize_keys(params))
183
+ return @directives[d].call(symbolize_keys(params))
171
184
  rescue Exception => e
172
185
  raise "Error in directive (#{d.to_s}): #{e.message}"
173
186
  end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kns_endpoint
3
3
  version: !ruby/object:Gem::Version
4
- hash: 21
4
+ hash: 11
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 7
10
- version: 0.1.7
9
+ - 8
10
+ version: 0.1.8
11
11
  platform: ruby
12
12
  authors:
13
13
  - Michael Farmer
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-11-04 00:00:00 -06:00
18
+ date: 2010-12-22 00:00:00 -07:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency
@@ -26,12 +26,12 @@ dependencies:
26
26
  requirements:
27
27
  - - ~>
28
28
  - !ruby/object:Gem::Version
29
- hash: 23
29
+ hash: 7
30
30
  segments:
31
31
  - 1
32
- - 2
33
32
  - 4
34
- version: 1.2.4
33
+ - 0
34
+ version: 1.4.0
35
35
  type: :runtime
36
36
  version_requirements: *id001
37
37
  - !ruby/object:Gem::Dependency