diff --git a/app/services/csv/scheme_csv_service.rb b/app/services/csv/scheme_csv_service.rb index 68e369c57..f67e971c5 100644 --- a/app/services/csv/scheme_csv_service.rb +++ b/app/services/csv/scheme_csv_service.rb @@ -19,6 +19,21 @@ module Csv private + FIELD_FROM_ATTRIBUTE = { + "scheme_code" => %w[id_to_display], + "scheme_service_name" => %w[service_name], + "scheme_status" => %w[status], + "scheme_sensitive" => %w[sensitive], + "scheme_registered_under_care_act" => %w[registered_under_care_act], + "scheme_support_services_provided_by" => %w[arrangement_type], + "scheme_primary_client_group" => %w[primary_client_group], + "scheme_has_other_client_group" => %w[has_other_client_group], + "scheme_secondary_client_group" => %w[secondary_client_group], + "scheme_support_type" => %w[support_type], + "scheme_intended_stay" => %w[intended_stay], + "scheme_created_at" => %w[created_at], + }.freeze + CUSTOM_CALL_CHAINS = { scheme_owning_organisation_name: %i[owning_organisation name], }.freeze @@ -28,6 +43,7 @@ module Csv ].freeze def value(attribute, scheme) + attribute = FIELD_FROM_ATTRIBUTE.fetch(attribute, attribute) if attribute == "scheme_active_dates" scheme_availability(scheme) elsif CUSTOM_CALL_CHAINS.key? attribute.to_sym @@ -40,26 +56,9 @@ module Csv end end - ATTRIBUTE_MAPPINGS = { - "scheme_code" => %w[id_to_display], - "scheme_service_name" => %w[service_name], - "scheme_status" => %w[status], - "scheme_sensitive" => %w[sensitive], - "scheme_registered_under_care_act" => %w[registered_under_care_act], - "scheme_support_services_provided_by" => %w[arrangement_type], - "scheme_primary_client_group" => %w[primary_client_group], - "scheme_has_other_client_group" => %w[has_other_client_group], - "scheme_secondary_client_group" => %w[secondary_client_group], - "scheme_support_type" => %w[support_type], - "scheme_intended_stay" => %w[intended_stay], - "scheme_created_at" => %w[created_at], - }.freeze def scheme_attributes - attributes = %w[scheme_code scheme_service_name scheme_status scheme_sensitive scheme_type scheme_registered_under_care_act scheme_owning_organisation_name scheme_support_services_provided_by scheme_primary_client_group scheme_has_other_client_group scheme_secondary_client_group scheme_support_type scheme_intended_stay scheme_created_at scheme_active_dates] - attributes.flat_map do |attribute| - ATTRIBUTE_MAPPINGS.fetch(attribute, attribute) - end + %w[scheme_code scheme_service_name scheme_status scheme_sensitive scheme_type scheme_registered_under_care_act scheme_owning_organisation_name scheme_support_services_provided_by scheme_primary_client_group scheme_has_other_client_group scheme_secondary_client_group scheme_support_type scheme_intended_stay scheme_created_at scheme_active_dates] end end end