Class: OpenapiSdkGenerator::Generators::RubyGenerator

Inherits:
OpenapiSdkGenerator::Generator show all
Defined in:
lib/openapi_sdk_generator/generators/ruby_generator.rb

Instance Attribute Summary

Attributes inherited from OpenapiSdkGenerator::Generator

#parser

Instance Method Summary collapse

Methods inherited from OpenapiSdkGenerator::Generator

#initialize

Constructor Details

This class inherits a constructor from OpenapiSdkGenerator::Generator

Instance Method Details

#generateObject



4
5
6
7
8
9
# File 'lib/openapi_sdk_generator/generators/ruby_generator.rb', line 4

def generate
  {
    client: generate_client,
    models: generate_models
  }
end

#write_to_directory(output_dir) ⇒ Object



11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# File 'lib/openapi_sdk_generator/generators/ruby_generator.rb', line 11

def write_to_directory(output_dir)
  FileUtils.mkdir_p(output_dir)
  FileUtils.mkdir_p(File.join(output_dir, 'models'))
  
  # Write client file
  client_content = generate_client
  File.write(File.join(output_dir, 'client.rb'), client_content)
  
  # Write model files
  parser.models.each do |name, model|
    model_content = generate_model(model)
    filename = "#{sanitize_name(name)}.rb"
    File.write(File.join(output_dir, 'models', filename), model_content)
  end
  
  # Write README
  readme_content = generate_readme
  File.write(File.join(output_dir, 'README.md'), readme_content)
end