carrierwave-processor 1.0.3 → 1.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 6081ab5b4fb95e91107abd1391a024999f6ce741
4
- data.tar.gz: 178e2c9f9b2ea1e48034d2e921d40b3cbe4a6f0c
3
+ metadata.gz: 70be514842d8aa58960b8a3bb8416f6fc2ef44b3
4
+ data.tar.gz: 323278b9642952d54c9b33103b5eec629078b970
5
5
  SHA512:
6
- metadata.gz: ee943192f8753b14bc8139bb04d104b81a135d8e8cffae7946f3e7a753b05be9c112623598d4d9b484766adcfde8c78f6ed6d197e3431fa981252cdd6137c62e
7
- data.tar.gz: 4791546a9de32ab2603b815853e75c856b8a7340eaaed5e0a99b29a664245035d0df422ada24d3968d0c4077142364d252730a9061b16e0df4d542fef7b0bd9f
6
+ metadata.gz: 975b9b419329fbce3db9c19f15103ed6db19df9934c7beb01c6c80365a1a905489e8b34839f7f1cd2e7c4524f7107852b9ecd5c1ab952062065a3db9a564811a
7
+ data.tar.gz: 5acdefa441a443219bac52a9f488919e0854a6700e3edbc0d18ff4dc6631d886a02561b569a79d338fd273d053160f5ad9b7a7707289971d6ca4dc938c9764be
data/.travis.yml ADDED
@@ -0,0 +1,16 @@
1
+ ---
2
+ language: ruby
3
+ rvm:
4
+ - '2.1'
5
+ script: bundle exec rspec spec
6
+ gemfile:
7
+ - gemfiles/4.0.4.gemfile
8
+ - gemfiles/4.0.5.gemfile
9
+ - gemfiles/4.0.6.gemfile
10
+ - gemfiles/4.0.7.gemfile
11
+ - gemfiles/4.0.8.gemfile
12
+ - gemfiles/4.1.0.gemfile
13
+ - gemfiles/4.1.1.gemfile
14
+ - gemfiles/4.1.2.gemfile
15
+ - gemfiles/4.1.3.gemfile
16
+ - gemfiles/4.1.4.gemfile
data/Appraisals ADDED
@@ -0,0 +1,31 @@
1
+ require 'yaml'
2
+
3
+ ruby_versions = ['2.1']
4
+
5
+ minor_4_0 = 4..8
6
+ minor_4_1 = 0..4
7
+
8
+ minor_4_0.each do |i|
9
+ appraisal_version = "4.0.#{i}"
10
+ appraise "4.0.#{i}" do
11
+ gem "rails", appraisal_version
12
+ end
13
+ end
14
+
15
+ minor_4_1.each do |i|
16
+ appraisal_version = "4.1.#{i}"
17
+ appraise "4.1.#{i}" do
18
+ gem "rails", appraisal_version
19
+ end
20
+ end
21
+
22
+ ::File.open('.travis.yml', 'w+') do |f|
23
+ travis_hash = {
24
+ 'language' => 'ruby',
25
+ 'rvm' => ruby_versions,
26
+ 'script' => 'bundle exec rspec spec',
27
+ 'gemfile' => Dir.glob('gemfiles/*.gemfile')
28
+ }
29
+ travis = ::YAML.dump(travis_hash)
30
+ f.write travis
31
+ end
data/Gemfile CHANGED
@@ -1,6 +1,6 @@
1
1
  source 'https://rubygems.org'
2
2
 
3
- gem 'rails', :git => "git@github.com:rails/rails.git", :branch => "4-0-stable"
3
+ #gem 'rails', :git => "git@github.com:rails/rails.git", :branch => "4-0-stable"
4
4
 
5
5
  # Specify your gem's dependencies in carrierwave-processing.gemspec
6
6
  gemspec
@@ -19,9 +19,10 @@ Gem::Specification.new do |spec|
19
19
  spec.require_paths = ["lib", "lib/carrierwave"]
20
20
 
