diff --git a/app/services/documentation_generator.rb b/app/services/documentation_generator.rb index c3c948f81..c2005f320 100644 --- a/app/services/documentation_generator.rb +++ b/app/services/documentation_generator.rb @@ -100,18 +100,9 @@ class DocumentationGenerator end end - def get_all_sales_methods - validation_classes = [Validations::Sales::SetupValidations, - Validations::Sales::HouseholdValidations, - Validations::Sales::PropertyValidations, - Validations::Sales::FinancialValidations, - Validations::Sales::SaleInformationValidations, - Validations::SharedValidations, - Validations::LocalAuthorityValidations] - + def validation_and_helper_methods(validation_classes) all_validation_methods = validation_classes.map(&:instance_methods).flatten.select { |method| method.starts_with?("validate_") }.uniq all_methods = validation_classes.map { |x| x.instance_methods + x.private_instance_methods }.flatten.uniq - all_helper_methods = all_methods - all_validation_methods [all_validation_methods, all_helper_methods] end @@ -122,20 +113,6 @@ class DocumentationGenerator [all_helper_methods, all_validation_methods] end - def get_all_lettings_methods - validation_classes = [Validations::SetupValidations, - Validations::HouseholdValidations, - Validations::PropertyValidations, - Validations::FinancialValidations, - Validations::TenancyValidations, - Validations::DateValidations, - Validations::LocalAuthorityValidations] - all_validation_methods = validation_classes.map(&:instance_methods).flatten.select { |method| method.starts_with?("validate_") }.uniq - all_methods = validation_classes.map { |x| x.instance_methods + x.private_instance_methods }.flatten.uniq - all_helper_methods = all_methods - all_validation_methods - [all_validation_methods, all_helper_methods] - end - def get_soft_lettings_methods all_helper_methods = Validations::SoftValidations.private_instance_methods all_validation_methods = Validations::SoftValidations.instance_methods diff --git a/lib/tasks/generate_lettings_documentation.rake b/lib/tasks/generate_lettings_documentation.rake index 422e9bf2d..5c2ff6f20 100644 --- a/lib/tasks/generate_lettings_documentation.rake +++ b/lib/tasks/generate_lettings_documentation.rake @@ -10,7 +10,14 @@ namespace :generate_lettings_documentation do client = OpenAI::Client.new(access_token: ENV["OPENAI_API_KEY"]) documentation_generator = DocumentationGenerator.new - all_validation_methods, all_helper_methods = documentation_generator.get_all_lettings_methods + validation_classes = [Validations::SetupValidations, + Validations::HouseholdValidations, + Validations::PropertyValidations, + Validations::FinancialValidations, + Validations::TenancyValidations, + Validations::DateValidations, + Validations::LocalAuthorityValidations] + all_validation_methods, all_helper_methods = documentation_generator.validation_and_helper_methods(validation_classes) documentation_generator.describe_hard_validations(client, form, all_validation_methods, all_helper_methods, "lettings") end diff --git a/lib/tasks/generate_sales_documentation.rake b/lib/tasks/generate_sales_documentation.rake index df6b31a60..4a7ff7568 100644 --- a/lib/tasks/generate_sales_documentation.rake +++ b/lib/tasks/generate_sales_documentation.rake @@ -10,7 +10,14 @@ namespace :generate_sales_documentation do client = OpenAI::Client.new(access_token: ENV["OPENAI_API_KEY"]) documentation_generator = DocumentationGenerator.new - all_validation_methods, all_helper_methods = documentation_generator.get_all_sales_methods + validation_classes = [Validations::Sales::SetupValidations, + Validations::Sales::HouseholdValidations, + Validations::Sales::PropertyValidations, + Validations::Sales::FinancialValidations, + Validations::Sales::SaleInformationValidations, + Validations::SharedValidations, + Validations::LocalAuthorityValidations] + all_validation_methods, all_helper_methods = documentation_generator.validation_and_helper_methods(validation_classes) documentation_generator.describe_hard_validations(client, form, all_validation_methods, all_helper_methods, "sales") end diff --git a/spec/lib/tasks/generate_lettings_documentation_spec.rb b/spec/lib/tasks/generate_lettings_documentation_spec.rb index 3f75b458d..d7c39496d 100644 --- a/spec/lib/tasks/generate_lettings_documentation_spec.rb +++ b/spec/lib/tasks/generate_lettings_documentation_spec.rb @@ -67,7 +67,7 @@ RSpec.describe "generate_lettings_documentation" do describe ":describe_lettings_validations", type: :task do subject(:task) { Rake::Task["generate_lettings_documentation:describe_lettings_validations"] } - let(:documentation_generator) { instance_double(DocumentationGenerator, describe_bu_validations: nil, get_all_lettings_methods: []) } + let(:documentation_generator) { instance_double(DocumentationGenerator, describe_bu_validations: nil, validation_and_helper_methods: []) } let(:client) { instance_double(OpenAI::Client) } before do diff --git a/spec/lib/tasks/generate_sales_documentation_spec.rb b/spec/lib/tasks/generate_sales_documentation_spec.rb index fbda8036a..fb35203b1 100644 --- a/spec/lib/tasks/generate_sales_documentation_spec.rb +++ b/spec/lib/tasks/generate_sales_documentation_spec.rb @@ -67,7 +67,7 @@ RSpec.describe "generate_sales_documentation" do describe ":describe_sales_validations", type: :task do subject(:task) { Rake::Task["generate_sales_documentation:describe_sales_validations"] } - let(:documentation_generator) { instance_double(DocumentationGenerator, describe_bu_validations: nil, get_all_sales_methods: []) } + let(:documentation_generator) { instance_double(DocumentationGenerator, describe_bu_validations: nil, validation_and_helper_methods: []) } let(:client) { instance_double(OpenAI::Client) } before do