Class: RubyLint::DefinitionBuilder::RubyArray
- Defined in:
- lib/ruby-lint/definition_builder/ruby_array.rb
Overview
Definition builder for building Ruby arrays.
Direct Known Subclasses
Instance Attribute Summary
Attributes inherited from Base
Instance Method Summary collapse
-
#build ⇒ RubyLint::Definition::RubyObject
Builds the definition for the array and assigns the values as members.
-
#container_type ⇒ Symbol
private
-
#create_container ⇒ RubyLint::Definition::RubyObject
private
Creates an empty data container for the members.
-
#create_member(name, value) ⇒ RubyLint::Definition::RubyObject
private
Creates a new array member definition.
-
#parents ⇒ Array
private
-
#values ⇒ Array
private
Methods inherited from Base
Constructor Details
This class inherits a constructor from RubyLint::DefinitionBuilder::Base
Instance Method Details
#build ⇒ RubyLint::Definition::RubyObject
Builds the definition for the array and assigns the values as members.
12 13 14 15 16 17 18 19 20 21 22 |
# File 'lib/ruby-lint/definition_builder/ruby_array.rb', line 12 def build definition = create_container values.each_with_index do |value, index| member = create_member(index.to_s, value) definition.add_definition(member) end return definition end |
#container_type ⇒ Symbol (private)
57 58 59 |
# File 'lib/ruby-lint/definition_builder/ruby_array.rb', line 57 def container_type return :array end |
#create_container ⇒ RubyLint::Definition::RubyObject (private)
Creates an empty data container for the members.
45 46 47 48 49 50 51 52 |
# File 'lib/ruby-lint/definition_builder/ruby_array.rb', line 45 def create_container return Definition::RubyObject.new( :type => container_type, :instance_type => :instance, :parents => parents, :members_as_value => true ) end |
#create_member(name, value) ⇒ RubyLint::Definition::RubyObject (private)
Creates a new array member definition.
68 69 70 71 72 73 74 |
# File 'lib/ruby-lint/definition_builder/ruby_array.rb', line 68 def create_member(name, value) return Definition::RubyObject.new( :type => :member, :name => name, :value => value ) end |
#parents ⇒ Array (private)
36 37 38 |
# File 'lib/ruby-lint/definition_builder/ruby_array.rb', line 36 def parents return [vm.global_constant('Array')] end |
#values ⇒ Array (private)
29 30 31 |
# File 'lib/ruby-lint/definition_builder/ruby_array.rb', line 29 def values return [:values] || [] end |