21
21
  spec.add_dependency 'carrierwave'
22
- spec.add_dependency 'activesupport', '>= 4.0.4'
22
+ spec.add_dependency 'activesupport', '>= 4.0.4' # for rails prepend support
23
23
  spec.add_development_dependency "bundler", "~> 1.3"
24
+ spec.add_development_dependency "appraisal"
24
25
  spec.add_development_dependency "rake"
25
26
  spec.add_development_dependency "rspec"
26
- spec.add_development_dependency "factory_girl"
27
+ spec.add_development_dependency 'sucker_punch'
27
28
  end
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.4"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.5"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.6"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.7"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.0.8"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.1.0"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.1.1"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.1.2"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.1.3"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,7 @@
1
+ # This file was generated by Appraisal
2
+
3
+ source "https://rubygems.org"
4
+
5
+ gem "rails", "4.1.4"
6
+
7
+ gemspec :path => "../"
@@ -0,0 +1,47 @@
1
+ module CarrierWave::Processor
2
+ module Backend
3
+ class Base
4
+ attr_accessor :options, :delays, :uploaders
5
+ def initialize options={}
6
+ @options = options
7
+ end
8
+ def errback &block
9
+ errbacks << block
10
+ end
11
+
12
+ def callback &block
13
+ callbacks << block
14
+ end
15
+
16
+ def callbacks
17
+ @callbacks ||= []
18
+ end
19
+
20
+ def errbacks
21
+ @callbacks ||= []
22
+ end
23
+
24
+ def stub &block
25
+ @stub = block
26
+ end
27
+
28
+ def stub_cache &block
29
+ @stub_cache = block
30
+ end
31
+
32
+ def uploaders
33
+ @uploaders ||= []
34
+ end
35
+
36
+ def delay uploader, uniq_version_name
37
+ @delays ||= {}
38
+ @delays[uploader] ||= []
39
+ @delays[uploader] << uniq_version_name if uniq_version_name
40
+ end
41
+
42
+ def create_worker *args, &block
43
+ raise NotImplementedError.new
44
+ end
45
+ end
46
+ end
47
+ end
@@ -0,0 +1,24 @@
1
+ require 'sucker_punch'
2
+ require_relative './base'
3
+ module CarrierWave::Processor::Backend
4
+ class SuckerPunch < Base
5
+
6
+ class Worker
7
+ include ::SuckerPunch::Job
8
+
9
+ def perform uploader_inst
10
+ Thread.current[:uploader] = uploader_inst.class
11
+ uploader_inst.recreate_versions!
12
+ end
13
+ end
14
+
15
+ def create_worker
16
+ Worker.new.async
17
+ end
18
+
19
+ def can_build_uploader? uploader
20
+ return false if Thread.current[:uploader].nil?
21
+ Thread.current[:uploader] == uploader
22
+ end
23
+ end
24
+ end
@@ -0,0 +1,48 @@
1
+ require 'carrierwave/processor/backend/base'
2
+ module CarrierWave::Processor
3
+
4
+ class BackendNotInitializedError < StandardError
5
+ def initialize msg="set up backend first"
6
+ super
7
+ end
8
+ end
9
+
10
+ class BackendNotFound < StandardError
11
+ def initialize name
12
+ super("backend with name #{name.to_s.classify} not found")
13
+ end
14
+ end
15
+
16
+ class Configuration
17
+ delegate :callback, :errback, :stub, :stub_cache, :to => :backend
18
+
19
+ attr_writer :backend
20
+
21
+ def delay
22
+ self
23
+ end
24
+
25
+ def backend name=nil, options={}
26
+ if name
27
+ backends_path = (::CarrierWave::Processor.root + 'carrierwave/processor/backend')
28
+ backend_file = backends_path.entries.detect{|i| i.basename('.rb').to_s == name.to_s}
29
+ raise BackendNotFound.new(name) unless backend_file
30
+ backend_file = backends_path + backend_file
31
+ require backend_file
32
+ raise BackendNotFound.new(name) unless backend_file
33
+ begin
34
+ klass = ::CarrierWave::Processor::Backend.const_get(name.to_s.classify.to_sym)
35
+ rescue NameError
36
+ raise BackendNotFound.new(name)
37
+ end
38
+ options = @backend.options.merge(options) if @backend
39
+ @backend = klass.new options
40
+ elsif @backend
41
+ @backend
42
+ else
43
+ raise BackendNotInitializedError.new
44
+ end
45
+ end
46
+
47
+ end
48
+ end
@@ -1,50 +1,65 @@
1
1
  require 'delegate'
