redactor-rails-fixes 0.5.0.1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (100) hide show
  1. checksums.yaml +7 -0
  2. data/.gitignore +19 -0
  3. data/Gemfile +25 -0
  4. data/MIT-LICENSE +22 -0
  5. data/README.md +237 -0
  6. data/Rakefile +3 -0
  7. data/app/controller/redactor_rails/documents_controller.rb +34 -0
  8. data/app/controller/redactor_rails/pictures_controller.rb +34 -0
  9. data/config/routes.rb +4 -0
  10. data/lib/generators/redactor/config_generator.rb +18 -0
  11. data/lib/generators/redactor/install_generator.rb +75 -0
  12. data/lib/generators/redactor/templates/active_record/carrierwave/devise_migration.rb +30 -0
  13. data/lib/generators/redactor/templates/active_record/carrierwave/migration.rb +28 -0
  14. data/lib/generators/redactor/templates/active_record/carrierwave/redactor/asset.rb +5 -0
  15. data/lib/generators/redactor/templates/active_record/carrierwave/redactor/document.rb +11 -0
  16. data/lib/generators/redactor/templates/active_record/carrierwave/redactor/picture.rb +7 -0
  17. data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_document_uploader.rb +15 -0
  18. data/lib/generators/redactor/templates/base/carrierwave/uploaders/redactor_rails_picture_uploader.rb +53 -0
  19. data/lib/generators/redactor/templates/config.js +24 -0
  20. data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/asset.rb +9 -0
  21. data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/document.rb +14 -0
  22. data/lib/generators/redactor/templates/mongoid/carrierwave/redactor/picture.rb +7 -0
  23. data/lib/redactor-rails.rb +41 -0
  24. data/lib/redactor-rails/backend/carrierwave.rb +64 -0
  25. data/lib/redactor-rails/devise.rb +11 -0
  26. data/lib/redactor-rails/engine.rb +14 -0
  27. data/lib/redactor-rails/helper.rb +5 -0
  28. data/lib/redactor-rails/http.rb +89 -0
  29. data/lib/redactor-rails/orm/active_record.rb +31 -0
  30. data/lib/redactor-rails/orm/base.rb +38 -0
  31. data/lib/redactor-rails/orm/mongoid.rb +37 -0
  32. data/lib/redactor-rails/version.rb +3 -0
  33. data/redactor-rails-fixes.gemspec +21 -0
  34. data/vendor/assets/javascripts/redactor-rails/config.js +17 -0
  35. data/vendor/assets/javascripts/redactor-rails/css/docstyle.css +139 -0
  36. data/vendor/assets/javascripts/redactor-rails/css/style.css +26 -0
  37. data/vendor/assets/javascripts/redactor-rails/css/wym.css +151 -0
  38. data/vendor/assets/javascripts/redactor-rails/index.js +2 -0
  39. data/vendor/assets/javascripts/redactor-rails/langs/ar.js +73 -0
  40. data/vendor/assets/javascripts/redactor-rails/langs/az.js +72 -0
  41. data/vendor/assets/javascripts/redactor-rails/langs/ba.js +76 -0
  42. data/vendor/assets/javascripts/redactor-rails/langs/bg.js +74 -0
  43. data/vendor/assets/javascripts/redactor-rails/langs/by.js +72 -0
  44. data/vendor/assets/javascripts/redactor-rails/langs/ca.js +72 -0
  45. data/vendor/assets/javascripts/redactor-rails/langs/cs.js +84 -0
  46. data/vendor/assets/javascripts/redactor-rails/langs/da.js +73 -0
  47. data/vendor/assets/javascripts/redactor-rails/langs/de.js +77 -0
  48. data/vendor/assets/javascripts/redactor-rails/langs/el.js +72 -0
  49. data/vendor/assets/javascripts/redactor-rails/langs/en.js +72 -0
  50. data/vendor/assets/javascripts/redactor-rails/langs/eo.js +73 -0
  51. data/vendor/assets/javascripts/redactor-rails/langs/es.js +73 -0
  52. data/vendor/assets/javascripts/redactor-rails/langs/es_ar.js +73 -0
  53. data/vendor/assets/javascripts/redactor-rails/langs/fa.js +73 -0
  54. data/vendor/assets/javascripts/redactor-rails/langs/fi.js +72 -0
  55. data/vendor/assets/javascripts/redactor-rails/langs/fr.js +72 -0
  56. data/vendor/assets/javascripts/redactor-rails/langs/he.js +72 -0
  57. data/vendor/assets/javascripts/redactor-rails/langs/hr.js +71 -0
  58. data/vendor/assets/javascripts/redactor-rails/langs/hu.js +74 -0
  59. data/vendor/assets/javascripts/redactor-rails/langs/id.js +73 -0
  60. data/vendor/assets/javascripts/redactor-rails/langs/it.js +75 -0
  61. data/vendor/assets/javascripts/redactor-rails/langs/ja.js +73 -0
  62. data/vendor/assets/javascripts/redactor-rails/langs/ko.js +73 -0
  63. data/vendor/assets/javascripts/redactor-rails/langs/lt.js +72 -0
  64. data/vendor/assets/javascripts/redactor-rails/langs/lv.js +72 -0
  65. data/vendor/assets/javascripts/redactor-rails/langs/mk.js +72 -0
  66. data/vendor/assets/javascripts/redactor-rails/langs/nl.js +76 -0
  67. data/vendor/assets/javascripts/redactor-rails/langs/no_NB.js +72 -0
  68. data/vendor/assets/javascripts/redactor-rails/langs/pl.js +73 -0
  69. data/vendor/assets/javascripts/redactor-rails/langs/pt_br.js +79 -0
  70. data/vendor/assets/javascripts/redactor-rails/langs/pt_pt.js +72 -0
  71. data/vendor/assets/javascripts/redactor-rails/langs/ro.js +73 -0
  72. data/vendor/assets/javascripts/redactor-rails/langs/ru.js +73 -0
  73. data/vendor/assets/javascripts/redactor-rails/langs/sk.js +73 -0
  74. data/vendor/assets/javascripts/redactor-rails/langs/sl.js +76 -0
  75. data/vendor/assets/javascripts/redactor-rails/langs/sq.js +76 -0
  76. data/vendor/assets/javascripts/redactor-rails/langs/sr-cir.js +76 -0
  77. data/vendor/assets/javascripts/redactor-rails/langs/sr-lat.js +76 -0
  78. data/vendor/assets/javascripts/redactor-rails/langs/sv.js +73 -0
  79. data/vendor/assets/javascripts/redactor-rails/langs/th.js +72 -0
  80. data/vendor/assets/javascripts/redactor-rails/langs/tr.js +73 -0
  81. data/vendor/assets/javascripts/redactor-rails/langs/ua.js +74 -0
  82. data/vendor/assets/javascripts/redactor-rails/langs/vi.js +72 -0
  83. data/vendor/assets/javascripts/redactor-rails/langs/zh_cn.js +74 -0
  84. data/vendor/assets/javascripts/redactor-rails/langs/zh_tw.js +73 -0
  85. data/vendor/assets/javascripts/redactor-rails/plugins.js +6 -0
  86. data/vendor/assets/javascripts/redactor-rails/plugins/clips.js +61 -0
  87. data/vendor/assets/javascripts/redactor-rails/plugins/fontcolor.js +76 -0
  88. data/vendor/assets/javascripts/redactor-rails/plugins/fontfamily.js +35 -0
  89. data/vendor/assets/javascripts/redactor-rails/plugins/fontsize.js +34 -0
  90. data/vendor/assets/javascripts/redactor-rails/plugins/fullscreen.js +123 -0
  91. data/vendor/assets/javascripts/redactor-rails/plugins/textdirection.js +31 -0
  92. data/vendor/assets/javascripts/redactor-rails/redactor.js +8053 -0
  93. data/vendor/assets/javascripts/redactor-rails/redactor.min.js +12 -0
  94. data/vendor/assets/stylesheets/redactor-rails/css/redactor-iframe.css +202 -0
  95. data/vendor/assets/stylesheets/redactor-rails/css/redactor.css +930 -0
  96. data/vendor/assets/stylesheets/redactor-rails/css/style.css +26 -0
  97. data/vendor/assets/stylesheets/redactor-rails/index.css +1 -0
  98. data/vendor/assets/stylesheets/redactor-rails/plugins.css +3 -0
  99. data/vendor/assets/stylesheets/redactor-rails/plugins/clips.css +6 -0
  100. metadata +184 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA256:
