mongoid-paperclip 0.0.1 → 0.0.2

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