2
2
  require 'active_support/core_ext/class'
3
+ module CarrierWave::Processor
4
+ class Injector < Module
3
5
 
4
- class Injector < Module
6
+ # PLUGIN_OPTIONS = [:outer_version, :root_uploader]
5
7
 
6
- # PLUGIN_OPTIONS = [:outer_version, :root_uploader]
8
+ def initialize uploader, opts = {}, &block
9
+ @uploader = uploader
10
+ @outer_version = opts.delete(:outer_version)
11
+ @root_uploader = opts.delete(:root_uploader)
12
+ unless @root_uploader
13
+ @root_uploader = @uploader
14
+ unless CarrierWave::Processor.configuration.backend.uploaders.include? @root_uploader
15
+ CarrierWave::Processor.configuration.backend.uploaders << @root_uploader
16
+ @root_uploader.after :store, :perform_delayed
17
+ end
18
+ end
19
+ @options = opts
20
+ self.class_eval &block
21
+ @uploader.send :prepend, self
22
+ end
7
23
 
8
- def initialize uploader, opts = {}, &block
9
- @uploader = uploader
10
- @outer_version = opts.delete(:outer_version)
11
- @root_uploader = opts.delete(:root_uploader)
12
- @options = opts
13
- self.class_eval &block
14
- @uploader.prepend self
15
- end
24
+ def process *args, &block
25
+ processed_options = ::CarrierWave::Processor.arguments_merge *args
26
+ unless @outer_version
27
+ new_if = ::CarrierWave::Processor.conditions_merge(@options[:if], processed_options[:if])
28
+ processed_options[:if] = new_if if new_if
29
+ end
30
+ @uploader.process processed_options, &block
31
+ end
16
32
 
17
- def process *args, &block
18
- processed_options = ::CarrierWave::Processor.arguments_merge *args
19
- unless @outer_version
20
- new_if = ::CarrierWave::Processor.conditions_merge(@options[:if], processed_options[:if])
21
- processed_options[:if] = new_if if new_if
33
+ def version *args, &block
34
+ options = args.extract_options! || {}
35
+ version_options = @options.merge options
36
+ ifs_array = [@options[:if], options[:if]]
37
+ new_if = ::CarrierWave::Processor.conditions_merge *ifs_array
38
+ version_options[:if] = new_if
39
+ version_options.delete :if if version_options[:if].nil?
40
+ version_options[:from_version] = @outer_version if @outer_version
41
+ passing_options = {:if => ifs_array}
42
+ passing_options[:outer_version] = args.first if args.first
43
+ passing_options[:root_uploader] = @root_uploader
44
+ version_args = version_options.empty? ? args : (args + [version_options])
45
+ passing_options[:root_uploader].version *version_args do
46
+ Injector.new(self, passing_options, &block)
47
+ end
22
48
  end
23
- @uploader.process processed_options, &block
24
- end
25
49
 
26
- def version *args, &block
27
- options = args.extract_options! || {}
28
- version_options = @options.merge options
29
- ifs_array = [@options[:if], options[:if]]
30
- new_if = ::CarrierWave::Processor.conditions_merge *ifs_array
31
- version_options[:if] = new_if
32
- version_options.delete :if if version_options[:if].nil?
33
- version_options[:from_version] = @outer_version if @outer_version
34
- passing_options = {:if => ifs_array}
35
- passing_options[:outer_version] = args.first if args.first
36
- passing_options[:root_uploader] = @root_uploader || @uploader
37
- version_args = version_options.empty? ? args : (args + [version_options])
38
- passing_options[:root_uploader].version *version_args do
39
- Injector.new(self, passing_options, &block)
50
+ def method_missing *args, &block
51
+ @uploader.send *args, &block
40
52
  end
