has_images 0.1.8 → 0.1.9

Sign up to get free protection for your applications and to get access to all the features.
Files changed (3) hide show
  1. data/lib/digineo/image.rb +9 -0
  2. data/lib/has_images.rb +4 -0
  3. metadata +4 -4
data/lib/digineo/image.rb CHANGED
@@ -7,6 +7,7 @@ class Digineo::Image < ActiveRecord::Base
7
7
  belongs_to :gallery, :class_name => "Digineo::ImageGallery"
8
8
  belongs_to :image_type, :class_name => "Digineo::ImageType"
9
9
  attr_accessor :file_url
10
+ attr_accessor :gallery_name
10
11
 
11
12
  before_create :should_be_avatar?
12
13
  before_destroy :unset_avatar if :avatar
@@ -16,6 +17,8 @@ class Digineo::Image < ActiveRecord::Base
16
17
 
17
18
  has_attached_file :file
18
19
 
20
+ after_save :set_gallery
21
+
19
22
 
20
23
  validates_attachment_presence :file, :unless => :file_url_provided?, :on => :create
21
24
  validates_presence_of :parentmodel
@@ -32,6 +35,12 @@ class Digineo::Image < ActiveRecord::Base
32
35
  update_attribute(:avatar, false)
33
36
  end
34
37
 
38
+ def set_gallery
39
+ return if gallery_id or gallery_name.to_s.empty?
40
+ self.gallery_id = parentmodel.find_or_create_gallery(gallery_name).id
41
+ save
42
+ end
43
+
35
44
  private
36
45
 
37
46
  def should_be_avatar?
data/lib/has_images.rb CHANGED
@@ -49,6 +49,10 @@ module HasImages
49
49
  galleries.any?
50
50
  end
51
51
 
52
+ def find_or_create_gallery(name)
53
+ galleries.find_or_create_by_name(name)
54
+ end
55
+
52
56
  def create_image_by_url(url, image_type = nil)
53
57
  images.create!(:file_url => url, :image_type => image_type)
54
58
  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: 11
4
+ hash: 9
5
5
  prerelease: false
6
6
  segments:
7
7
  - 0
8
8
  - 1
9
- - 8
10
- version: 0.1.8
9
+ - 9
10
+ version: 0.1.9
11
11
  platform: ruby
12
12
  authors:
13
13
  - Dennis Meise
@@ -15,7 +15,7 @@ autorequire:
15
15
  bindir: bin
16
16
  cert_chain: []
17
17
 
18
- date: 2010-07-15 00:00:00 +00:00
18
+ date: 2010-07-19 00:00:00 +00:00
19
19
  default_executable:
20
20
  dependencies:
21
21
  - !ruby/object:Gem::Dependency