Skip to content

Commit

Permalink
-Remove using devise
Browse files Browse the repository at this point in the history
-Clear all code
-Change version to 0.4.0
  • Loading branch information
sergio1990 committed Jun 23, 2013
1 parent b903824 commit 94c8503
Show file tree
Hide file tree
Showing 22 changed files with 61 additions and 209 deletions.
73 changes: 3 additions & 70 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Rails 3.2 Integration for Redactor (Devise Edition)
# Rails 3.2 Integration for Redactor (NO Devise Edition)

The redactor-rails gem integrates the [Redactor](http://redactorjs.com/) editor with the Rails 3.2 asset pipeline.

Expand Down Expand Up @@ -27,20 +27,11 @@ Or install it yourself as:

$ rails generate redactor:install

or

$ rails generate redactor:install --devise

# --devise option generate user_id attribute for asset(Picture, Document) models. For more details show Devise gem.
# Now, Pictures and Documents uploading available only for signed in users
# All uploaded files will stored with current user_id
# User will choose only own uploaded Pictures and Documents

$ rake db:migrate

#### Mongoid + carrierwave
gem "carrierwave"
gem "carrierwave-mongoid", :require => "carrierwave/mongoid"
gem "carrierwave-mongoid", require: "carrierwave/mongoid"
gem "mini_magick"

$ rails generate redactor:install
Expand All @@ -59,7 +50,7 @@ Add to your `application.css`:

For each textarea that you want to use with Redactor, add the "redactor" class and ensure it has a unique ID:

<%= text_area_tag :editor, "", :class => "redactor", :rows => 40, :cols => 120 %>
<%= text_area_tag :editor, "", class: "redactor", rows: 40, cols: 120 %>

### Custom Your redactor

Expand All @@ -83,64 +74,6 @@ and
Add to your layout

<%= redactor_lang('zh_tw') %>

### Defining a Devise User Model

By default redactor-rails uses the `User` model.

You may use a different model by:

1. Run a migration to update the user_id column in the
2. Overriding the user class in an initializer.
3. Overriding the authentication helpers in your controller.

Create a new Migration: `rails g rename_user_id_to_new_user_id`

```
# db/migrate/...rename_user_id_to_new_user_id.rb
class RenameUserIdToNewUserId < ActiveRecord::Migration
def up
rename_column :redactor_assets, :user_id, :admin_user_id
end
def down
rename_column :redactor_assets, :admin_user_id, :user_id
end
end
```
```
# config/redactor.rb
# Overrides the user class
module RedactorRails
def self.devise_user
%s(admin_user) # name of your user class
end
# You may override this to support legacy schema.
# def self.devise_user_key
# "#{self.devise_user.to_s}_id".to_sym
# end
end
```
```
# app/controllers/application_controller.rb
class ApplicationController < ActionController::Base
...
def redactor_authenticate_user!
authenticate_admin_user! # devise before_filter
end
def redactor_current_user
current_admin_user # devise user helper
end
end
```

## Contributing

Expand Down
19 changes: 4 additions & 15 deletions app/controller/redactor_rails/base_controller.rb
Original file line number Diff line number Diff line change
@@ -1,28 +1,20 @@
class RedactorRails::BaseController < ApplicationController

def index
redactor_authentification!
@redactors = controller_model.where(
controller_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { }
)
render :json => @redactors.to_json
@redactors = controller_model.order :id
render json: @redactors.to_json
end

def create
redactor_authentification!
@redactor = controller_model.new

file = params[:file]
@redactor.data = RedactorRails::Http.normalize_param(file, request)
if @redactor.respond_to?(RedactorRails.devise_user)
@redactor.send("#{RedactorRails.devise_user}=", redactor_current_user)
@redactor.assetable = redactor_current_user
end

if @redactor.save
render :text => { :filelink => @redactor.url }.to_json
render text: { filelink: @redactor.url }.to_json
else
render :nothing => true
render nothing: true
end
end

Expand All @@ -32,7 +24,4 @@ def controller_model
self.class.to_s.sub('Controller', '').singularize.constantize
end

def redactor_authentification!
redactor_authenticate_user! if controller_model.new.respond_to?(RedactorRails.devise_user)
end
end
4 changes: 2 additions & 2 deletions config/routes.rb
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
RedactorRails::Engine.routes.draw do
resources :pictures, :only => [:index, :create]
resources :documents, :only => [:index, :create]
resources :pictures, only: [:index, :create]
resources :documents, only: [:index, :create]
end
5 changes: 2 additions & 3 deletions lib/generators/redactor/config_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,12 @@ class ConfigGenerator < ::Rails::Generators::Base
desc "Generates redactor-rails config"

def self.source_root
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end


def create_config
template "config.js",
File.join('app/assets/javascripts/redactor-rails', "config.js")
template "config.js", File.join('app/assets/javascripts/redactor-rails', "config.js")
end
end
end
Expand Down
46 changes: 19 additions & 27 deletions lib/generators/redactor/install_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,68 +6,60 @@ class InstallGenerator < ::Rails::Generators::Base
include ::Rails::Generators::Migration
desc "Generates migration for Tag and Tagging models"

class_option :orm, :type => :string, :default => "active_record",
:desc => "Backend processor for upload support"
class_option :orm, type: :string, default: "active_record", desc: "Backend processor for upload support"

class_option :backend, :type => :string, :default => 'carrierwave',
:desc => "carrierwave(default)"
class_option :backend, type: :string, default: 'carrierwave', desc: "carrierwave(default)"

def self.source_root
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
@source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
end

def self.next_migration_number(dirname)
Time.now.strftime("%Y%m%d%H%M%S")
Time.now.strftime("%Y%m%d%H%M%S")
end

def mount_engine
route "mount RedactorRails::Engine => '/redactor_rails'"
sroute "mount RedactorRails::Engine => '/redactor_rails'"
end

def create_models
[:asset, :picture, :document].each do |filename|
template "#{generator_dir}/redactor/#{filename}.rb",
File.join('app/models', redactor_dir, "#{filename}.rb")
end
[:asset, :picture, :document].each do |filename|
template "#{generator_dir}/redactor/#{filename}.rb", File.join('app/models', redactor_dir, "#{filename}.rb")
end

if backend == "carrierwave"
[:picture, :document].each do |filename|
template "#{uploaders_dir}/uploaders/redactor_rails_#{filename}_uploader.rb",
File.join("app/uploaders", "redactor_rails_#{filename}_uploader.rb")
end
end
if backend == "carrierwave"
[:picture, :document].each do |filename|
template "#{uploaders_dir}/uploaders/redactor_rails_#{filename}_uploader.rb", File.join("app/uploaders", "redactor_rails_#{filename}_uploader.rb")
end
end
end

def create_migration
if orm.to_s == "active_record"
if ARGV.include?('--devise')
migration_template "#{generator_dir}/devise_migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
else
migration_template "#{generator_dir}/migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
end
migration_template "#{generator_dir}/migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
end
end

protected

def redactor_dir
'redactor_rails'
'redactor_rails'
end

def generator_dir
@generator_dir ||= [orm, backend].join('/')
@generator_dir ||= [orm, backend].join('/')
end

def uploaders_dir
@uploaders_dir ||= ['base', 'carrierwave'].join('/')
@uploaders_dir ||= ['base', 'carrierwave'].join('/')
end

def orm
options[:orm] || "active_record"
options[:orm] || "active_record"
end

def backend
options[:backend] || "carrierwave"
options[:backend] || "carrierwave"
end

end
Expand Down

This file was deleted.

Original file line number Diff line number Diff line change
@@ -1,14 +1,13 @@
class CreateRedactorAssets < ActiveRecord::Migration
def self.up
def change
create_table :redactor_assets do |t|
t.integer :user_id
t.string :data_file_name, :null => false
t.string :data_file_name, null: false
t.string :data_content_type
t.integer :data_file_size

t.integer :assetable_id
t.string :assetable_type, :limit => 30
t.string :type, :limit => 30
t.string :assetable_type, limit: 30
t.string :type, limit: 30

# Uncomment it to save images dimensions, if your need it
t.integer :width
Expand All @@ -19,12 +18,8 @@ def self.up

# Uncomment it to add foreign key. gem 'foreigner' is required in your .Gemfile
# add_foreign_key(:redactor_assets, :users, dependent: :delete)
add_index "redactor_assets", ["assetable_type", "type", "assetable_id"], :name => "idx_redactor_assetable_type"
add_index "redactor_assets", ["assetable_type", "assetable_id"], :name => "idx_redactor_assetable"
end

def self.down
drop_table :redactor_assets
add_index "redactor_assets", ["assetable_type", "type", "assetable_id"], name: "idx_redactor_assetable_type"
add_index "redactor_assets", ["assetable_type", "assetable_id"], name: "idx_redactor_assetable"
end
end

Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class RedactorRails::Asset < ActiveRecord::Base
include RedactorRails::Orm::ActiveRecord::AssetBase
delegate :url, :current_path, :size, :content_type, :filename, :to => :data
delegate :url, :current_path, :size, :content_type, :filename, to: :data
validates_presence_of :data
end
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class RedactorRails::Document < RedactorRails::Asset
mount_uploader :data, RedactorRailsDocumentUploader, :mount_on => :data_file_name
mount_uploader :data, RedactorRailsDocumentUploader, mount_on: :data_file_name

def url_content
url(:content)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class RedactorRails::Picture < RedactorRails::Asset
mount_uploader :data, RedactorRailsPictureUploader, :mount_on => :data_file_name
mount_uploader :data, RedactorRailsPictureUploader, mount_on: :data_file_name

def url_content
url(:content)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -32,11 +32,11 @@ def store_dir

# Create different versions of your uploaded files:
version :thumb do
process :resize_to_fill => [118, 100]
process resize_to_fill: [118, 100]
end

version :content do
process :resize_to_limit => [800, 800]
process resize_to_limit: [800, 800]
end

# Add a white list of extensions which are allowed to be uploaded.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,6 @@ class RedactorRails::Asset

include RedactorRails::Orm::Mongoid::AssetBase

delegate :url, :current_path, :size, :content_type, :filename, :to => :data
delegate :url, :current_path, :size, :content_type, :filename, to: :data
validates_presence_of :data
end
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class RedactorRails::Document < RedactorRails::Asset
mount_uploader :data, RedactorRailsDocumentUploader, :mount_on => :data_file_name
mount_uploader :data, RedactorRailsDocumentUploader, mount_on: :data_file_name

def url_content
url(:content)
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
class RedactorRails::Picture < RedactorRails::Asset
mount_uploader :data, RedactorRailsPictureUploader, :mount_on => :data_file_name
mount_uploader :data, RedactorRailsPictureUploader, mount_on: :data_file_name

def url_content
url(:content)
Expand Down
9 changes: 0 additions & 9 deletions lib/redactor-rails.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,6 @@ module RedactorRails
FILE_TYPES = ['application/msword', 'application/pdf', 'text/plain', 'text/rtf', 'application/vnd.ms-excel']

autoload :Http, 'redactor-rails/http'
autoload :Devise, 'redactor-rails/devise'

module Backend
autoload :CarrierWave, 'redactor-rails/backend/carrierwave'
Expand All @@ -22,12 +21,4 @@ module Backend
@@image_file_types = ["jpg", "jpeg", "png", "gif", "tiff"]
@@document_file_types = ["pdf", "doc", "docx", "xls", "xlsx", "rtf", "txt"]


def self.devise_user
%s(user)
end

def self.devise_user_key
"#{self.devise_user.to_s}_id".to_sym
end
end
Loading

0 comments on commit 94c8503

Please sign in to comment.