41
- end
42
53
 
43
- def method_missing *args, &block
44
- @uploader.send *args, &block
45
- end
54
+ def delay *args, &block
55
+ options = args.extract_options!
56
+ uniq_version_name = "version_#{SecureRandom.hex}".to_sym
57
+ backend = ::CarrierWave::Processor.configuration.backend
58
+ root_uploader_closure = @root_uploader
59
+ delay_check = ->(uploader, options){ ::CarrierWave::Processor.configuration.backend.can_build_uploader?(root_uploader_closure) }
60
+ backend.delay @uploader, uniq_version_name
61
+ version(uniq_version_name, :if => delay_check, &block)
62
+ end
46
63
 
47
- def delay *args, &block
48
64
  end
49
-
50
65
  end
@@ -4,21 +4,36 @@ module CarrierWave
4
4
  module Processor
5
5
  module UploaderDsl
6
6
 
7
- def use_processor *args
8
- options = args.extract_options!
9
- args.each do |processor|
10
- if processor and not ::CarrierWave::Processor.processors.blank? and real_processor = ::CarrierWave::Processor.processors[processor] and real_processor[:block]
11
- new_if = [options[:if], real_processor[:options][:if]]
12
- merged_options = real_processor[:options].merge options
13
- merged_options[:if] = new_if if new_if
14
- Injector.new(self, merged_options, &real_processor[:block])
15
- else
16
- raise ProcessorNotFoundError, processor
7
+ def self.included base
8
+ base.extend ClassMethods
9
+ end
10
+
11
+ module ClassMethods
12
+
13
+ def use_processor *args
14
+ options = args.extract_options!
15
+ args.each do |processor|
16
+ if processor and not ::CarrierWave::Processor.processors.blank? and real_processor = ::CarrierWave::Processor.processors[processor] and real_processor[:block]
17
+ new_if = [options[:if], real_processor[:options][:if]]
18
+ merged_options = real_processor[:options].merge options
19
+ merged_options[:if] = new_if if new_if
20
+ Injector.new(self, merged_options, &real_processor[:block])
21
+ else
22
+ raise ProcessorNotFoundError, processor
23
+ end
17
24
  end
18
25
  end
26
+
27
+ alias_method :use_processors, :use_processor
28
+
19
29
  end
20
30
 
21
- alias_method :use_processors, :use_processor
31
+ def perform_delayed *args
32
+ backend = ::CarrierWave::Processor.configuration.backend
33
+ if !backend.can_build_uploader?(self.class) and backend.uploaders.include? self.class
34
+ ::CarrierWave::Processor.configuration.backend.create_worker.perform(self)
35
+ end
36
+ end
22
37
 
23
38
  end
24
39
  end
@@ -1,5 +1,5 @@
1
1
  module CarrierWave
2
2
  module Processor
3
- VERSION = "1.0.3"
3
+ VERSION = "1.1.0"
4
4
  end
5
5
  end
@@ -3,15 +3,37 @@ require 'carrierwave'
3
3
  require "carrierwave/processor/version"
4
4
  require "carrierwave/processor/injector"
5
5
  require 'carrierwave/processor/uploader_dsl'
6
+ require 'carrierwave/processor/configuration'
7
+ require 'pathname'
6
8
 
7
9
  module CarrierWave
8
10
  module Processor
11
+ def self.root
12
+ Pathname.new(File.expand_path '../..', __FILE__)
13
+ end
9
14
 
10
15
  class ProcessorNotFoundError < ::StandardError
11
16
  end
12
17
 
13
18
  class << self
14
19
  attr_accessor :processors
