Repository is archived
No release in over 3 years
Low commit activity in last 3 years
little more magick when you upload image files (with SwfUpload and Dragonfly)
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies
 Project Readme

Attachment Magick¶ ↑

Attachment Magick is a gem to upload images and videos(vimeo and youtube) using swfupload. Supports Mongoid and ActiveRecord.

Installation¶ ↑

Add to Gemfile

gem 'attachment_magick'

After the gem installation, run the generator

rails g attachment_magick:install

The generator will install swfupload (js and css files) and will create some routes.

And if you are using ActiveRecord, run this too

rails g attachment_magick:migration

Create a initializer like this (config/initializers/attachment_magick_setup.rb)

AttachmentMagick.setup do |config|
  # config.default_add_partial = '/attachment_magick/add_image'  # default

  # You can set grid size manually:
    config.columns_amount = 16
    config.columns_width  = 52
    config.gutter         = 8
  # Or with our magick :)
  # config.parse_stylesheet('name_of_my_grid_file.css')

  config.orms = ["ActiveRecord", "Mongoid"] # Mongoid is default

  config.custom_styles do
    publisher "52x"
    my_custom_style "50x50"
  end
end
  • Attachment Magick is based on 960 Grid System (960.gs/)

Add to application.rb

config.middleware.insert 0, 'Rack::Cache', {
  :verbose     => true,
  :metastore   => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/meta"),
  :entitystore => URI.encode("file:#{Rails.root}/tmp/dragonfly/cache/body")
} # unless Rails.env.production?  ## uncomment this 'unless' in Rails 3.1,
                                  ## because it already inserts Rack::Cache in production

config.middleware.insert_after 'Rack::Cache', 'Dragonfly::Middleware', :images

Getting started¶ ↑

Include the js files to your application layout or page

javascript_include_tag :defaults, "swfupload/handlers", "swfupload/swfupload"

Include AttachmentMagick Module to your model

class Post
  include AttachmentMagick

  attachment_magick
end

Call this helpers in form views

attachment_progress_container @post
attachment_for_view @post
attachment_for_video @post
attachment_for_flash @image.photo.url

For customize your list for images

attachment_for_view @post, 'path/my_partial'

Customizing views¶ ↑

Just Images¶ ↑

<div class="attachment_magick_image" id="image_<%=image.id%>" style="width:inerit; margin-bottom:10px;">
  <%= image_tag image.photo.thumb(image._parent.class.style_publisher).url%>
  <input id ="image_id" type ="hidden" value ="<%=image.id%>">

  <%= link_to "[x]", "javascript://", :class => "remove_image", :style => "float:right;"%>
</div>

<%= attachment_for_view @post, "path_to_my_partial" %>

Customizing sizes¶ ↑

class Post
  include AttachmentMagick

  attachment_magick do
    grid_1 "100x100"
  end
end

Credits¶ ↑

Author: [Marco Singer](github.com/marcosinger) Contributors: [Lucas Renan](github.com/lucasrenan), [Carlos Brando](github.com/carlosbrando)

See in RubyGems.org¶ ↑

(rubygems.org/gems/attachment_magick)