class Yoda::Parsing::NodeObjects::MethodDefinition

Attributes

namespace[R]

@return [Namespace]

node[R]

@return [::Parser::AST::Node]

Public Class Methods

new(node, namespace) click to toggle source

@param node [::Parser::AST::Node] @param namespace [Namespace]

# File lib/yoda/parsing/node_objects/method_definition.rb, line 14
def initialize(node, namespace)
  fail ArgumentError, node unless node.is_a?(::Parser::AST::Node)
  fail ArgumentError, namespace unless namespace.is_a?(Namespace)
  @node = node
  @namespace = namespace
end

Public Instance Methods

arg_node() click to toggle source
# File lib/yoda/parsing/node_objects/method_definition.rb, line 26
def arg_node
  node.children[-2]
end
body_node() click to toggle source
# File lib/yoda/parsing/node_objects/method_definition.rb, line 30
def body_node
  node.children[-1]
end
full_name() click to toggle source

@return [String]

# File lib/yoda/parsing/node_objects/method_definition.rb, line 35
def full_name
  "#{namespace.full_name}##{name}"
end
name() click to toggle source

@return [Symbol]

# File lib/yoda/parsing/node_objects/method_definition.rb, line 22
def name
  node.children[-3]
end
namespace_name() click to toggle source

@return [String]

# File lib/yoda/parsing/node_objects/method_definition.rb, line 40
def namespace_name
  namespace.full_name
end