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.
Files changed (2) hide show
  1. data/lib/digineo/image.rb +24 -0
  2. 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: 21
4
+ hash: 19
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 2
9
- - 1
10
- version: 0.2.1
9
+ - 2
10
+ version: 0.2.2
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dennis Meise