Sha256: c2720e889767eb814e87f37b26854d30496d4f52789ea1552baa53143d52e659

Contents?: true

Size: 872 Bytes

Versions: 2

Compression:

Stored size: 872 Bytes

Contents

module ImagePicker
  module Controller
    def self.included(base)
      base.extend(ClassMethods)
    end
    
    module ClassMethods
      def image_picker(options={})
        define_method "open_picker" do
          model = options.delete(:model)
          @field = params[:field]
          @images = defined?(WillPaginate) ? model.paginate(options.merge(:page => params[:page])) : model.all(options)
          render :file => "#{RAILS_ROOT}/vendor/plugins/image_picker/templates/open_picker.html.erb"
        end

        define_method "pick" do
          image = Image.find(params[:id])
          field = params[:field]
          render :update do |page|
            page.call "parent.ImagePicker.pick", field, image.id, image.title, image.thumbnail
          end
        end
      end
    end
  end
end

ActionController::Base.send :include, ImagePicker::Controller

Version data entries

2 entries across 2 versions & 2 rubygems

Version Path
pelargir-image_picker-0.5 lib/image_picker/controller.rb
image_picker-0.5 lib/image_picker/controller.rb