lib/i2x/client.rb in i2x-0.0.3 vs lib/i2x/client.rb in i2x-0.0.4

- old
+ new

@@ -1,13 +1,50 @@ +require 'rest_client' + module I2X class Client + ## + # => Load configuration properties from client/script code + # def initialize config - @config = config + begin + @config = config + I2X::Config.set_access_token @config[:server][:api_key] + I2X::Config.set_host @config[:server][:host] + p '[i2x] loaded configuration' + rescue Exception => e + p '[i2x] Failed to load configuration' + e.to_str + end end - def ping - p "PONGING #{@config[:server][:host]}" + ## + # => Validate API key. + # + def validate + begin + p '[i2x] launching validation.' + @config[:server][:host] << '/' unless @config[:server][:host].ends_with?('/') + out = RestClient.post "#{@config[:server][:host]}fluxcapacitor/validate_key.json", {:access_token => @config[:server][:api_key]} + response = {:status => 100, :response => out.to_str} + rescue Exception => e + p '[i2x] validation failed. ' + e.to_str + end + response + end + + ## + # => Start processing agents from configuration properties. + # + def process + begin + @config[:agents].each do |agent| + a = I2X::Agent.new agent + a.execute + end + rescue Exception => e + p '[i2x] agent processing failed. ' + e.to_str + end end end end \ No newline at end of file