3
+ metadata.gz: '039f94cad0c6b47265d2d2c3ad461367b61848d768c433ec1e7a84cdc7a5e4c6'
4
+ data.tar.gz: 2c45cb98174fc47d855295dd56da08d62f3718dbdd911de16377d670ed8be10d
5
+ SHA512:
6
+ metadata.gz: bb077f421e644e75550fa7791eb87703d2cfcdaff4188a7f054908154dde1e720abb4fbe39fccfcb58e69c08bc840d1d851b4b412da898588b9a54458bc556b0
7
+ data.tar.gz: 0cec8d97d5663e996f38b08476d02b40f2cf520214f78d3d5f2da19c6c3128ea25d6e48aa9ee45505f63af8516828701d15deedf4a727c85d192b31e20e66981
data/.gitignore ADDED
@@ -0,0 +1,19 @@
1
+ /.idea/*
2
+ *.gem
3
+ *.rbc
4
+ .bundle
5
+ .config
6
+ .yardoc
7
+ Gemfile.lock
8
+ InstalledFiles
9
+ _yardoc
10
+ coverage
11
+ doc/
12
+ lib/bundler/man
13
+ pkg
14
+ rdoc
15
+ spec/reports
16
+ test/tmp
17
+ test/version_tmp
18
+ tmp
19
+ .DS_Store
data/Gemfile ADDED
@@ -0,0 +1,25 @@
1
+ source 'https://rubygems.org'
2
+
3
+ # Specify your gem's dependencies in redactor-rails.gemspec
4
+ gemspec
5
+ gem "rails", "3.2.3"
6
+
7
+
8
+ platforms :ruby do
9
+ gem "sqlite3"
10
+
11
+ group :development do
12
+ gem "unicorn", "~> 4.0.1"
13
+ end
14
+
15
+ group :development, :test do
16
+ gem "capybara", ">= 0.4.0"
17
+ gem "mynyml-redgreen", "~> 0.7.1", :require => 'redgreen'
18
+ end
19
+
20
+ group :active_record do
21
+ gem "carrierwave"
22
+ gem "mini_magick"
23
+ end
24
+
25
+ end
data/MIT-LICENSE ADDED
@@ -0,0 +1,22 @@
1
+ Copyright (c) 2012 Sammy
2
+
3
+ MIT License
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining
6
+ a copy of this software and associated documentation files (the
7
+ "Software"), to deal in the Software without restriction, including
8
+ without limitation the rights to use, copy, modify, merge, publish,
9
+ distribute, sublicense, and/or sell copies of the Software, and to
10
+ permit persons to whom the Software is furnished to do so, subject to
11
+ the following conditions:
12
+
13
+ The above copyright notice and this permission notice shall be
14
+ included in all copies or substantial portions of the Software.
15
+
16
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
17
+ EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
18
+ MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
19
+ NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
20
+ LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
21
+ OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
22
+ WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
data/README.md ADDED
@@ -0,0 +1,237 @@
1
+
2
+ # This repo is deprecated
3
+ ## Please check out official gem for Redactor 2. https://github.com/Redactor2/redactor2_rails
4
+
5
+ # Rails 3.2 Integration for Redactor (Devise Edition)
6
+
7
+ The redactor-rails gem integrates the [Redactor](http://redactorjs.com/) editor with the Rails 3.2 asset pipeline.
8
+
9
+ This gem bundles Redactor version 10.0.4 which is the most recent version as of January 9, 2015. Check [Redactor's changelog](http://imperavi.com/redactor/log/) for further updates.
10
+
11
+ ## Installation
12
+
13
+ Add this line to your application's Gemfile:
14
+
15
+ gem 'redactor-rails'
16
+
17
+ And then execute:
18
+
19
+ $ bundle install
20
+
21
+ Or install it yourself as:
22
+
23
+ $ gem install redactor-rails
24
+
25
+ ### Now generate models for store uploading files
26
+
27
+ #### ActiveRecord + carrierwave
28
+
29
+ gem "carrierwave"
30
+ gem "mini_magick"
31
+
32
+ $ rails generate redactor:install
33
+
34
+ or
35
+
36
+ $ rails generate redactor:install --devise
37
+
38
+ # --devise option generate user_id attribute for asset(Picture, Document) models. For more details show Devise gem.
39
+ # Now, Pictures and Documents uploading available only for signed in users
40
+ # All uploaded files will stored with current user_id
41
+ # User will choose only own uploaded Pictures and Documents
42
+
43
+ $ rake db:migrate
44
+
45
+ #### Mongoid + carrierwave
46
+ gem "carrierwave"
47
+ gem "carrierwave-mongoid", :require => "carrierwave/mongoid"
48
+ gem "mini_magick"
49
+
50
+ $ rails generate redactor:install
51
+
52
+ ### Include the Redactor assets
53
+
54
+ Add to your `application.js`:
55
+
56
+ //= require redactor-rails
57
+
58
+ Add to your `application.css`:
59
+
60
+ *= require redactor-rails
61
+
62
+ ### Initialize Redactor
63
+
64
+ For each textarea that you want to use with Redactor, add the "redactor" class and ensure it has a unique ID:
65
+
66
+ <%= text_area_tag :editor, "", :class => "redactor", :rows => 40, :cols => 120 %>
67
+
68
+ ### Custom Your redactor
69
+
70
+ If you need change some config in redactor, you can
71
+
72
+ $ rails generate redactor:config
73
+
74
+ Then generate `app\assets\redactor-rails\config.js`.
75
+
76
+ See the [Redactor Documentation](http://imperavi.com/redactor/docs/settings/) for a full list of configuration options.
77
+
78
+
79
+ If You Want To setup a new language in Redactor you should do two things:
80
+
81
+ In you file `app\assets\redactor-rails\config.js` set option
82
+
83
+ "lang":'zh_tw'
84
+
85
+ and
86
+
87
+ if redactor-rails gem version <= 0.3.7
88
+
89
+ Add to your layout
90
+
91
+
92
+ <%= redactor_lang('zh_tw') %>
93
+
94
+ elsif redactor-rails gem version >= 0.4
95
+
96
+ Add to your `application.js`:
97
+
98
+ //= require redactor-rails/langs/zh_tw
99
+
100
+ #### Setting a max image size with carrierwave
101
+
102
+ If you want to set a maximum image size used when a user uploads an image via carrierwave, open the uploader file and add add the following:
103
+
104
+ # app/uploaders/redactor_rails_picture_uploader.rb:33
105
+
106
+ process :resize_to_limit => [500, -1]
107
+
108
+ The above example will set the image to have a maximum width of 500px.
109
+
110
+ ### Using plugins
111
+
112
+ This gem comes bundled with several Redactor plugins:
113
+
114
+ - Fullscreen
115
+ - Clips
116
+ - FontColor
117
+ - FontSize
118
+ - FontFamily
119
+ - Text direction
120
+
121
+ Full details of these can be found at [Redactor Plugins](http://imperavi.com/redactor/plugins/)
122
+
123
+ To include all the plugins just add to your `application.js`:
124
+
125
+ //= require redactor-rails/plugins
126
+
127
+ and add to your `application.css`:
128
+
129
+ *= redactor-rails/plugins
130
+
131
+ If you would prefer to pick and choose which plugins to include you can
132
+ add for example:
133
+
134
+ //= require redactor-rails/plugins/fontsize
135
+ //= require redactor-rails/plugins/fontfamily
136
+
137
+ After including the desired plugins they can be configured in the redactor config file as normal.
138
+
139
+ To add it into the editor just add 'plugins' attributes to config.js file and specify which ones do you want to use:
140
+
141
+ $('.redactor').redactor(
142
+ { "plugins": ['fontsize',
143
+ 'fontcolor',
144
+ 'fontfamily',
145
+ 'fullscreen',
146
+ 'textdirection',
147
+ 'clips']
148
+ });
149
+
150
+ ### Defining a Devise User Model
151
+
152
+ By default redactor-rails uses the `User` model.
153
+
154
+ You may use a different model by:
155
+
156
+ 1. Run a migration to update the user_id column in the
157
+ 2. Overriding the user class in an initializer.
158
+ 3. Overriding the authentication helpers in your controller.
159
+
160
+ Create a new Migration: `rails g rename_user_id_to_new_user_id`
161
+
162
+ ```
163
+ # db/migrate/...rename_user_id_to_new_user_id.rb
164
+
165
+ class RenameUserIdToNewUserId < ActiveRecord::Migration
166
+ def up
167
+ rename_column :redactor_assets, :user_id, :admin_user_id
168
+ end
169
+
170
+ def down
171
+ rename_column :redactor_assets, :admin_user_id, :user_id
172
+ end
173
+ end
174
+ ```
175
+
176
+ ```
177
+ # config/initializers/redactor.rb
178
+ # Overrides the user class
179
+
180
+ module RedactorRails
181
+ def self.devise_user
182
+ %s(admin_user) # name of your user class
183
+ end
184
+
185
+ # You may override this to support legacy schema.
186
+ # def self.devise_user_key
187
+ # "#{self.devise_user.to_s}_id".to_sym
188
+ # end
189
+ end
190
+ ```
191
+
192
+ ```
193
+ # app/controllers/application_controller.rb
194
+
195
+ class ApplicationController < ActionController::Base
196
+ ...
197
+
198
+ def redactor_authenticate_user!
199
+ authenticate_admin_user! # devise before_action
200
+ end
201
+
202
+ def redactor_current_user
203
+ current_admin_user # devise user helper
204
+ end
205
+ end
206
+ ```
207
+
208
+ ## Contributing
209
+
210
+ 1. Fork it
211
+ 2. Create your feature branch (`git checkout -b my-new-feature`)
212
+ 3. Commit your changes (`git commit -am 'Added some feature'`)
213
+ 4. Push to the branch (`git push origin my-new-feature`)
214
+ 5. Create new Pull Request
215
+
216
+ ## Contributors
217
+
218
+ [Sebastian Wilgosz](https://github.com/wilgoszpl)
219
+
220
+ ## Special Thanks
221
+
222
+ [wildjcrt (Jerry Lee)](https://github.com/wildjcrt/)
223
+
224
+ ## Statement
225
+
226
+ `redactor-rails` part of reference [galetahub/ckeditor](https://github.com/galetahub/ckeditor) project.
227
+
228
+ `redactor-rails` uses MIT-LICENSE. Rock!!!!!
229
+
230
+ ## License
231
+
232
+ the `redactor-rails` project is MIT-LICENSE.
233
+
234
+ You may use `Redactor` for non-commercial websites for free, however, we do not guarantee any technical support.
235
+
236
+ Redactor has [3 different licenses](http://imperavi.com/redactor/download/) for commercial use.
237
+ For details please see [License Agreement](http://imperavi.com/redactor/license/).
data/Rakefile ADDED
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env rake
2
+ require "bundler"
3
+ Bundler::GemHelper.install_tasks
@@ -0,0 +1,34 @@
1
+ class RedactorRails::DocumentsController < ApplicationController
2
+ before_action :redactor_authenticate_user!
3
+
4
+ def index
5
+ @documents = RedactorRails.document_model.where(
6
+ RedactorRails.document_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { })
7
+ render :json => @documents.to_json
8
+ end
9
+
10
+ def create
11
+ @document = RedactorRails.document_model.new
12
+
13
+ file = params[:file]
14
+ @document.data = RedactorRails::Http.normalize_param(file, request)
15
+ if @document.has_attribute?(:"#{RedactorRails.devise_user_key}")
16
+ @document.send("#{RedactorRails.devise_user}=", redactor_current_user)
17
+ @document.assetable = redactor_current_user
18
+ end
19
+
20
+ if @document.save
21
+ render json: { filelink: @document.url, filename: @document.filename }
22
+ else
23
+ render json: { error: @document.errors }
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def redactor_authenticate_user!
30
+ if RedactorRails.document_model.new.has_attribute?(RedactorRails.devise_user)
31
+ super
32
+ end
33
+ end
34
+ end
@@ -0,0 +1,34 @@
1
+ class RedactorRails::PicturesController < ApplicationController
2
+ before_action :redactor_authenticate_user!
3
+
4
+ def index
5
+ @pictures = RedactorRails.picture_model.where(
6
+ RedactorRails.picture_model.new.respond_to?(RedactorRails.devise_user) ? { RedactorRails.devise_user_key => redactor_current_user.id } : { })
7
+ render :json => @pictures.to_json
8
+ end
9
+
10
+ def create
11
+ @picture = RedactorRails.picture_model.new
12
+
13
+ file = params[:file]
14
+ @picture.data = RedactorRails::Http.normalize_param(file, request)
15
+ if @picture.has_attribute?(:"#{RedactorRails.devise_user_key}")
16
+ @picture.send("#{RedactorRails.devise_user}=", redactor_current_user)
17
+ @picture.assetable = redactor_current_user
18
+ end
19
+
20
+ if @picture.save
21
+ render json: { filelink: @picture.url(:content) }
22
+ else
23
+ render json: { error: @picture.errors }
24
+ end
25
+ end
26
+
27
+ private
28
+
29
+ def redactor_authenticate_user!
30
+ if RedactorRails.picture_model.new.has_attribute?(RedactorRails.devise_user)
31
+ super
32
+ end
33
+ end
34
+ end
data/config/routes.rb ADDED
@@ -0,0 +1,4 @@
1
+ RedactorRails::Engine.routes.draw do
2
+ resources :pictures, :only => [:index, :create]
3
+ resources :documents, :only => [:index, :create]
4
+ end
@@ -0,0 +1,18 @@
1
+ require 'rails/generators'
2
+
3
+ module Redactor
4
+ module Generators
5
+ class ConfigGenerator < ::Rails::Generators::Base
6
+ desc "Generates redactor-rails config"
7
+
8
+ def self.source_root
9
+ @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
10
+ end
11
+
12
+
13
+ def create_config
14
+ template "config.js", File.join('app/assets/javascripts/redactor-rails', "config.js")
15
+ end
16
+ end
17
+ end
18
+ end
@@ -0,0 +1,75 @@
1
+ require 'rails/generators'
2
+ require 'rails/generators/migration'
3
+ module Redactor
4
+ module Generators
5
+ class InstallGenerator < ::Rails::Generators::Base
6
+ include ::Rails::Generators::Migration
7
+ desc "Generates migration for Tag and Tagging models"
8
+
9
+ class_option :orm, :type => :string, :default => "active_record",
10
+ :desc => "Backend processor for upload support"
11
+
12
+ class_option :backend, :type => :string, :default => 'carrierwave',
13
+ :desc => "carrierwave(default)"
14
+
15
+ def self.source_root
16
+ @source_root ||= File.expand_path(File.join(File.dirname(__FILE__), 'templates'))
17
+ end
18
+
19
+ def self.next_migration_number(dirname)
20
+ Time.now.strftime("%Y%m%d%H%M%S")
21
+ end
22
+
23
+ def mount_engine
24
+ route "mount RedactorRails::Engine => '/redactor_rails'"
25
+ end
26
+
27
+ def create_models
28
+ [:asset, :picture, :document].each do |filename|
29
+ template "#{generator_dir}/redactor/#{filename}.rb",
30
+ File.join('app/models', redactor_dir, "#{filename}.rb")
31
+ end
32
+
33
+ if backend == "carrierwave"
34
+ [:picture, :document].each do |filename|
35
+ template "#{uploaders_dir}/uploaders/redactor_rails_#{filename}_uploader.rb",
36
+ File.join("app/uploaders", "redactor_rails_#{filename}_uploader.rb")
37
+ end
38
+ end
39
+ end
40
+
41
+ def create_redactor_migration
42
+ if orm.to_s == "active_record"
43
+ if ARGV.include?('--devise')
44
+ migration_template "#{generator_dir}/devise_migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
45
+ else
46
+ migration_template "#{generator_dir}/migration.rb", File.join('db/migrate', "create_redactor_assets.rb")
47
+ end
48
+ end
49
+ end
50
+
51
+ protected
52
+
53
+ def redactor_dir
54
+ 'redactor_rails'
55
+ end
56
+
57
+ def generator_dir
58
+ @generator_dir ||= [orm, backend].join('/')
59
+ end
60
+
61
+ def uploaders_dir
62
+ @uploaders_dir ||= ['base', 'carrierwave'].join('/')
63
+ end
64
+
65
+ def orm
66
+ options[:orm] || "active_record"
67
+ end
68
+
69
+ def backend
70
+ options[:backend] || "carrierwave"
71
+ end
72
+
73
+ end
74
+ end
75
+ end