20
+ attr_writer :configuration
21
+ end
22
+
23
+ def self.configuration
24
+ @configuration ||= Configuration.new
25
+ end
26
+
27
+ def self.configure options={}, &block
28
+ c = configuration
29
+ options.each do |k, v|
30
+ c.send "#{k}=", v
31
+ end
32
+ yield c
33
+ end
34
+
35
+ def self.async_processing? async_id
36
+ false
15
37
  end
16
38
 
17
39
  def self.conditions_merge *args
@@ -45,4 +67,4 @@ module CarrierWave
45
67
  end
46
68
 
47
69
  Object.send :include, CarrierWave::Processor::Dsl
48
- CarrierWave::Uploader::Base.extend CarrierWave::Processor::UploaderDsl
70
+ CarrierWave::Uploader::Base.include CarrierWave::Processor::UploaderDsl
@@ -24,7 +24,7 @@ describe "ActiveSupport::Concern" do
24
24
  class Ana
25
25
  end
26
26
 
27
- Ana.prepend Module.new
27
+ Ana.send :prepend, Module.new
28
28
 
29
29
  expect(Ana.send :singleton_class?).to eq(false)
30
30
  end
@@ -0,0 +1,25 @@
1
+ require 'spec_helper'
2
+
3
+
4
+ describe CarrierWave::Processor::Configuration do
5
+ subject {CarrierWave::Processor::Configuration.new}
6
+ it 'raises exception when no backend found' do
7
+ expect{subject.backend(:undefined_backend)}.to raise_error(CarrierWave::Processor::BackendNotFound)
8
+ end
9
+
10
+ it 'doesnt raise exception when backend found' do
11
+ expect{subject.backend(:base)}.not_to raise_error
12
+ end
13
+
14
+ context 'configure block' do
15
+ it 'sets backend instance if backend chosen' do
16
+ CarrierWave::Processor.configure do |config|
17
+ config.backend :base
18
+ end
19
+
20
+ CarrierWave::Processor.configuration.backend.should be_kind_of CarrierWave::Processor::Backend::Base
21
+ end
22
+ end
23
+
24
+
25
+ end
@@ -0,0 +1,47 @@
1
+ require 'spec_helper'
2
+
3
+ describe 'Injector#delay' do
4
+
5
+ before :all do
6
+ carrierwave_processor :delay_processor do
7
+ delay do
8
+ process :test
9
+ end
10
+ end
11
+ end
12
+
13
+ before :each do
14
+ if Object.constants.include?(:FooUploader)
15
+ Object.send(:remove_const, :FooUploader)
16
+ end
17
+ class FooUploader < CarrierWave::Uploader::Base
18
+ version :alalas do
19
+ def chacha
20
+ end
21
+ end
22
+
23
+ def test_me
24
+ "original"
25
+ end
26
+ end
27
+ CarrierWave::Processor.configuration = nil
28
+
29
+ end
30
+
31
+ it 'raise error on #delay if no backend chosen' do
32
+ CarrierWave::Processor.configuration.backend = nil
33
+ expect{FooUploader.send(:use_processor, :delay_processor)}.to raise_error(CarrierWave::Processor::BackendNotInitializedError)
34
+ end
35
+
36
+ it 'doesnt raise BackendNotInitializedError error if backend chosen' do
37
+ CarrierWave::Processor.configure do |config|
38
+ config.backend :base
39
+ end
40
+ begin
41
+ expect{FooUploader.send(:use_processor, :delay_processor)}.to never_raise(CarrierWave::Processor::BackendNotInitializedError)
42
+ rescue NotImplementedError
43
+ # can raise NotImplemented
44
+ end
45
+ end
46
+
47
+ end
data/spec/spec_helper.rb CHANGED
@@ -1,14 +1,19 @@
1
1
  require 'rubygems'
2
2
  require 'bundler/setup'
3
3
  require 'carrierwave'
4
+ require_relative 'utils/raise_matcher'
5
+
4
6
  $:.unshift File.dirname(__FILE__) + '/../lib'
5
7
  require 'carrierwave/processor'
6
8
 
