Class: ActiveRpc::Generators::GrufControllerGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/active_rpc/controller/gruf_controller_generator.rb

Instance Method Summary collapse

Instance Method Details

#generate_controllerObject



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

def generate_controller
  parsed_data = parse_proto_file(proto_file)
  return unless parsed_data

  package_name = parsed_data[:package_name]
  service_name = parsed_data[:service_name]
  rpc_methods = parsed_data[:rpc_methods]

  controller_name = "#{service_name}Controller"

  destination_path = "app/rpc/#{package_name.underscore}/#{controller_name.underscore}.rb"

  template(
    "gruf_controller.rb.erb",
    destination_path,
    package_name: package_name,
    service_name: service_name,
    controller_name: controller_name,
    rpc_methods: rpc_methods
  )
end