Sha256: c42e91baea2a6fd772d9833192ccf7e72151cdef150d4ed2bff1d9074120f63a

Contents?: true

Size: 756 Bytes

Versions: 1

Compression:

Stored size: 756 Bytes

Contents

# frozen_string_literal: true

module ROM
  module Files
    module Extensions
      module Gem
        module Relations
          class Implementations < ROM::Files::Relation
            dataset { recursive.inside('lib') }

            schema 'application/x-ruby', as: :implementations, infer: true do
              use :stat

              attribute :implementation_path, Types::Path
              attribute :specification_path, Types.ForeignKey(
                :specifications,
                map: ->(path) { path.pathmap('spec/%X_spec.rb') }
              )

              associations do
                has_one :specification, foreign_key: :specification_path
              end
            end
          end
        end
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-files-0.2.0 lib/rom/files/extensions/gem/relations/implementations.rb