Class: RubyLint::DefinitionBuilder::RubyBlock

Inherits:
Base
  • Object
show all
Defined in:
lib/ruby-lint/definition_builder/ruby_block.rb

Overview

Definition builder for building Ruby blocks.

Instance Attribute Summary

Attributes inherited from Base

#node, #options, #vm

Instance Method Summary collapse

Methods inherited from Base

#constant_name, #initialize

Constructor Details

This class inherits a constructor from RubyLint::DefinitionBuilder::Base

Instance Method Details

#buildRubyLint::Definition::RubyObject



10
11
12
13
14
15
16
17
18
# File 'lib/ruby-lint/definition_builder/ruby_block.rb', line 10

def build
  definition = new_definition([vm.current_scope])

  vm.current_scope.list(:lvar).each do |variable|
    definition.add_definition(variable)
  end

  return definition
end

#new_definition(parents) ⇒ RubyLint::Definition::RubyObject

Parameters:

  • parents (Array)

Returns:



24
25
26
27
28
29
30
31
32
# File 'lib/ruby-lint/definition_builder/ruby_block.rb', line 24

def new_definition(parents)
  return Definition::RubyObject.new(
    :name           => 'block',
    :type           => :block,
    :parents        => parents,
    :instance_type  => vm.current_scope.instance_type,
    :update_parents => [:lvar, :ivar, :cvar, :gvar]
  )
end