Why Gemfury? Push, build, and install  RubyGems npm packages Python packages Maven artifacts PHP packages Go Modules Debian packages RPM packages NuGet packages

Repository URL to install this package:

Details    
neoteric-assets / app / controllers / neoteric / assets / images_controller.rb
Size: Mime:
module Neoteric
  module Assets
    module ImagesController
      def self.included(base)
        base.extend(ClassMethods)
      end

      module ClassMethods
        def controls(klass)
          @klass = const(klass)
        end

        def config_assets_options(options = {})
          @assets_options = options
        end

        def klass
          @klass
        end

        def assets_options
          @assets_options
        end

        private
        def const(name)
          name.to_s.split('_').collect(&:capitalize).join.constantize
        end
      end

      def create
        params[:filenames].split(',').each do |filename|
          self.class.klass.create!(:filename => filename)
        end

        redirect_to eval(self.class.assets_options[:create_success_url].to_s)
      end

      def update
        image = self.class.klass.find(params[:id])
        if image.update_attributes(:filename => params[:filenames])
          redirect_to eval(self.class.assets_options[:update_success_url].to_s)
        else
          render :edit
        end
      end
    end
  end
end