carrierwave_backgrounder 0.1.1 → 0.1.2

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.
@@ -0,0 +1,30 @@
1
+ ## 0.1.2
2
+
3
+ ### enhancements
4
+ * Add a rails generator to generate the config file.
5
+ ```bash
6
+ rails g carrierwave_backgrounder:install
7
+ ```
8
+
9
+ ### bug fixes
10
+ * Check [column]_cache to make sure we are processessing when a form fails and [column]_cache is used.
11
+
12
+ ## 0.1.1
13
+
14
+ ### enhancements
15
+ * Allow passing of all options to sidekiq in config file.
16
+
17
+ ### bug fixes
18
+ * Revert where sidekiq was broken due to Sidekiq::Worker not properly being included.
19
+
20
+ ## 0.1.0
21
+
22
+ ### enhancements
23
+ * Add support to pass options to backends allowing queue names to be set in the initializer.
24
+ * Make threadsafe. [gitt]
25
+ * Add support to immediately process jobs if :immediate is set in config backend. [Antiarchitect]
26
+
27
+ ### bug fixes
28
+ * Girl Friday incorrectly referenses class #92
29
+ * Add documentation for testing with rspec #84.
30
+
data/README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  I like CarrierWave. That being said, I don't like tying up app instances waiting for images to process.
4
4
 
5
- This gem addresses that moving processing or storage/processing to a background task.
5
+ This gem addresses that by offloading processing or storage/processing to a background task.
6
6
  We currently support Delayed Job, Resque, Sidekiq, Girl Friday, Qu, and Queue Classic.
7
7
 
8
8
  ## Background options
@@ -38,27 +38,12 @@ In Rails, add the following your Gemfile:
38
38
  gem 'carrierwave_backgrounder'
39
39
  ```
40
40
 
41
- ### Setup
42
-
43
- In an initializer:
44
-
45
- ```ruby
46
- CarrierWave::Backgrounder.configure do |c|
47
- # :delayed_job, :girl_friday, :sidekiq, :qu, :resque, or :qc
48
- c.backend :delayed_job
49
- end
50
- ```
51
-
52
- If you would like to use a custom queue name for Delayed Job, Resque, Girl Friday, Sidekiq and Qu pass in the following option.
53
- The queue name will default to carrierwave.
54
-
55
- ```ruby
56
- CarrierWave::Backgrounder.configure do |c|
57
- c.backend :delayed_job, queue: :awesome_queue
58
- end
41
+ Run the generator which will create an initializer in config/initializers.
42
+ ```bash
43
+ rails g carrierwave_backgrounder:install
59
44
  ```
60
45
 
61
- You can also pass additional configuration options to Girl Friday
46
+ You can pass additional configuration options to Girl Friday and Sidekiq:
62
47
 
