Sha256: ea547a4bff704fcc5e79774f11f7f7b5d1e2cae4cb7ebc9437e3eddae46fd9cc

Contents?: true

Size: 902 Bytes

Versions: 3

Compression:

Stored size: 902 Bytes

Contents

# frozen_string_literal: true

require_relative 'definition'
module Leftovers
  class DefinitionSet < Leftovers::Definition
    def initialize( # rubocop:disable Metrics/MethodLength
      names,
      method_node: nil,
      location: method_node.loc.expression,
      file: method_node.file,
      test: method_node.test?
    )
      @definitions = names.map do |name|
        Leftovers::Definition.new(name, test: test, location: location, file: file)
      end

      @test = test
      @location = location
      @file = file

      freeze
    end

    def names
      @definitions.map(&:names)
    end

    def to_s
      @definitions.map(&:to_s).join(', ')
    end

    def in_collection?
      @definitions.any?(&:in_collection?)
    end

    def in_test_collection?
      @definitions.any?(&:in_test_collection?)
    end

    def skipped?
      @definitions.any?(&:skipped?)
    end
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
leftovers-0.3.0 lib/leftovers/definition_set.rb
leftovers-0.2.0 lib/leftovers/definition_set.rb
leftovers-0.1.0 lib/leftovers/definition_set.rb