Sha256: 9b7bb66831110082617aa07b80f68fd81ad9beeabe7c04c62e6c032653570fc6

Contents?: true

Size: 562 Bytes

Versions: 8

Compression:

Stored size: 562 Bytes

Contents

module Pansophy
  module Remote
    class ReadFile
      include Adamantium::Flat

      def initialize(bucket, path)
        @bucket   = bucket
        @pathname = Pathname.new(path)
      end

      def call
        fail ArgumentError, "#{@pathname} does not exist" if file.nil?
        file.body
      end

      private

      def file
        directory.files.find { |file| file.key == @pathname.to_s }
      end
      memoize :file

      def directory
        ReadDirectory.new(@bucket, @pathname).call
      end
      memoize :directory
    end
  end
end

Version data entries

8 entries across 8 versions & 1 rubygems

Version Path
pansophy-0.3.0 lib/pansophy/remote/read_file.rb
pansophy-0.2.6 lib/pansophy/remote/read_file.rb
pansophy-0.2.5 lib/pansophy/remote/read_file.rb
pansophy-0.2.4 lib/pansophy/remote/read_file.rb
pansophy-0.2.3 lib/pansophy/remote/read_file.rb
pansophy-0.2.1 lib/pansophy/remote/read_file.rb
pansophy-0.2.0 lib/pansophy/remote/read_file.rb
pansophy-0.1.0 lib/pansophy/remote/read_file.rb