lib/eotb.rb in eotb-0.1.4 vs lib/eotb.rb in eotb-0.1.5
- old
+ new
@@ -1,27 +1,28 @@
+require 'rubygems'
require 'net/http'
require 'uri'
-require 'rubygems'
require 'json'
+require File.expand_path(File.dirname(__FILE__) + '/object')
+require File.expand_path(File.dirname(__FILE__) + '/actor')
+require File.expand_path(File.dirname(__FILE__) + '/subject')
+
class Eotb
def self.configure(api_key, host = '127.0.0.1', port = '3000')
@@uri = URI.parse('http://' + host + ':' + port + '/apps/' + api_key + '/events')
@@http = Net::HTTP::Post.new(@@uri.path)
@@api_key = api_key
end
def self.register_event(actor, action, subject)
- to_post = { "event[app_id]" => @@api_key, "event[actor][type]" => actor, "event[action]" => action }
- subject.each do |key, value|
- to_post["event[subject][#{key.to_s}]"] = value.to_s
- end
+ api_key = { "event[app_id]" => @@api_key }
+ action = { "event[action]" => action }
+ # TODO what if user don't send hash?
+ to_post = api_key.merge(actor).merge(action).merge(subject)
@@http.set_form_data(to_post)
+
Net::HTTP.new(@@uri.host, @@uri.port).start { |http| http.request(@@http) }
- end
-
- def to_json(array)
- JSON.generate(array)
end
end
\ No newline at end of file