carrierwave-processor 0.0.1.pre → 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: f9b477ba217d1235ada6e864ecbeb8148df8ee6d
4
- data.tar.gz: 6beeca6c3a3541c60c2dc3ebbb588bf046fe139b
3
+ metadata.gz: 8888e33817df6e28e43e63a5d26aadff0ef72df2
4
+ data.tar.gz: 69fd491bd8ffdf034c9ad4561a2600e8422b73f7
5
5
  SHA512:
6
- metadata.gz: 4de4ca8e40e2dfa36c271d7e2989420ef54ffd3cf13ca5d47d8ac32d1a03babbe95a43a01d355bfa0292cc9bd597c01d21033016cb0787fc01be8149627994e6
7
- data.tar.gz: fdee6a44fba1ab78fdd8eb683505276eff764a54e24cb1f77260c9640391c50cccb978a65c2bacffa7f7307c409abb6bec6d0e6d025340ddfa945ca142e71190
6
+ metadata.gz: 9cd9c75be3ed190a8e7e2879940bff4898d85c7bd327c15eeb7a27a9ab2e31e38c14230fb13c9b72cdc52407ec2b5484492cf6146a0173d3b036d50f436e626a
7
+ data.tar.gz: 068140e6335488f2a67ea7be347987e85dd7934f777cf9e0ce3d2ccfb4c626e0e4861acb526a907166be0643a5aac53e6e3533e01ae9be6f02e11e3908f9a11a
@@ -32,25 +32,25 @@ module CarrierWave
32
32
  end
33
33
 
34
34
  def load_cw_versions processor, options = {}
35
- conditions = options[:conditions] || []
36
- processor.processors.each do |name, version|
37
- new_conditions = (conditions + [version.options[:if]]).compact
35
+ conditions = options.delete(:conditions) || []
36
+ processor.processors.each do |name, v|
37
+ new_conditions = (conditions + [v.options[:if]]).compact
38
38
  condition = ::CarrierWave::Processor.conditions_merge(*new_conditions) unless new_conditions.empty?
39
- version_options = version.options
39
+ version_options = v.options
40
40
  version_options.merge! options if options
41
41
  version_options.merge!(:if => condition) if condition
42
42
  if version_options.empty?
43
43
  version name do
44
- load_cw_processors version
44
+ load_cw_processors v
45
45
  end
46
46
  else
47
47
  version name, version_options do
48
- load_cw_processors version
48
+ load_cw_processors v
49
49
  end
50
50
  end
51
- next_level_options = {:from_version => version.name}
51
+ next_level_options = {:from_version => name}
52
52
  next_level_options.merge!(:conditions => new_conditions) unless conditions.empty?
53
- load_cw_versions version, next_level_options
53
+ load_cw_versions v, next_level_options
54
54
  end
55
55
  end
56
56
  end
@@ -1,5 +1,5 @@
1
1
  module CarrierWave
2
2
  module Processor
3
- VERSION = "0.0.1.pre"
3
+ VERSION = "1.0"
4
4
  end
5
5
  end
@@ -17,6 +17,7 @@ module CarrierWave
17
17
  def self.conditions_merge *args
18
18
  args.compact!
19
19
  return nil if args.empty?
20
+ return args.first if args.length == 1
20
21
  lambda do |uploader, options|
21
22
  args.inject(true) do |accum, condition|
22
23
  break false unless accum
@@ -1,6 +1,17 @@
1
1
  require 'spec_helper'
2
2
 
3
3
  describe CarrierWave::Processor::UploaderDsl do
4
+ before :each do
5
+ CarrierWave::Processor.stub(:conditions_merge) do |*args|
6
+ if args.empty?
7
+ nil
8
+ elsif (args.length == 1)
9
+ args.first
10
+ else
11
+ args
12
+ end
13
+ end
14
+ end
4
15
  before :each do
5
16
  if Object.constants.include?(:FooUploader)
6
17
  Object.send(:remove_const, :FooUploader)
@@ -68,11 +79,61 @@ describe CarrierWave::Processor::UploaderDsl do
68
79
 
69
80
  it "calls inner version processors without if option merge" do
70
81
  carrierwave_processor :some_processor do
71
- version :some_version do
72
- process :another_version, :if => :abrakadabra
82
+ version :some_version, :if => :nyasha do
83
+ process :processing, :if => :abrakadabra
73
84
  end
74
85
  end
75
- FooUploader.should_receive(:version).with(:some_version)
86
+ FooUploader.should_receive(:process).with(:processing => [], :if => :abrakadabra)
87
+ FooUploader.send(:use_processor, :some_processor, :if => :kuku)
88
+ end
89
+
90
+ it 'multiple versions merges correctly' do
91
+
92
+ carrierwave_processor :some_processor do
93
+ process :root_process, :if => :e
94
+ process :root2_process
95
+ version :a2_version do
96
+ process :a3_process
97
+ process :a4_process, :if => :a4
98
+ end
99
+ version :a_version, :if => :b do
100
+ process :a_process, :if => :f
101
+ process :a2_process
102
+ version :b_version do
103
+ process :b_process, :if => :e
104
+ process :b2_process
105
+ version :c_version, :if => :c do
106
+ process :c_process, :if => :d
107
+ process :c2_process
108
+ version :d_version do
109
+ process :d_process, :if => :e
110
+ process :d2_process
111
+ end
112
+ end
113
+ end
114
+ end
115
+ end
116
+
117
+ FooUploader.should_receive(:version).with(:a2_version, :if => :root).and_call_original
118
+ FooUploader.should_receive(:version).with(:a_version, :if => [:root, :b]).and_call_original
119
+ FooUploader.should_receive(:version).with(:b_version, :from_version => :a_version, :if => [:root, :b]).and_call_original
120
+ FooUploader.should_receive(:version).with(:c_version, :from_version => :b_version, :if => [:root, :b, :c]).and_call_original
121
+ FooUploader.should_receive(:version).with(:d_version, :from_version => :c_version, :if => [:root, :b, :c]).and_call_original
122
+
123
+ FooUploader.should_receive(:process).with(:root_process => [], :if => [:root, :e])
124
+ FooUploader.should_receive(:process).with(:root2_process => [], :if => :root)
125
+ FooUploader.should_receive(:process).with(:a3_process => [])
126
+ FooUploader.should_receive(:process).with(:a4_process => [], :if => :a4)
127
+ FooUploader.should_receive(:process).with(:a_process => [], :if => :f)
128
+ FooUploader.should_receive(:process).with(:a2_process => [])
129
+ FooUploader.should_receive(:process).with(:b_process => [], :if => :e)
130
+ FooUploader.should_receive(:process).with(:b2_process => [])
131
+ FooUploader.should_receive(:process).with(:c_process => [], :if => :d)
132
+ FooUploader.should_receive(:process).with(:c2_process => [])
133
+ FooUploader.should_receive(:process).with(:d_process => [], :if => :e)
134
+ FooUploader.should_receive(:process).with(:d2_process => [])
135
+
136
+ FooUploader.send(:use_processor, :some_processor, :if => :root)
76
137
  end
77
138
 
78
139
  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: 0.0.1.pre
4
+ version: '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: 2013-12-24 00:00:00.000000000 Z
11
+ date: 2013-12-25 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: carrierwave
@@ -119,9 +119,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  version: '0'
120
120
  required_rubygems_version: !ruby/object:Gem::Requirement
121
121
  requirements:
122
- - - ">"
122
+ - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: 1.3.1
124
+ version: '0'
125
125
  requirements: []
126
126
  rubyforge_project:
127
127
  rubygems_version: 2.1.11