63
48
  ```ruby
64
49
  CarrierWave::Backgrounder.configure do |c|
@@ -13,7 +13,7 @@ module CarrierWave
13
13
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
14
14
  def trigger_#{column}_background_processing?
15
15
  process_#{column}_upload != true &&
16
- (#{column}_changed? || previous_changes.has_key?(:#{column}) || remote_#{column}_url.present?)
16
+ (#{column}_changed? || previous_changes.has_key?(:#{column}) || remote_#{column}_url.present? || #{column}_cache.present?)
17
17
  end
18
18
  RUBY
19
19
  end
@@ -24,7 +24,7 @@ module CarrierWave
24
24
  class_eval <<-RUBY, __FILE__, __LINE__ + 1
25
25
  def trigger_#{column}_background_storage?
26
26
  process_#{column}_upload != true &&
27
- (#{column}_changed? || previous_changes.has_key?(:#{column}) || remote_#{column}_url.present?)
27
+ (#{column}_changed? || previous_changes.has_key?(:#{column}) || remote_#{column}_url.present? || #{column}_cache.present?)
28
28
  end
29
29
  RUBY
30
30
  end
@@ -1,5 +1,5 @@
1
1
  module CarrierWave
2
2
  module Backgrounder
3
- VERSION = "0.1.1"
3
+ VERSION = "0.1.2"
4
4
  end
5
5
  end
@@ -3,10 +3,7 @@ module CarrierWave
3
3
  module Workers
4
4
 
5
5
  class ProcessAsset < Struct.new(:klass, :id, :column)
6
-
7
- if defined?(::Sidekiq)
8
- include ::Sidekiq::Worker
9
- end
6
+ include ::Sidekiq::Worker if defined?(::Sidekiq)
10
7
 
11
8
  def self.perform(*args)
12
9
  new(*args).perform
@@ -3,11 +3,7 @@ module CarrierWave
3
3
  module Workers
4
4
 
5
5
  class StoreAsset < Struct.new(:klass, :id, :column)
6
- if defined?(::Sidekiq)
7
- include ::Sidekiq::Worker
8
-
9
- sidekiq_options :queue => @queue
10
- end
6
+ include ::Sidekiq::Worker if defined?(::Sidekiq)
11
7
 
12
8
  def self.perform(*args)
13
9
  new(*args).perform
@@ -0,0 +1,8 @@
1
+ Description:
2
+ To copy CarrierWaveBackgrounder initializer to your Rails App, with some configuration values, run the following:
3
+
4
+ Example:
5
+ rails generate carrierwave_backgrounder:install
6
+
7
+ This will create:
8
+ config/initializer/carrierwave_backgrounder.rb
@@ -0,0 +1,20 @@
1
+ module CarrierwaveBackgrounder
2
+ module Generators
3
+ class InstallGenerator < Rails::Generators::Base
4
+ source_root File.expand_path('../templates', __FILE__)
5
+
6
+ def copy_config
7
+ template "config/initializers/carrierwave_backgrounder.rb"
8
+ end
9
+
10
+ def info_config
11
+ puts <<-EOF
12
+
13
+ \e[33mBy default :delayed_job is used as the backend for carrierwave_backgrounder with :carrierwave as the queue name.
14
+ To change this, edit config/initializers/carrierwave_backgrounder.rb.\e[0m
15
+
16
+ EOF
17
+ end
18
+ end
19
+ end
20
+ end
@@ -0,0 +1,8 @@
1
+ CarrierWave::Backgrounder.configure do |c|
2
+ c.backend :delayed_job, queue: :carrierwave
3
+ # c.backend :resque, queue: :carrierwave
4
+ # c.backend :sidekiq, queue: :carrierwave
5
+ # c.backend :girl_friday, queue: :carrierwave
6
+ # c.backend :qu, queue: :carrierwave
7
+ # c.backend :qc
8
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave_backgrounder
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.1.2
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-12-13 00:00:00.000000000 Z
12
+ date: 2012-12-15 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: carrierwave
@@ -84,6 +84,7 @@ extra_rdoc_files: []
84
84
  files:
85
85
  - .gitignore
86
86
  - .rspec
87
+ - CHANGELOG.md
87
88
  - Gemfile
88
89
  - README.md
89
90
  - Rakefile
@@ -98,6 +99,9 @@ files:
98
99
  - lib/backgrounder/workers/process_asset.rb
99
100
  - lib/backgrounder/workers/store_asset.rb
100
101
  - lib/carrierwave_backgrounder.rb
102
+ - lib/generators/carrierwave_backgrounder/USAGE
103
+ - lib/generators/carrierwave_backgrounder/install_generator.rb
104
+ - lib/generators/carrierwave_backgrounder/templates/config/initializers/carrierwave_backgrounder.rb
101
105
  - spec/backgrounder/orm/activemodel_spec.rb
102
106
  - spec/backgrounder/orm/base_spec.rb
103
107
  - spec/backgrounder/support/backends_spec.rb
@@ -120,7 +124,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
120
124
  version: '0'
121
125
  segments:
122
126
  - 0
123
- hash: -4115860577896091097
127
+ hash: -4429973419830496543
124
128
  required_rubygems_version: !ruby/object:Gem::Requirement
125
129
  none: false
126
130
  requirements:
@@ -129,7 +133,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
129
133
  version: '0'
130
134
  segments:
131
135
  - 0
132
- hash: -4115860577896091097
136
+ hash: -4429973419830496543
133
137
  requirements: []
134
138
  rubyforge_project: carrierwave_backgrounder
135
139
  rubygems_version: 1.8.24