Sha256: 58f378b20b4090f6b5703d8fca4eb144a6b7890cb03e76ad3c6dbd4fca6874da

Contents?: true

Size: 750 Bytes

Versions: 4

Compression:

Stored size: 750 Bytes

Contents

# frozen_string_literal: true

module Leftovers
  class DefinitionSet
    attr_reader :definitions

    def initialize(definitions)
      @definitions = definitions

      freeze
    end

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

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

    def location_s
      @definitions.first.location_s
    end

    def highlighted_source(*args)
      @definitions.first.highlighted_source(*args)
    end

    def in_collection?(collection)
      @definitions.any? { |d| d.in_collection?(collection) }
    end

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

    def in_test_collection?(collection)
      @definitions.any? { |d| d.in_test_collection?(collection) }
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
leftovers-0.12.2 lib/leftovers/definition_set.rb
leftovers-0.12.1 lib/leftovers/definition_set.rb
leftovers-0.12.0 lib/leftovers/definition_set.rb
leftovers-0.11.2 lib/leftovers/definition_set.rb