mix-rails-albums 0.22.0 → 0.23.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -1,6 +1,5 @@
1
1
  class Application.Models.Photo extends Backbone.Model
2
2
  paramRoot: 'photo'
3
- idAttribute: '_id'
4
3
  defaults:
5
4
  image: null
6
5
  description: ''
@@ -1,10 +1,10 @@
1
- .modal.hide.fade.admix-photo-modal{id: "photo-modal-#{@_id}"}
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_#{@_id}",placeholder: 'Adicione uma descrição para esta foto.'}
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}
@@ -1,7 +1,6 @@
1
1
  var FileItem = Backbone.Model.extend({
2
2
  name: 'photo',
3
3
  url: 'photos',
4
- idAttribute: '_id',
5
4
  defaults: {
6
5
  progress:0
7
6
  },
@@ -6,7 +6,7 @@ class Admix::AlbumsDatagrid
6
6
 
7
7
 
8
8
  scope do
9
- Album.desc(:date)
9
+ Album.order("date DESC")
10
10
  end
11
11
 
12
12
  filter :title, :string
@@ -3,7 +3,7 @@ class Admix::PhotosDatagrid
3
3
  include Datagrid
4
4
 
5
5
  scope do
6
- Photo.desc(:date)
6
+ Photo
7
7
  end
8
8
 
9
9
  filter :name, :string
data/app/models/album.rb CHANGED
@@ -1,3 +1,3 @@
1
- class Album
2
- include MixRailsAlbums::Concerns::Models::Album
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
- field :description
4
+ attr_accessible :description, :image, :image_cache
7
5
 
8
- embedded_in :album
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
- storage :grid_fs
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
@@ -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
@@ -1,6 +1,11 @@
1
1
  module MixRailsAlbums
2
2
  class Engine < ::Rails::Engine
3
3
 
4
+ config.generators do |g|
5
+ g.test_framework :rspec
6
+ g.integration_tool :rspec
7
+ end
8
+
4
9
  def navigation
5
10
  if defined? Admix
6
11
  Admix::Navigation::NavBar.post_menu do
@@ -1,7 +1,7 @@
1
1
  module MixRailsAlbums
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 22
4
+ MINOR = 23
5
5
  TINY = 0
6
6
  PRE = nil
7
7
 
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.22.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-06 00:00:00.000000000 Z
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: -3474028709906897679
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: -3474028709906897679
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