Sha256: c86673a2d7f0866cb71f6846641e773d4e70c055a92f0a4ac150b66ca17e28d7
Contents?: true
Size: 1.47 KB
Versions: 2
Compression:
Stored size: 1.47 KB
Contents
module SplitIoClient module Api class Events < Client def initialize(api_key, events) @api_key = api_key @events = events end def post if @events.empty? SplitIoClient.configuration.logger.debug('No events to report') if SplitIoClient.configuration.debug_enabled return end @events.each_slice(SplitIoClient.configuration.events_queue_size) do |event_slice| response = post_api( "#{SplitIoClient.configuration.events_uri}/events/bulk", @api_key, event_slice.map { |event| formatted_event(event[:e]) }, 'SplitSDKMachineIP' => event_slice[0][:m][:i], 'SplitSDKMachineName' => event_slice[0][:m][:n], 'SplitSDKVersion' => event_slice[0][:m][:s] ) if response.success? SplitLogger.log_if_debug("Events reported: #{event_slice.size}") else SplitLogger.log_error("Unexpected status code while posting events: #{response.status}." \ " - Check your API key and base URI") raise 'Split SDK failed to connect to backend to post events' end end end private def formatted_event(event) { key: event[:key], trafficTypeName: event[:trafficTypeName], eventTypeId: event[:eventTypeId], value: event[:value].to_f, timestamp: event[:timestamp].to_i } end end end end
Version data entries
2 entries across 2 versions & 1 rubygems
Version | Path |
---|---|
splitclient-rb-5.1.3.pre.rc3-java | lib/splitclient-rb/engine/api/events.rb |
splitclient-rb-5.1.3.pre.rc3 | lib/splitclient-rb/engine/api/events.rb |