mix-rails-albums 0.22.0 → 0.23.0
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/app/assets/javascripts/backbone/models/photo.js.coffee +0 -1
- data/app/assets/javascripts/backbone/templates/photos/photo_modal_edit.hamlc.erb +2 -2
- data/app/assets/javascripts/models/fileitem.js +0 -1
- data/app/models/admix/albums_datagrid.rb +1 -1
- data/app/models/admix/photos_datagrid.rb +1 -1
- data/app/models/album.rb +3 -3
- data/app/models/concerns/album.rb +36 -0
- data/app/models/photo.rb +7 -8
- data/app/uploaders/albums/image_uploader.rb +4 -3
- data/db/migrate/20130208020540_create_albums.rb +17 -0
- data/db/migrate/20130208021030_create_photos.rb +15 -0
- data/lib/mix-rails-albums.rb +1 -7
- data/lib/mix-rails-albums/engine.rb +5 -0
- data/lib/mix-rails-albums/version.rb +1 -1
- metadata +7 -53
- data/lib/concerns/models/album.rb +0 -43
@@ -1,10 +1,10 @@
|
|
1
|
-
.modal.hide.fade.admix-photo-modal{id: "photo-modal-#{@
|
1
|
+
.modal.hide.fade.admix-photo-modal{id: "photo-modal-#{@id}"}
|
2
2
|
.modal-header
|
3
3
|
%button.close{"aria-hidden" => "true", "data-dismiss" => "modal", :type => "button"} ×
|
4
4
|
%h3 Detalhes da foto
|
5
5
|
.modal-body
|
6
6
|
.edit-area.pull-right
|
7
|
-
%textarea.span5{id: "input_photo_description_#{@
|
7
|
+
%textarea.span5{id: "input_photo_description_#{@id}",placeholder: 'Adicione uma descrição para esta foto.'}
|
8
8
|
#{@description}
|
9
9
|
.photo
|
10
10
|
%img{src: @image.medium.url}
|
data/app/models/album.rb
CHANGED
@@ -1,3 +1,3 @@
|
|
1
|
-
class Album
|
2
|
-
include
|
3
|
-
end
|
1
|
+
class Album < ActiveRecord::Base
|
2
|
+
include Concerns::Album
|
3
|
+
end
|
@@ -0,0 +1,36 @@
|
|
1
|
+
module Concerns::Album
|
2
|
+
extend ActiveSupport::Concern
|
3
|
+
|
4
|
+
included do
|
5
|
+
extend Enumerize
|
6
|
+
extend FriendlyId
|
7
|
+
|
8
|
+
attr_accessible :date, :description, :status, :title
|
9
|
+
|
10
|
+
enumerize :status, in: [:published, :unpublished], default: :published, predicates: true
|
11
|
+
friendly_id :title, use: :slugged
|
12
|
+
|
13
|
+
has_many :photos, :as => :related
|
14
|
+
belongs_to :related, :polymorphic => true
|
15
|
+
|
16
|
+
validation_for_title
|
17
|
+
validation_for_date
|
18
|
+
|
19
|
+
|
20
|
+
scope :published, where(status: :published).joins(:photos).having("count(photos.id) > 1")
|
21
|
+
|
22
|
+
end
|
23
|
+
|
24
|
+
module ClassMethods
|
25
|
+
|
26
|
+
def validation_for_title
|
27
|
+
validates_presence_of :title
|
28
|
+
end
|
29
|
+
|
30
|
+
def validation_for_date
|
31
|
+
validates_presence_of :date
|
32
|
+
end
|
33
|
+
|
34
|
+
end
|
35
|
+
|
36
|
+
end
|
data/app/models/photo.rb
CHANGED
@@ -1,12 +1,11 @@
|
|
1
|
-
class Photo
|
2
|
-
|
3
|
-
include Mongoid::Document
|
4
|
-
include Mongoid::Timestamps
|
1
|
+
class Photo < ActiveRecord::Base
|
2
|
+
extend FriendlyId
|
5
3
|
|
6
|
-
|
4
|
+
attr_accessible :description, :image, :image_cache
|
7
5
|
|
8
|
-
|
6
|
+
friendly_id :description, use: :slugged
|
9
7
|
|
8
|
+
belongs_to :related, :polymorphic => true
|
9
|
+
|
10
10
|
mount_uploader :image, Albums::ImageUploader
|
11
|
-
|
12
|
-
end
|
11
|
+
end
|
@@ -1,6 +1,5 @@
|
|
1
1
|
# encoding: utf-8
|
2
2
|
require 'carrierwave/processing/mini_magick'
|
3
|
-
require 'mix-rails-core/gridfs'
|
4
3
|
|
5
4
|
class Albums::ImageUploader < CarrierWave::Uploader::Base
|
6
5
|
|
@@ -13,13 +12,13 @@ class Albums::ImageUploader < CarrierWave::Uploader::Base
|
|
13
12
|
include Sprockets::Helpers::IsolatedHelper
|
14
13
|
|
15
14
|
# Choose what kind of storage to use for this uploader:
|
16
|
-
|
15
|
+
|
17
16
|
# storage :fog
|
18
17
|
|
19
18
|
# Override the directory where uploaded files will be stored.
|
20
19
|
# This is a sensible default for uploaders that are meant to be mounted:
|
21
20
|
def store_dir
|
22
|
-
"uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
21
|
+
"system/uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
|
23
22
|
end
|
24
23
|
|
25
24
|
def cache_dir
|
@@ -51,6 +50,8 @@ class Albums::ImageUploader < CarrierWave::Uploader::Base
|
|
51
50
|
|
52
51
|
albums_watermark = Setting.albums_watermark
|
53
52
|
|
53
|
+
#raise albums_watermark.image
|
54
|
+
|
54
55
|
watermark_image = if albums_watermark
|
55
56
|
gridfs_file = MixRailsCore::Gridfs::read_file(albums_watermark.image.url)
|
56
57
|
MiniMagick::Image.read(gridfs_file, "png")
|
@@ -0,0 +1,17 @@
|
|
1
|
+
class CreateAlbums < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :albums do |t|
|
4
|
+
t.string :title
|
5
|
+
t.text :description
|
6
|
+
t.date :date
|
7
|
+
t.string :status
|
8
|
+
t.string :slug
|
9
|
+
|
10
|
+
t.references :related, polymorphic: true
|
11
|
+
t.timestamps
|
12
|
+
end
|
13
|
+
|
14
|
+
add_index :albums, :slug, unique: true
|
15
|
+
|
16
|
+
end
|
17
|
+
end
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class CreatePhotos < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
create_table :photos do |t|
|
4
|
+
t.text :description
|
5
|
+
t.string :image
|
6
|
+
t.string :slug
|
7
|
+
|
8
|
+
t.references :related, polymorphic: true
|
9
|
+
t.timestamps
|
10
|
+
end
|
11
|
+
|
12
|
+
add_index :photos, :slug, unique: true
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
data/lib/mix-rails-albums.rb
CHANGED
@@ -1,9 +1,5 @@
|
|
1
1
|
require "mix-rails-albums/engine"
|
2
|
-
|
3
|
-
require "mongoid/railtie"
|
4
|
-
require "carrierwave/mongoid"
|
5
2
|
require "mini_magick"
|
6
|
-
|
7
3
|
require "haml_coffee_assets"
|
8
4
|
|
9
5
|
module MixRailsAlbums
|
@@ -11,6 +7,4 @@ module MixRailsAlbums
|
|
11
7
|
module Models
|
12
8
|
end
|
13
9
|
end
|
14
|
-
end
|
15
|
-
|
16
|
-
require 'concerns/models/album'
|
10
|
+
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: mix-rails-albums
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.23.0
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -9,7 +9,7 @@ authors:
|
|
9
9
|
autorequire:
|
10
10
|
bindir: bin
|
11
11
|
cert_chain: []
|
12
|
-
date: 2013-02-
|
12
|
+
date: 2013-02-08 00:00:00.000000000 Z
|
13
13
|
dependencies:
|
14
14
|
- !ruby/object:Gem::Dependency
|
15
15
|
name: rails
|
@@ -27,54 +27,6 @@ dependencies:
|
|
27
27
|
- - ~>
|
28
28
|
- !ruby/object:Gem::Version
|
29
29
|
version: 3.2.9
|
30
|
-
- !ruby/object:Gem::Dependency
|
31
|
-
name: bson_ext
|
32
|
-
requirement: !ruby/object:Gem::Requirement
|
33
|
-
none: false
|
34
|
-
requirements:
|
35
|
-
- - ! '>='
|
36
|
-
- !ruby/object:Gem::Version
|
37
|
-
version: '0'
|
38
|
-
type: :runtime
|
39
|
-
prerelease: false
|
40
|
-
version_requirements: !ruby/object:Gem::Requirement
|
41
|
-
none: false
|
42
|
-
requirements:
|
43
|
-
- - ! '>='
|
44
|
-
- !ruby/object:Gem::Version
|
45
|
-
version: '0'
|
46
|
-
- !ruby/object:Gem::Dependency
|
47
|
-
name: mongo
|
48
|
-
requirement: !ruby/object:Gem::Requirement
|
49
|
-
none: false
|
50
|
-
requirements:
|
51
|
-
- - ! '>='
|
52
|
-
- !ruby/object:Gem::Version
|
53
|
-
version: '0'
|
54
|
-
type: :runtime
|
55
|
-
prerelease: false
|
56
|
-
version_requirements: !ruby/object:Gem::Requirement
|
57
|
-
none: false
|
58
|
-
requirements:
|
59
|
-
- - ! '>='
|
60
|
-
- !ruby/object:Gem::Version
|
61
|
-
version: '0'
|
62
|
-
- !ruby/object:Gem::Dependency
|
63
|
-
name: carrierwave-mongoid
|
64
|
-
requirement: !ruby/object:Gem::Requirement
|
65
|
-
none: false
|
66
|
-
requirements:
|
67
|
-
- - ! '>='
|
68
|
-
- !ruby/object:Gem::Version
|
69
|
-
version: '0'
|
70
|
-
type: :runtime
|
71
|
-
prerelease: false
|
72
|
-
version_requirements: !ruby/object:Gem::Requirement
|
73
|
-
none: false
|
74
|
-
requirements:
|
75
|
-
- - ! '>='
|
76
|
-
- !ruby/object:Gem::Version
|
77
|
-
version: '0'
|
78
30
|
- !ruby/object:Gem::Dependency
|
79
31
|
name: mini_magick
|
80
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -178,6 +130,7 @@ files:
|
|
178
130
|
- app/models/admix/albums_datagrid.rb
|
179
131
|
- app/models/album.rb
|
180
132
|
- app/models/photo.rb
|
133
|
+
- app/models/concerns/album.rb
|
181
134
|
- app/views/admix/albums/_show.html.haml
|
182
135
|
- app/views/admix/albums/_table_actions.html.haml
|
183
136
|
- app/views/admix/albums/_form_fields.html.haml
|
@@ -192,9 +145,10 @@ files:
|
|
192
145
|
- config/initializers/albums.rb
|
193
146
|
- config/routes.rb
|
194
147
|
- config/application.rb
|
148
|
+
- db/migrate/20130208020540_create_albums.rb
|
149
|
+
- db/migrate/20130208021030_create_photos.rb
|
195
150
|
- lib/tasks/albums_tasks.rake
|
196
151
|
- lib/mix-rails-albums.rb
|
197
|
-
- lib/concerns/models/album.rb
|
198
152
|
- lib/mix-rails-albums/version.rb
|
199
153
|
- lib/mix-rails-albums/engine.rb
|
200
154
|
- MIT-LICENSE
|
@@ -214,7 +168,7 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
214
168
|
version: '0'
|
215
169
|
segments:
|
216
170
|
- 0
|
217
|
-
hash: -
|
171
|
+
hash: -1145099264192215353
|
218
172
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
219
173
|
none: false
|
220
174
|
requirements:
|
@@ -223,7 +177,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
223
177
|
version: '0'
|
224
178
|
segments:
|
225
179
|
- 0
|
226
|
-
hash: -
|
180
|
+
hash: -1145099264192215353
|
227
181
|
requirements: []
|
228
182
|
rubyforge_project:
|
229
183
|
rubygems_version: 1.8.24
|
@@ -1,43 +0,0 @@
|
|
1
|
-
module MixRailsAlbums::Concerns::Models::Album
|
2
|
-
extend ActiveSupport::Concern
|
3
|
-
|
4
|
-
included do
|
5
|
-
|
6
|
-
include Mongoid::Document
|
7
|
-
include Mongoid::Timestamps
|
8
|
-
include Mongoid::Slug
|
9
|
-
|
10
|
-
extend Enumerize
|
11
|
-
|
12
|
-
field :title, type: String
|
13
|
-
field :description, type: String
|
14
|
-
field :date, type: Date
|
15
|
-
field :status, type: String
|
16
|
-
enumerize :status, in: [:published, :unpublished], default: :published, predicates: true
|
17
|
-
|
18
|
-
validation_for_title
|
19
|
-
validation_for_date
|
20
|
-
|
21
|
-
slug :title, history: true do |current_object|
|
22
|
-
current_object.title.parameterize
|
23
|
-
end
|
24
|
-
|
25
|
-
embeds_many :photos, cascade_callbacks: true
|
26
|
-
|
27
|
-
scope :published, where(status: :published, :photos.ne => nil, :photos.exists => true)
|
28
|
-
|
29
|
-
end
|
30
|
-
|
31
|
-
module ClassMethods
|
32
|
-
|
33
|
-
def validation_for_title
|
34
|
-
validates_presence_of :title
|
35
|
-
end
|
36
|
-
|
37
|
-
def validation_for_date
|
38
|
-
validates_presence_of :date
|
39
|
-
end
|
40
|
-
|
41
|
-
end
|
42
|
-
|
43
|
-
end
|