class FocusCommon::AppInfo
Public Instance Methods
get_database_time_info()
click to toggle source
# File lib/focus_common/app_info.rb, line 3 def get_database_time_info conn = ActiveRecord::Base.connection if conn.class.name.demodulize == 'Mysql2Adapter' {zone: conn.execute("SELECT @@global.time_zone, @@session.time_zone;").to_a.flatten, time: conn.execute("select concat(now(), '');").to_a.flatten.first, } else {} end end
get_gems()
click to toggle source
# File lib/focus_common/app_info.rb, line 69 def get_gems Gem::Specification.sort_by{ |g| [g.name.downcase, g.version] } end
get_info()
click to toggle source
# File lib/focus_common/app_info.rb, line 27 def get_info db_time_info = self.get_database_time_info info = \ { environment: { rails: Rails.env, stage: ENV['STAGE'], }, version: { ruby: RUBY_VERSION, rails: Rails::VERSION::STRING, git: git_version, }, time: { system: { time: Time.now.to_s, zone: Time.now.zone, }, rails: { time: Time.zone.now, zone: Time.zone.to_s, }, database: { time: db_time_info[:time], global_zone: db_time_info[:zone].try(:first), session_zone: db_time_info[:zone].try(:second), }, }, important_gems: get_gems.map{|g| [g.name, g.version]}.to_h.slice('sidekiq'), } if defined?(CbaDB) info[:cba_site] = \ CbaDB.enabled_sites.map do |site| namespace = CbaDB.sites_info.fetch(site, {})[:db_name] [site, namespace] end.to_h end info end
git_version()
click to toggle source
# File lib/focus_common/app_info.rb, line 14 def git_version if Rails.env.development? `git rev-parse HEAD` else filename = File.join(Rails.root, 'REVISION') if File.exists?(filename) File.read(filename).strip else nil end end end