Sha256: 9f8438fc62bb770f19c16fa5cb66de9b5373b86ec88af0f2e89550695d62a770

Contents?: true

Size: 573 Bytes

Versions: 1

Compression:

Stored size: 573 Bytes

Contents

# frozen_string_literal: true

require 'pathname'
require 'rom/attribute'
require_relative 'constants'

module ROM
  module Files
    class Attribute < ROM::Attribute
      # @param [Pathname] pathname
      # @return [Object]
      def call(pathname)
        return type[pathname.read] if meta[Files::DATA]
        return type[pathname.stat] if meta[:__stat__].is_a?(TrueClass)
        return type[pathname.stat.send(meta[:__stat__])] if meta[:__stat__]
        return type[meta[:__proc__].(pathname)] if meta[:__proc__]
        type[pathname]
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
rom-files-0.2.0 lib/rom/files/attribute.rb