lib/avo/app.rb in avo-2.3.1.pre.6 vs lib/avo/app.rb in avo-2.4.0
- old
+ new
@@ -102,37 +102,62 @@
.uniq do |dashboard|
dashboard.id
end
end
+ def has_main_menu?
+ return false if Avo::App.license.lacks_with_trial(:menu_editor)
+ return false if Avo.configuration.main_menu.nil?
+
+ true
+ end
+
+ def has_profile_menu?
+ return false if Avo::App.license.lacks_with_trial(:menu_editor)
+ return false if Avo.configuration.profile_menu.nil?
+
+ true
+ end
+
def main_menu
- return [] if Avo::App.license.lacks_with_trial(:menu_builder)
- return [] if Avo.configuration.main_menu.nil?
+ # Return empty menu if the app doesn't have the profile menu configured
+ return Avo::Menu::Builder.new.build unless has_main_menu?
Avo::Menu::Builder.parse_menu(&Avo.configuration.main_menu)
end
def profile_menu
- return [] if Avo::App.license.lacks_with_trial(:menu_builder)
- return [] if Avo.configuration.profile_menu.nil?
+ # Return empty menu if the app doesn't have the profile menu configured
+ return Avo::Menu::Builder.new.build unless has_profile_menu?
Avo::Menu::Builder.parse_menu(&Avo.configuration.profile_menu)
end
- def debug_report(request)
+ def debug_report(request = nil)
payload = {}
+
hq = Avo::Licensing::HQ.new(request)
- payload[:hq_payload] = hq.payload
- payload[:license_id] = Avo::App.license.id
- payload[:license_valid] = Avo::App.license.valid?
- payload[:license_payload] = Avo::App.license.payload
- payload[:license_response] = Avo::App.license.response
- payload[:cache_store] = self.cache_store.class.to_s
- payload[:avo_metadata] = hq.avo_metadata
+ payload[:thread_count] = get_thread_count
+ payload[:hq_payload] = hq&.payload
+ payload[:license_id] = Avo::App&.license&.id
+ payload[:license_valid] = Avo::App&.license&.valid?
+ payload[:license_payload] = Avo::App&.license&.payload
+ payload[:license_response] = Avo::App&.license&.response
+ payload[:license_abilities] = Avo::App&.license&.abilities
+ payload[:cache_store] = self.cache_store&.class&.to_s
+ payload[:avo_metadata] = hq&.avo_metadata
payload[:app_timezone] = Time.now.zone
+ payload[:cache_key] = Avo::Licensing::HQ.cache_key
+ payload[:cache_key_contents] = hq&.cached_response
payload
+ rescue => e
+ e
+ end
+
+ def get_thread_count
+ Thread.list.select {|thread| thread.status == "run"}.count
rescue => e
e
end
end
end