class AlacrityRails::Client

Public Class Methods

close_transaction!(response) click to toggle source
# File lib/alacrity-rails/client.rb, line 21
def self.close_transaction!(response)
  if transaction = transactions.pop
    transaction.finalize(response)
    transmit(transaction)
  end
end
config_enabled?() click to toggle source
# File lib/alacrity-rails/client.rb, line 51
def self.config_enabled?
  @config_enabled = Config.enabled? if @config_enabled == nil
  @config_enabled
end
log_server_startup() click to toggle source
# File lib/alacrity-rails/client.rb, line 28
def self.log_server_startup
  transmit(AlacrityRails::Transaction::ServerStartup.new)
end
open_transaction(transaction) click to toggle source
# File lib/alacrity-rails/client.rb, line 5
def self.open_transaction(transaction)
  transactions.push(transaction) if config_enabled?
end
reset() click to toggle source
# File lib/alacrity-rails/client.rb, line 36
def self.reset
  Thread.current[:alacrity_transactions] = []
end
store_metadata(data) click to toggle source
# File lib/alacrity-rails/client.rb, line 9
def self.store_metadata(data)
  transactions.each do |transaction|
    transaction.store_metadata(data)
  end
end
store_timeline_event(data) click to toggle source
# File lib/alacrity-rails/client.rb, line 15
def self.store_timeline_event(data)
  transactions.each do |transaction|
    transaction.store_timeline_event(data)
  end
end
transactions() click to toggle source
# File lib/alacrity-rails/client.rb, line 32
def self.transactions
  Thread.current[:alacrity_transactions] ||= []
end
transmit(transactable) click to toggle source
# File lib/alacrity-rails/client.rb, line 40
def self.transmit(transactable)
  Thread.new do
    begin
      Net::HTTP.start(*transactable.net_http_start_arguments) do |http|
        http.request(transactable.post_request)
      end
    rescue
    end
  end
end