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