Class: ElixirServerGenerator

Inherits:
Generator show all
Defined in:
lib/generators/elixir_server_generator.rb

Instance Attribute Summary

Attributes inherited from Generator

#language, #side

Instance Method Summary collapse

Methods inherited from Generator

add, generators

Constructor Details

#initializeElixirServerGenerator

Returns a new instance of ElixirServerGenerator.



420
421
422
# File 'lib/generators/elixir_server_generator.rb', line 420

def initialize
    super 'elixir', :server
end

Instance Method Details

#generate(node, runtime) ⇒ Object



424
425
426
427
# File 'lib/generators/elixir_server_generator.rb', line 424

def generate node, runtime
    self.generate_file node, runtime, 'elixir_server_types_generator', "#{node.elixir_name}_types"
    self.generate_file node, runtime, 'elixir_server_generator', node.elixir_name
end

#generate_file(node, runtime, template_file, generated_file) ⇒ Object



429
430
431
432
433
434
435
436
437
438
439
# File 'lib/generators/elixir_server_generator.rb', line 429

def generate_file node, runtime, template_file, generated_file
    folder = File.expand_path File.dirname __FILE__
    erb_file = folder + "/#{template_file}.ex.erb"
    template = File.read erb_file
    erb = ERB.new template
    content = erb.result binding

    output_dir = File.dirname runtime.filename
    output_path = File.join output_dir, "#{generated_file}.ex"
    File.write output_path, content
end