class AlacrityRails::Diagnostic
Public Class Methods
run()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 3 def self.run; new.run end
Public Instance Methods
api_token_present()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 32 def api_token_present [ Config.api_token.present?, %< The API token could not be found in the server environment. You can find it on https://alacrityapp.com then set it in your server config as `ALACRITY_API_TOKEN`. > ] end
logger()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 5 def logger; @logger ||= Logger.new(STDOUT) end
middleware_appears_first()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 66 def middleware_appears_first [ Rails.application.config.middleware.first == (AlacrityRails::Middleware), %< The AlacrityRails::Middleware is not first in your middleware stack. Anything appearing above it will not be included in metrics tracking. #{Rails.application.config.middleware.map(&:inspect).to_yaml} > ] end
middleware_present()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 56 def middleware_present [ Rails.application.config.middleware.include?(AlacrityRails::Middleware), %< The AlacrityRails::Middleware is absent from your middleware stack. Make sure your application is not overriding the middleware stack in an initializer. > ] end
run()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 7 def run run_check :api_token_present run_check :valid_api_token run_check :middleware_present run_check :middleware_appears_first puts success_message puts assistance_message end
run_check(check_name)
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 17 def run_check(check_name) logger << "CHECK: #{check_name.to_s.humanize}..." successful, display_message = public_send(check_name) if successful logger << "PASSED\n" else logger << "FAILED\n" logger << display_message logger << assistance_message exit end end
valid_api_token()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 43 def valid_api_token response = Client.transmit(Transaction::Diagnostic.new) [ response.value.code == '200', %< Oh no! Its seems like we have a problem! #{JSON.parse(response.value.body)['message']} > ] end
Private Instance Methods
assistance_message()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 88 def assistance_message "\nIf you need assistance or have any questions, send an email to support@alacrityapp.com or tweet @alacrityapp and we'll help you out!\n" end
success_message()
click to toggle source
# File lib/alacrity-rails/diagnostic.rb, line 80 def success_message %< Everything looks good! You should see data on https://alacrityapp.com shortly after your app receives traffic. > end