Files
grecia/app/models/sdg/process_enabled.rb
Javi Martín d18c627392 Add and apply Layout/EmptyLinesAfterModuleInclusion rule
This rule was added in rubocop 1.79. We were inconsistent about it, so
we're adding it to get more consistency.
2025-11-05 14:27:12 +01:00

50 lines
966 B
Ruby

class SDG::ProcessEnabled
include SettingsHelper
attr_reader :record_or_name
def initialize(record_or_name)
@record_or_name = record_or_name
end
def enabled?
feature?("sdg") && feature?(process_name) && setting["sdg.process.#{process_name}"] && relatable?
end
def name
if record_or_name.respond_to?(:downcase)
record_or_name
else
record_or_name.class.name
end
end
private
def process_name
if controller_path_name?
name.split("/").first
else
if module_name == "Legislation"
"legislation"
else
module_name.constantize.table_name
end
end
end
def controller_path_name?
name == name.downcase
end
def module_name
name.split("::").first
end
def relatable?
return true if controller_path_name?
SDG::Related::RELATABLE_TYPES.intersect?([record_or_name.class.name, record_or_name])
end
end