has_images 0.1.8 → 0.1.9

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.
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