has_images 0.2.1 → 0.2.2
Sign up to get free protection for your applications and to get access to all the features.
- data/lib/digineo/image.rb +24 -0
- metadata +3 -3
data/lib/digineo/image.rb
CHANGED
@@ -1,3 +1,4 @@
|
|
1
|
+
require 'RMagick'
|
1
2
|
class Digineo::Image < ActiveRecord::Base
|
2
3
|
|
3
4
|
set_table_name :digineo_images
|
@@ -61,6 +62,27 @@ class Digineo::Image < ActiveRecord::Base
|
|
61
62
|
save
|
62
63
|
end
|
63
64
|
|
65
|
+
def crop(params = {:style => :original})
|
66
|
+
|
67
|
+
args = [params[:x1].to_i, params[:y1].to_i, params[:width].to_i, params[:height].to_i]
|
68
|
+
|
69
|
+
if old_original = file.to_file(params[:style])
|
70
|
+
orig_img = Magick::ImageList.new
|
71
|
+
orig_img.from_blob(old_original.read)
|
72
|
+
orig_img.crop!(*args)
|
73
|
+
|
74
|
+
new_img = File.open(file.path(:original), "w")
|
75
|
+
new_img.write(orig_img.to_blob)
|
76
|
+
new_img.close
|
77
|
+
|
78
|
+
|
79
|
+
file.reprocess!
|
80
|
+
save
|
81
|
+
else
|
82
|
+
true
|
83
|
+
end
|
84
|
+
end
|
85
|
+
|
64
86
|
private
|
65
87
|
|
66
88
|
def should_be_avatar?
|
@@ -84,4 +106,6 @@ class Digineo::Image < ActiveRecord::Base
|
|
84
106
|
rescue # TODO catch url errors with validations instead of exceptions (Errno::ENOENT, OpenURI::HTTPError, etc...)
|
85
107
|
end
|
86
108
|
|
109
|
+
|
110
|
+
|
87
111
|
end
|
metadata
CHANGED
@@ -1,13 +1,13 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: has_images
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
hash:
|
4
|
+
hash: 19
|
5
5
|
prerelease: false
|
6
6
|
segments:
|
7
7
|
- 0
|
8
8
|
- 2
|
9
|
-
-
|
10
|
-
version: 0.2.
|
9
|
+
- 2
|
10
|
+
version: 0.2.2
|
11
11
|
platform: ruby
|
12
12
|
authors:
|
13
13
|
- Dennis Meise
|