Class: CommandBuilder::CodeGenerator::NodeCodeNames

Inherits:
Object
  • Object
show all
Defined in:
lib/command_builder/code_generator/node_code_names.rb

Instance Method Summary collapse

Constructor Details

#initialize(node) ⇒ NodeCodeNames

Returns a new instance of NodeCodeNames.



7
8
9
# File 'lib/command_builder/code_generator/node_code_names.rb', line 7

def initialize(node)
  @node = node
end

Instance Method Details

#class_nameObject



11
12
13
# File 'lib/command_builder/code_generator/node_code_names.rb', line 11

def class_name
  @node.node_name.camelcase
end

#initializer_valuesObject



27
28
29
# File 'lib/command_builder/code_generator/node_code_names.rb', line 27

def initializer_values
  %w(@b) + @node.args.map { |arg| arg.arg_name.snakecase }
end

#method_argsObject



19
20
21
22
23
24
25
# File 'lib/command_builder/code_generator/node_code_names.rb', line 19

def method_args
  @node.args.map do |arg|
    arg_name = arg.arg_name.snakecase
    arg_name << '=nil' if arg.optional?
    arg_name
  end
end

#method_nameObject



15
16
17
# File 'lib/command_builder/code_generator/node_code_names.rb', line 15

def method_name
  @node.node_name.snakecase
end