class RubyLint::DefinitionBuilder::RubyArray

Definition builder for building Ruby arrays.

Public Instance Methods

build() click to toggle source

Builds the definition for the array and assigns the values as members.

@return [RubyLint::Definition::RubyObject]

# 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

Private Instance Methods

container_type() click to toggle source

@return [Symbol]

# File lib/ruby-lint/definition_builder/ruby_array.rb, line 57
def container_type
  return :array
end
create_container() click to toggle source

Creates an empty data container for the members.

@return [RubyLint::Definition::RubyObject]

# 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) click to toggle source

Creates a new array member definition.

@param [String] name @param [RubyLint::Definition::RubyObject] value @return [RubyLint::Definition::RubyObject]

# 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() click to toggle source

@return [Array]

# File lib/ruby-lint/definition_builder/ruby_array.rb, line 36
def parents
  return [vm.global_constant('Array')]
end
values() click to toggle source

@return [Array]

# File lib/ruby-lint/definition_builder/ruby_array.rb, line 29
def values
  return options[:values] || []
end