Class: AdminSuite::Engine
- Inherits:
-
Rails::Engine
- Object
- Rails::Engine
- AdminSuite::Engine
- Defined in:
- lib/admin_suite/engine.rb
Class Method Summary collapse
- .contains_admin_suite_portal_dsl?(admin_portals_dir) ⇒ Boolean
- .host_admin_namespace_files?(admin_dir) ⇒ Boolean
Class Method Details
.contains_admin_suite_portal_dsl?(admin_portals_dir) ⇒ Boolean
66 67 68 69 70 71 72 73 74 75 76 |
# File 'lib/admin_suite/engine.rb', line 66 def self.contains_admin_suite_portal_dsl?(admin_portals_dir) portal_files = Dir[admin_portals_dir.join("**/*.rb").to_s] portal_files.any? do |file| content = File.binread(file) content = content.encode("UTF-8", invalid: :replace, undef: :replace, replace: "") portal_dsl_pattern = /(::)?AdminSuite\s*\.\s*portal\b/ portal_dsl_pattern.match?(content) rescue StandardError false end end |
.host_admin_namespace_files?(admin_dir) ⇒ Boolean
51 52 53 54 55 56 57 58 59 60 61 62 63 64 |
# File 'lib/admin_suite/engine.rb', line 51 def self.host_admin_namespace_files?(admin_dir) # True if any file under app/admin appears to define `Admin::*` constants. Dir[admin_dir.join("**/*.rb").to_s].any? do |file| next false if file.include?("/portals/") content = File.binread(file) content = content.encode("UTF-8", invalid: :replace, undef: :replace, replace: "") content.match?(/\b(module|class)\s+Admin\b/) || content.match?(/\b(module|class)\s+Admin::/) rescue StandardError false end end |