carrierwave-imagesorcery 0.0.3 → 0.0.4

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.
data/.gitignore CHANGED
@@ -3,7 +3,6 @@
3
3
  .bundle
4
4
  .config
5
5
  .yardoc
6
- Gemfile.lock
7
6
  InstalledFiles
8
7
  _yardoc
9
8
  coverage
@@ -15,3 +14,5 @@ spec/reports
15
14
  test/tmp
16
15
  test/version_tmp
17
16
  tmp
17
+
18
+ .DS_Store
data/.travis.yml ADDED
@@ -0,0 +1,17 @@
1
+ language: ruby
2
+ rvm:
3
+ - 1.8.7
4
+ - 1.9.2
5
+ - 1.9.3
6
+ - ruby-head
7
+ - jruby
8
+ - rbx
9
+ - ree
10
+
11
+ before_install:
12
+ - sudo apt-get update -qq
13
+ - sudo apt-get install -qq -y imagemagick
14
+
15
+ matrix:
16
+ allow_failures:
17
+ - rvm: ruby-head
data/Gemfile.lock ADDED
@@ -0,0 +1,43 @@
1
+ PATH
2
+ remote: .
3
+ specs:
4
+ carrierwave-imagesorcery (0.0.3)
5
+ carrierwave
6
+ image_sorcery
7
+
8
+ GEM
9
+ remote: https://rubygems.org/
10
+ specs:
11
+ activemodel (3.2.9)
12
+ activesupport (= 3.2.9)
13
+ builder (~> 3.0.0)
14
+ activesupport (3.2.9)
15
+ i18n (~> 0.6)
16
+ multi_json (~> 1.0)
17
+ builder (3.0.4)
18
+ carrierwave (0.7.1)
19
+ activemodel (>= 3.2.0)
20
+ activesupport (>= 3.2.0)
21
+ diff-lcs (1.1.3)
22
+ i18n (0.6.1)
23
+ image_sorcery (1.0.7)
24
+ multi_json (1.5.0)
25
+ rake (10.0.3)
26
+ rspec (2.12.0)
27
+ rspec-core (~> 2.12.0)
28
+ rspec-expectations (~> 2.12.0)
29
+ rspec-mocks (~> 2.12.0)
30
+ rspec-core (2.12.2)
31
+ rspec-expectations (2.12.1)
32
+ diff-lcs (~> 1.1.3)
33
+ rspec-mocks (2.12.1)
34
+ subexec (0.2.2)
35
+
36
+ PLATFORMS
37
+ ruby
38
+
39
+ DEPENDENCIES
40
+ carrierwave-imagesorcery!
41
+ rake (~> 10.0.2)
42
+ rspec (~> 2.12.0)
43
+ subexec (~> 0.2.2)
data/README.md CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  Additional processing to use [ImageSorcery](https://github.com/EricR/image_sorcery) into [CarrierWave](https://github.com/jnicklas/carrierwave).
4
4
 
5
+ [![Build Status](https://travis-ci.org/WaYdotNET/carrierwave-imagesorcery.png)](https://travis-ci.org/WaYdotNET/carrierwave-imagesorcery)
6
+ [![Code Climate](https://codeclimate.com/badge.png)](https://codeclimate.com/github/WaYdotNET/carrierwave-imagesorcery)
7
+
5
8
  ## Installation
6
9
 
7
10
  Add this line to your application's Gemfile:
@@ -10,7 +10,9 @@ Gem::Specification.new do |gem|
10
10
 
11
11
  gem.extra_rdoc_files = ["README.md"]
12
12
  gem.rdoc_options = ["--main"]
13
- gem.add_development_dependency "rspec"
13
+ gem.add_development_dependency 'rspec', '~> 2.12.0'
14
+ gem.add_development_dependency 'rake','~> 10.0.2'
15
+ gem.add_development_dependency 'subexec', '~> 0.2.2'
14
16
 
15
17
  gem.add_dependency 'carrierwave'
16
18
  gem.add_dependency 'image_sorcery'
@@ -155,8 +155,18 @@ module CarrierWave
155
155
  cache_stored_file! if !cached?
156
156
  image = Sorcery.new current_path
157
157
  image = yield(image)
158
+
159
+ replace_file(image.file) if !image.is_a?(Hash) && image.filename_changed?
160
+
161
+ image
158
162
  rescue RuntimeError, StandardError => e
159
163
  raise CarrierWave::ProcessingError , I18n.translate(:"errors.messages.imagesorcery_processing_error", :e => e)
160
164
  end
165
+
166
+ private
167
+
168
+ def replace_file(file)
169
+ FileUtils.move Dir.glob(file).first, current_path
170
+ end
161
171
  end
162
172
  end
@@ -1,5 +1,5 @@
1
1
  module CarrierWave
2
2
  module ImageSorcery
3
- VERSION = "0.0.3"
3
+ VERSION = "0.0.4"
4
4
  end
5
5
  end
@@ -20,13 +20,13 @@ describe CarrierWave::ImageSorcery do
20
20
  end
21
21
 
22
22
  after do
23
- FileUtils.rm(file_path('landscape_copy.jpg'))
23
+ FileUtils.rm([file_path('landscape_copy.jpg'), file_path('landscape_copy.png')], :force => true)
24
24
  end
25
25
 
26
26
  describe "#convert" do
27
27
  it "should convert from one format to another" do
28
- @instance.convert('foo.png')
29
- img = Sorcery.new file_path('foo.png')
28
+ @instance.convert('png')
29
+ img = Sorcery.new @instance.current_path
30
30
  img.identify.should =~ /PNG/
31
31
  end
32
32
  end
data/spec/spec_helper.rb CHANGED
@@ -1,6 +1,4 @@
1
1
  require 'rubygems' unless defined? Gem
2
- # require 'minitest' if RUBY_VERSION < "1.9"
3
-
4
2
  # we need the actual library file
5
3
  # require_relative '../lib/ms_translate'
6
4
  # For Ruby < 1.9.3, use this instead of require_relative
@@ -8,13 +6,11 @@ require 'bundler/setup'
8
6
  require 'carrierwave'
9
7
 
10
8
  require(File.expand_path('../../lib/carrierwave-imagesorcery', __FILE__))
11
- require 'minitest/autorun'
12
-
13
9
 
14
10
  def file_path(*paths)
15
11
  File.expand_path(File.join(File.dirname(__FILE__), 'fixtures', *paths))
16
12
  end
17
13
 
18
14
  def check_dimension(x, y)
19
- {:x => "#{x}", :y => "#{y}"}
15
+ {:x => x, :y => y}
20
16
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: carrierwave-imagesorcery
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  prerelease:
6
6
  platform: ruby
7
7
  authors:
@@ -9,24 +9,56 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2012-08-23 00:00:00.000000000 Z
12
+ date: 2012-12-30 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: rspec
16
16
  requirement: !ruby/object:Gem::Requirement
17
17
  none: false
18
18
  requirements:
19
- - - ! '>='
19
+ - - ~>
20
20
  - !ruby/object:Gem::Version
21
- version: '0'
21
+ version: 2.12.0
22
22
  type: :development
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
25
25
  none: false
26
26
  requirements:
27
- - - ! '>='
27
+ - - ~>
28
28
  - !ruby/object:Gem::Version
29
- version: '0'
29
+ version: 2.12.0
30
+ - !ruby/object:Gem::Dependency
31
+ name: rake
32
+ requirement: !ruby/object:Gem::Requirement
33
+ none: false
34
+ requirements:
35
+ - - ~>
36
+ - !ruby/object:Gem::Version
37
+ version: 10.0.2
38
+ type: :development
39
+ prerelease: false
40
+ version_requirements: !ruby/object:Gem::Requirement
41
+ none: false
42
+ requirements:
43
+ - - ~>
44
+ - !ruby/object:Gem::Version
45
+ version: 10.0.2
46
+ - !ruby/object:Gem::Dependency
47
+ name: subexec
48
+ requirement: !ruby/object:Gem::Requirement
49
+ none: false
50
+ requirements:
51
+ - - ~>
52
+ - !ruby/object:Gem::Version
53
+ version: 0.2.2
54
+ type: :development
55
+ prerelease: false
56
+ version_requirements: !ruby/object:Gem::Requirement
57
+ none: false
58
+ requirements:
59
+ - - ~>
60
+ - !ruby/object:Gem::Version
61
+ version: 0.2.2
30
62
  - !ruby/object:Gem::Dependency
31
63
  name: carrierwave
32
64
  requirement: !ruby/object:Gem::Requirement
@@ -68,7 +100,9 @@ extra_rdoc_files:
68
100
  - README.md
69
101
  files:
70
102
  - .gitignore
103
+ - .travis.yml
71
104
  - Gemfile
105
+ - Gemfile.lock
72
106
  - LICENSE
73
107
  - README.md
74
108
  - Rakefile
@@ -77,7 +111,6 @@ files:
77
111
  - lib/carrierwave-imagesorcery/image_sorcery.rb
78
112
  - lib/carrierwave-imagesorcery/version.rb
79
113
  - spec/fixtures/landscape.jpg
80
- - spec/lib/carrierwave-imagesorcery/image_sorcery.rb
81
114
  - spec/lib/carrierwave-imagesorcery/image_sorcery_spec.rb
82
115
  - spec/spec_helper.rb
83
116
  homepage: http://www.waydotnet.com
@@ -101,13 +134,12 @@ required_rubygems_version: !ruby/object:Gem::Requirement
101
134
  version: '0'
102
135
  requirements: []
103
136
  rubyforge_project:
104
- rubygems_version: 1.8.24
137
+ rubygems_version: 1.8.23
105
138
  signing_key:
106
139
  specification_version: 3
107
140
  summary: ImageSorcery carrierwave processor
108
141
  test_files:
109
142
  - spec/fixtures/landscape.jpg
110
- - spec/lib/carrierwave-imagesorcery/image_sorcery.rb
111
143
  - spec/lib/carrierwave-imagesorcery/image_sorcery_spec.rb
112
144
  - spec/spec_helper.rb
113
145
  has_rdoc:
@@ -1,111 +0,0 @@
1
- # # require_relative '../../spec_helper'
2
- # # For Ruby < 1.9.3, use this instead of require_relative
3
- require (File.expand_path('./../../../spec_helper', __FILE__))
4
-
5
- describe CarrierWave::ImageSorcery do
6
-
7
- before do
8
- @klass = Class.new do
9
- include CarrierWave::ImageSorcery
10
- end
11
- @instance = @klass.new
12
- FileUtils.cp(file_path('landscape.jpg'), file_path('landscape_copy.jpg'))
13
- @instance.stub(:current_path).and_return(file_path('landscape_copy.jpg'))
14
- @instance.stub(:cached?).and_return true
15
- end
16
-
17
- after do
18
- FileUtils.rm(file_path('landscape_copy.jpg'))
19
- end
20
-
21
- describe "#convert" do
22
- it "should convert from one format to another" do
23
- @instance.convert('foo.png')
24
- # img = ::MiniMagick::Image.open(@instance.current_path)
25
- img = Sorcery.new @istance.current_path
26
- identify= img.identify
27
- identify.should =~ /PNG/
28
- end
29
- end
30
-
31
- describe '#resize_to_fill' do
32
- it "should resize the image to exactly the given dimensions" do
33
- @instance.resize_to_fill(200, 200)
34
- @instance.should have_dimensions(200, 200)
35
- end
36
-
37
- it "should scale up the image if it smaller than the given dimensions" do
38
- @instance.resize_to_fill(1000, 1000)
39
- @instance.should have_dimensions(1000, 1000)
40
- end
41
- end
42
-
43
- describe '#resize_and_pad' do
44
- it "should resize the image to exactly the given dimensions" do
45
- @instance.resize_and_pad(200, 200)
46
- @instance.should have_dimensions(200, 200)
47
- end
48
-
49
- it "should scale up the image if it smaller than the given dimensions" do
50
- @instance.resize_and_pad(1000, 1000)
51
- @instance.should have_dimensions(1000, 1000)
52
- end
53
-
54
- it "should pad with white" do
55
- @instance.resize_and_pad(200, 200)
56
- image = ::MiniMagick::Image.open(@instance.current_path)
57
- x, y = 0, 0
58
- color = image.run_command("convert", "#{image.escaped_path}[1x1+#{x}+#{y}]", "-depth 8", "txt:").split("\n")[1]
59
- color.should include('#FFFFFF')
60
- end
61
-
62
- end
63
-
64
- describe '#resize_to_fit' do
65
- it "should resize the image to fit within the given dimensions" do
66
- @instance.resize_to_fit(200, 200)
67
- @instance.should have_dimensions(200, 150)
68
- end
69
-
70
- it "should scale up the image if it smaller than the given dimensions" do
71
- @instance.resize_to_fit(1000, 1000)
72
- @instance.should have_dimensions(1000, 750)
73
- end
74
- end
75
-
76
- describe '#resize_to_limit' do
77
- it "should resize the image to fit within the given dimensions" do
78
- @instance.resize_to_limit(200, 200)
79
- @instance.should have_dimensions(200, 150)
80
- end
81
-
82
- it "should not scale up the image if it smaller than the given dimensions" do
83
- @instance.resize_to_limit(1000, 1000)
84
- @instance.should have_dimensions(640, 480)
85
- end
86
- end
87
-
88
- describe "test errors" do
89
- context "invalid image file" do
90
- before do
91
- File.open(@instance.current_path, 'w') do |f|
92
- f.puts "bogus"
93
- end
94
- end
95
-
96
- it "should fail to process a non image file" do
97
- lambda {@instance.resize_to_limit(200, 200)}.should raise_exception(CarrierWave::ProcessingError, /^Failed to manipulate with MiniMagick, maybe it is not an image\? Original Error:/)
98
- end
99
-
100
- it "should use I18n" do
101
- change_locale_and_store_translations(:nl, :errors => {
102
- :messages => {
103
- :mini_magick_processing_error => "Kon bestand niet met MiniMagick bewerken, misschien is het geen beeld bestand? MiniMagick foutmelding: %{e}"
104
- }
105
- }) do
106
- lambda {@instance.resize_to_limit(200, 200)}.should raise_exception(CarrierWave::ProcessingError, /^Kon bestand niet met MiniMagick bewerken, misschien is het geen beeld bestand\? MiniMagick foutmelding:/)
107
- end
108
- end
109
- end
110
- end
111
- end