Class: RubyLint::DefinitionBuilder::Primitive
- Defined in:
- lib/ruby-lint/definition_builder/primitive.rb
Overview
Definition builder used for building primitive Ruby types such as integers and strings.
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#build ⇒ RubyLint::Definition::RubyObject
-
#definition_for_node(node) ⇒ RubyLint::Definition::RubyObject
Returns a definition for a given node type.
Methods inherited from Base
Constructor Details
This class inherits a constructor from RubyLint::DefinitionBuilder::Base
Instance Method Details
#build ⇒ RubyLint::Definition::RubyObject
11 12 13 14 15 16 17 18 19 20 21 |
# File 'lib/ruby-lint/definition_builder/primitive.rb', line 11 def build parents = [definition_for_node(node)] opts = { :type => node.type, :value => node.children[0], :instance_type => :instance, :parents => parents }.merge() return Definition::RubyObject.new(opts) end |
#definition_for_node(node) ⇒ RubyLint::Definition::RubyObject
Returns a definition for a given node type.
30 31 32 33 34 35 36 |
# File 'lib/ruby-lint/definition_builder/primitive.rb', line 30 def definition_for_node(node) ruby_class = node.ruby_class raise(ArgumentError, "The type #{type} is invalid") unless ruby_class return vm.global_constant(ruby_class) end |