Class: ApiMaker::ModelsGeneratorService

Inherits:
ApplicationService show all
Defined in:
app/services/api_maker/models_generator_service.rb

Instance Method Summary collapse

Methods inherited from ApplicationService

#api_maker_json

Instance Method Details

#executeObject



2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
# File 'app/services/api_maker/models_generator_service.rb', line 2

def execute
  create_base_structure
  copy_base_model
  copy_base_controllers

  models.each do |model|
    next if ignore_model?(model)

    model_content_response = ApiMaker::ModelContentGeneratorService.execute(model: model)

    if model_content_response.success?
      File.open(model_file(model), "w") { |fp| fp.write(model_content_response.result) }
    else
      puts model_content_response.errors.join(". ")
    end
  end

  ApiMaker::GenerateReactNativeApiService.execute! if ApiMaker::Configuration.current.react_native_path.present?
  ServicePattern::Response.new(success: true)
end

#ignore_model?(model) ⇒ Boolean

Returns:

  • (Boolean)


23
24
25
26
27
# File 'app/services/api_maker/models_generator_service.rb', line 23

def ignore_model?(model)
  model.name.end_with?("::Translation") ||
    model.name.start_with?("ActiveStorage::") ||
    model.name.end_with?("::ApplicationRecord")
end

#modelsObject



29
30
31
# File 'app/services/api_maker/models_generator_service.rb', line 29

def models
  ApiMaker::ModelsFinderService.execute!
end