Sha256: 207e0d7181d5dd2d10f9b7a5c929d123c157df6c088a6b6c041a17c680e5bb73

Contents?: true

Size: 1.04 KB

Versions: 1

Compression:

Stored size: 1.04 KB

Contents

require 'active_support'
require 'carrierwave'
require "carrierwave/processor/version"
require 'carrierwave/processor/node'
require 'carrierwave/processor/uploader_dsl'

module CarrierWave
  module Processor

    class ProcessorNotFoundError < ::StandardError
    end

    class << self
      attr_accessor :processors
    end

    def self.conditions_merge *args
      args.compact!
      return nil if args.empty?
      lambda do |uploader, options|
        args.inject(true) do |accum, condition|
          break false unless accum
          condition_result = if condition.respond_to?(:call)
            accum && condition.call(self, options)
          else
            accum && uploader.send(condition, options[:file])
          end
        end
      end
    end

    def self.arguments_merge *args
      args.inject({}) do |hash, arg|
        arg = { arg => [] } unless arg.is_a?(Hash)
        hash.merge!(arg)
      end
    end
  end
end

Object.send :include, CarrierWave::Processor::Dsl
CarrierWave::Uploader::Base.extend CarrierWave::Processor::UploaderDsl

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
carrierwave-processor-0.0.1.pre lib/carrierwave/processor.rb