mongoid-paperclip 0.0.1 → 0.0.2

Sign up to get free protection for your applications and to get access to all the features.
data/README.md CHANGED
@@ -1,27 +1,25 @@
1
- Mongoid::Paperclip - Making Paperclip play nice with Mongoid ORM
1
+ Mongoid::Paperclip - Making Paperclip play nice with Mongoid ODM
2
2
  ================================================================
3
3
 
4
- As the title suggests, using this gem you will be able to use [Paperclip](https://github.com/thoughtbot/paperclip) with [Mongoid](http://mongoid.org/).
5
-
6
- This is actually **easier** and **faster** to set up than when using the ActiveRecord ORM.
4
+ As the title suggests: `Mongoid::Paperclip` makes it easy to hook up [Paperclip](https://github.com/thoughtbot/paperclip) with [Mongoid](http://mongoid.org/).
7
5
 
6
+ This is actually easier and faster to set up than when using Paperclip the ActiveRecord ORM.
8
7
  This example assumes you are using **Ruby on Rails 3** and **Bundler**. However it doesn't require either.
9
8
 
10
9
 
11
- Setting it up in a few seconds
12
- ------------------------------
10
+ Setting it up
11
+ -------------
13
12
 
14
- First require the **Paperclip** gem as you normally would, followed by the **Mongoid::Paperclip** extension. Additionally if you are working with Amazon S3 you will want to add the AWS::S3 gem to your Gemfile as well.
13
+ Simply define the `mongoid-paperclip` gem inside your `Gemfile`. Additionally, you can define the `aws-s3` gem if you want to upload your files to Amazon S3. *You do not need to explicitly define the `paperclip` gem itself, since this is handled by `mongoid-paperclip`.*
15
14
 
16
- **Rails.root/Gemfile**
15
+ **Rails.root/Gemfile - Just define the following:**
17
16
 
18
- gem "paperclip"
19
17
  gem "mongoid-paperclip", :require => "mongoid_paperclip"
20
- gem "aws-s3", :require => "aws/s3"
18
+ gem "aws-s3", :require => "aws/s3"
21
19
 
22
20
  Next let's assume we have a User model and we want to allow our users to upload an avatar.
23
21
 
24
- **Rails.root/app/models/user.rb**
22
+ **Rails.root/app/models/user.rb - include the Mongoid::Paperclip and invoke the class method**
25
23
 
26
24
  class User
27
25
  include Mongoid::Document
@@ -31,16 +29,16 @@ Next let's assume we have a User model and we want to allow our users to upload
31
29
  end
32
30
 
33
31
 
34
- And there you go!
35
- -----------------
32
+ That's it
33
+ --------
36
34
 
37
- As you can see you use it in practically the same as when you use vanilla Paperclip. However, since we're using Mongoid and not ActiveRecord, we do not have a schema or any migrations. So with **Mongoid::Paperclip** when you invoke the `has_attached_file :avatar` it will create the necessary Mongoid **fields** for the specified attribute (`:avatar` in this case).
35
+ That's all you have to do. Users can now upload avatars. Unlike ActiveRecord, Mongoid doesn't use migrations, so we don't need to define the Paperclip columns in a separate file. Invoking the `has_attached_file` method will automatically define the necessary `:avatar` fields for you in the background.
38
36
 
39
37
 
40
38
  A more complex example
41
39
  ----------------------
42
40
 
43
- Just like vanilla Paperclip, Mongoid::Paperclip takes a second argument (hash of options) for the `has_attached_file` method, so you can do more complex things such as in the following example.
41
+ Just like Paperclip, Mongoid::Paperclip takes a second argument (hash of options) for the `has_attached_file` method, so you can do more complex things such as in the following example.
44
42
 
45
43
  class User
46
44
  include Mongoid::Document
@@ -67,7 +65,15 @@ Just like vanilla Paperclip, Mongoid::Paperclip takes a second argument (hash of
67
65
  },
68
66
  :convert_options => { :all => '-background white -flatten +matte' }
69
67
  end
68
+
69
+ @user.pictures.each do |picture|
70
+ <%= picture.attachment.url %>
71
+ end
72
+
73
+
74
+ There you go
75
+ ------------
70
76
 
71
- Quite a lot of people have been looking for a solution to use [Paperclip](https://github.com/thoughtbot/paperclip) with [Mongoid](http://mongoid.org/) so I hope this helps!
77
+ Quite a lot of people have been looking for a solution to use Paperclip with Mongoid so I hope this helps!
72
78
 
73
- &copy; Copyright [Michael van Rooijen](http://michaelvanrooijen.com/)
79
+ If you need more information on either [Mongoid](http://mongoid.org/) or [Paperclip](https://github.com/thoughtbot/paperclip) I suggest checking our their official documentation and website.
@@ -1,3 +1,10 @@
1
+ begin
2
+ require "paperclip"
3
+ rescue LoadError
4
+ puts "Mongoid::Paperclip requires that you install the Paperclip gem."
5
+ exit
6
+ end
7
+
1
8
  ##
2
9
  # The logger is set to the Active Record logger by Paperclip itself.
3
10
  # Because of this, we set the logger to false as "default" so that it doesn't raise
@@ -24,7 +31,7 @@ end
24
31
 
25
32
  ##
26
33
  # The Mongoid::Paperclip extension
27
- # Makes Paperclip play nice with the Mongoid ORM
34
+ # Makes Paperclip play nice with the Mongoid ODM
28
35
  #
29
36
  # Example:
30
37
  #
@@ -3,13 +3,13 @@
3
3
  Gem::Specification.new do |gem|
4
4
 
5
5
  gem.name = 'mongoid-paperclip'
6
- gem.version = '0.0.1'
6
+ gem.version = '0.0.2'
7
7
  gem.platform = Gem::Platform::RUBY
8
8
  gem.authors = 'Michael van Rooijen'
9
9
  gem.email = 'meskyanichi@gmail.com'
10
10
  gem.homepage = 'https://github.com/meskyanichi/mongoid-paperclip'
11
- gem.summary = 'Mongoid::Paperclip enables you to use Paperclip with the Mongoid ORM for MongoDB.'
12
- gem.description = 'Mongoid::Paperclip enables you to use Paperclip with the Mongoid ORM for MongoDB.'
11
+ gem.summary = 'Mongoid::Paperclip enables you to use Paperclip with the Mongoid ODM for MongoDB.'
12
+ gem.description = 'Mongoid::Paperclip enables you to use Paperclip with the Mongoid ODM for MongoDB.'
13
13
 
14
14
  gem.files = %x[git ls-files].split("\n")
15
15
  gem.test_files = %x[git ls-files -- {spec}/*].split("\n")
metadata CHANGED
@@ -5,8 +5,8 @@ version: !ruby/object:Gem::Version
5
5
  segments:
6
6
  - 0
7
7
  - 0
8
- - 1
9
- version: 0.0.1
8
+ - 2
9
+ version: 0.0.2
10
10
  platform: ruby
11
11
  authors:
12
12
  - Michael van Rooijen
@@ -14,7 +14,7 @@ autorequire:
14
14
  bindir: bin
15
15
  cert_chain: []
16
16
 
17
- date: 2010-12-10 00:00:00 +01:00
17
+ date: 2010-12-11 00:00:00 +01:00
18
18
  default_executable:
19
19
  dependencies:
20
20
  - !ruby/object:Gem::Dependency
@@ -32,7 +32,7 @@ dependencies:
32
32
  version: 2.3.6
33
33
  type: :runtime
34
34
  version_requirements: *id001
35
- description: Mongoid::Paperclip enables you to use Paperclip with the Mongoid ORM for MongoDB.
35
+ description: Mongoid::Paperclip enables you to use Paperclip with the Mongoid ODM for MongoDB.
36
36
  email: meskyanichi@gmail.com
37
37
  executables: []
38
38
 
@@ -44,7 +44,7 @@ files:
44
44
  - .gitignore
45
45
  - README.md
46
46
  - lib/mongoid_paperclip.rb
47
- - mongoid_paperclip.gemspec
47
+ - mongoid-paperclip.gemspec
48
48
  has_rdoc: true
49
49
  homepage: https://github.com/meskyanichi/mongoid-paperclip
50
50
  licenses: []
@@ -76,6 +76,6 @@ rubyforge_project:
76
76
  rubygems_version: 1.3.7
77
77
  signing_key:
78
78
  specification_version: 3
79
- summary: Mongoid::Paperclip enables you to use Paperclip with the Mongoid ORM for MongoDB.
79
+ summary: Mongoid::Paperclip enables you to use Paperclip with the Mongoid ODM for MongoDB.
80
80
  test_files: []
81
81