module Neo4jrb
The Neo4jrb::Paperclip
extension Makes Paperclip
play nice with the Neo4j Models
Example:
class User include Neo4j::ActiveNode include Neo4jrb::Paperclip has_neo4jrb_attached_file :avatar validates_attachment_content_type :avatar, content_type: ["image/jpg", "image/jpeg", "image/png", "image/gif"] end
The above example is all you need to do. This will load the Paperclip
library into the User model and add the “has_neo4jrb_attached_file” class method. Provide this method with the same values as you would when using “vanilla Paperclip”. The first parameter is a symbol [:field] and the second parameter is a hash of options [options = {}]. Note that the validation must come after the call to :has_neo4jrb_attached_file.
Unlike Paperclip
for ActiveRecord, since MongoDB does not use “schema” or “migrations”, Neo4jrb::Paperclip
automatically adds the neccesary “fields” to your Model (MongoDB collection) when you invoke the “#has_neo4jrb_attached_file” method. When you invoke “has_neo4jrb_attached_file :avatar” it will automatially add the following fields:
field :avatar_file_name, :type => String field :avatar_content_type, :type => String field :avatar_file_size, :type => Fixnum field :avatar_updated_at, :type => DateTime