Browse Source

Refactor

pull/3011/head
Kat 1 month ago
parent
commit
7b43df6868
  1. 25
      app/services/documentation_generator.rb
  2. 9
      lib/tasks/generate_lettings_documentation.rake
  3. 9
      lib/tasks/generate_sales_documentation.rake
  4. 2
      spec/lib/tasks/generate_lettings_documentation_spec.rb
  5. 2
      spec/lib/tasks/generate_sales_documentation_spec.rb

25
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

9
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

9
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

2
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

2
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

Loading…
Cancel
Save