7
9
  RSpec.configure do |config|
8
- config.treat_symbols_as_metadata_keys_with_true_values = true
9
10
  config.run_all_when_everything_filtered = true
10
11
  config.filter_run :focus
11
12
  config.order = 'random'
13
+ config.expect_with :rspec do |c|
14
+ c.syntax = [:should, :expect]
15
+ end
16
+ config.mock_with :rspec do |c|
17
+ c.syntax = [:should, :expect]
18
+ end
12
19
  end
13
-
14
-
@@ -0,0 +1,14 @@
1
+ require 'spec_helper'
2
+ require 'carrierwave/processor/backend/sucker_punch'
3
+
4
+ describe CarrierWave::Processor::Backend::SuckerPunch do
5
+ context 'configure block' do
6
+ it 'sets backend instance if backend chosen' do
7
+ CarrierWave::Processor.configure do |config|
8
+ config.backend :sucker_punch
9
+ end
10
+
11
+ CarrierWave::Processor.configuration.backend.should be_kind_of CarrierWave::Processor::Backend::Base
12
+ end
13
+ end
14
+ end
@@ -211,5 +211,26 @@ describe CarrierWave::Processor::UploaderDsl do
211
211
  FooUploader.new.versions.map{|name, uploader| uploader.should be_kind_of FooUploader}
212
212
  end
213
213
 
214
+ it 'run block into delay with adding if to options' do
215
+ CarrierWave::Processor::Backend::Base.any_instance.stub(:create_worker).and_return nil
216
+ CarrierWave::Processor.configure do |config|
217
+ config.backend :base
218
+ end
219
+ carrierwave_processor :some_proc do
220
+ version :some_version do
221
+ process :inner_processing
222
+ end
223
+ delay do
224
+ process :processing
225
+ end
226
+ end
227
+
228
+ FooUploader.should_receive(:version).with(:some_version).and_call_original
229
+ FooUploader.should_receive(:version).and_call_original
230
+ FooUploader.should_receive(:process).with(:inner_processing => [])
231
+ FooUploader.should_receive(:process).with(hash_including(:processing))
232
+ FooUploader.send(:use_processor, :some_proc)
233
+ end
234
+
214
235
 
215
236
  end
@@ -0,0 +1,46 @@
1
+ # This matcher will return:
2
+ # 1. TRUE if the code was run without exceptions
3
+ # 2. FALSE if the code was run but raised (only) the specified exception
4
+ #
5
+ # It *will* raise an exception if the block of code raises an exception other than
6
+ # (the exception specified)
7
+ #
8
+ # To use it
9
+ #
10
+ # expect {
11
+ # code
12
+ # }.to never_raise(MySpecificException)
13
+ #
14
+ RSpec::Matchers.define :never_raise do |exception_class|
15
+ global_result = nil
16
+
17
+ match do |block|
18
+ begin
19
+ block.call
20
+ rescue exception_class
21
+ global_result = "expected #{block.source_location[0]}:#{block.source_location[1]} to never raise #{exception_class.name}, but did"
22
+ false # we did NOT never raise this exception
23
+
24
+ rescue RSpec::Expectations::ExpectationNotMetError => exception
25
+ global_result = "expectation failed inside block at #{block.source_location[0]}:#{block.source_location[1]}: #{exception}"
26
+ # give us a pretty error message in addition to the error message from the exception
27
+ raise exception
28
+
29
+ rescue
30
+ # handle other exceptions by reraising them. They are exceptional!!!
31
+ # (also, no pretty error messages here)
32
+ raise
33
+
34
+ else
35
+ true # everything ran, nothing raised at all, thus code did in fact not raise anything
36
+ end
37
+ end
38
+
39
+ failure_message do |player|
40
+ global_result
41
+ end
42
+
43
+ def supports_block_expectations?
44
+ true
45
+ end
46
+ end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-processor
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.0.3
4
+ version: 1.1.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alexander Kostrov
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2014-03-24 00:00:00.000000000 Z
11
+ date: 2014-07-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carrierwave
@@ -52,6 +52,20 @@ dependencies:
52
52
  - - "~>"
