Sha256: b02e458766b07e2c24b2485b9ea9223de6a3cadb95624412699a96ccb72eafb3

Contents?: true

Size: 1.33 KB

Versions: 139

Compression:

Stored size: 1.33 KB

Contents

module Eco
  module API
    class MicroCases
      # Helper to upload target files to `S3`.
      # @return [Array<String>] the paths in `S3` of the uploaded files.
      def s3upload_targets
        [].tap do |paths|
          session.config.s3storage.target_files.each_with_object(paths) do |file, arr|
            arr.push(session.s3upload(file: file))
          end
          session.config.s3storage.target_directories.each_with_object(paths) do |folder, arr|
            arr.concat(session.s3upload(directory: folder))
          end
          session.config.s3storage.target_file_patterns.each_with_object(paths) do |pattern, arr|
            filenames = []
            case pattern
            when Regexp
              Dir.entries(".").sort.each do |file|
                next unless File.file?(file) # Skip directories
                filenames.push(file) if file =~ pattern
              end
            when String
              Dir.glob(pattern).sort.each do |file|
                next unless File.file?(file) # Skip directories
                filenames.push(file)
              end
            else
              # missconfiguration
            end
            filenames.each do |file|
              arr.push(session.s3upload(file: file))
            end
          end
        end
      end

    end
  end
end

Version data entries

139 entries across 139 versions & 1 rubygems

Version Path
eco-helpers-2.3.3 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.3.2 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.2.5 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.2.4 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.2.3 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.2.2 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.2.1 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.12 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.11 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.10 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.9 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.8 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.7 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.6 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.5 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.4 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.3 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.2 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.1.1 lib/eco/api/microcases/s3upload_targets.rb
eco-helpers-2.0.68 lib/eco/api/microcases/s3upload_targets.rb