53
53
  - !ruby/object:Gem::Version
54
54
  version: '1.3'
55
+ - !ruby/object:Gem::Dependency
56
+ name: appraisal
57
+ requirement: !ruby/object:Gem::Requirement
58
+ requirements:
59
+ - - ">="
60
+ - !ruby/object:Gem::Version
61
+ version: '0'
62
+ type: :development
63
+ prerelease: false
64
+ version_requirements: !ruby/object:Gem::Requirement
65
+ requirements:
66
+ - - ">="
67
+ - !ruby/object:Gem::Version
68
+ version: '0'
55
69
  - !ruby/object:Gem::Dependency
56
70
  name: rake
57
71
  requirement: !ruby/object:Gem::Requirement
@@ -81,7 +95,7 @@ dependencies:
81
95
  - !ruby/object:Gem::Version
82
96
  version: '0'
83
97
  - !ruby/object:Gem::Dependency
84
- name: factory_girl
98
+ name: sucker_punch
85
99
  requirement: !ruby/object:Gem::Requirement
86
100
  requirements:
87
101
  - - ">="
@@ -103,20 +117,39 @@ extra_rdoc_files: []
103
117
  files:
104
118
  - ".gitignore"
105
119
  - ".rspec"
120
+ - ".travis.yml"
121
+ - Appraisals
106
122
  - Gemfile
107
123
  - LICENSE.txt
108
124
  - README.md
109
125
  - Rakefile
110
126
  - carrierwave-processor.gemspec
127
+ - gemfiles/4.0.4.gemfile
128
+ - gemfiles/4.0.5.gemfile
129
+ - gemfiles/4.0.6.gemfile
130
+ - gemfiles/4.0.7.gemfile
131
+ - gemfiles/4.0.8.gemfile
132
+ - gemfiles/4.1.0.gemfile
133
+ - gemfiles/4.1.1.gemfile
134
+ - gemfiles/4.1.2.gemfile
135
+ - gemfiles/4.1.3.gemfile
136
+ - gemfiles/4.1.4.gemfile
111
137
  - lib/carrierwave/processor.rb
138
+ - lib/carrierwave/processor/backend/base.rb
139
+ - lib/carrierwave/processor/backend/sucker_punch.rb
140
+ - lib/carrierwave/processor/configuration.rb
112
141
  - lib/carrierwave/processor/dsl.rb
113
142
  - lib/carrierwave/processor/injector.rb
114
143
  - lib/carrierwave/processor/uploader_dsl.rb
115
144
  - lib/carrierwave/processor/version.rb
116
145
  - spec/active_support_spec.rb
146
+ - spec/configuration_spec.rb
147
+ - spec/delay_spec.rb
117
148
  - spec/dsl_spec.rb
118
149
  - spec/spec_helper.rb
150
+ - spec/sucker_punch_spec.rb
119
151
  - spec/uploader_dsl_spec.rb
152
+ - spec/utils/raise_matcher.rb
120
153
  homepage: http://github.com/bombazook/carrierwave-processor
121
154
  licenses:
122
155
  - MIT
@@ -138,12 +171,16 @@ required_rubygems_version: !ruby/object:Gem::Requirement
138
171
  version: '0'
139
172
  requirements: []
140
173
  rubyforge_project:
141
- rubygems_version: 2.2.1
174
+ rubygems_version: 2.2.2
142
175
  signing_key:
143
176
  specification_version: 4
144
177
  summary: Carrierwave distinct processing declaration
145
178
  test_files:
146
179
  - spec/active_support_spec.rb
180
+ - spec/configuration_spec.rb
181
+ - spec/delay_spec.rb
147
182
  - spec/dsl_spec.rb
148
183
  - spec/spec_helper.rb
184
+ - spec/sucker_punch_spec.rb
149
185
  - spec/uploader_dsl_spec.rb
186
+ - spec/utils/raise_matcher.rb