Class: PaperclipUpload::UploadControllerGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/paperclip_upload/upload_controller/upload_controller_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_routesObject



20
21
22
23
24
25
26
27
28
# File 'lib/generators/paperclip_upload/upload_controller/upload_controller_generator.rb', line 20

def add_routes
  line = "Rails.application.routes.draw do"
  gsub_file "config/routes.rb", /(#{Regexp.escape(line)})/mi do |match|
    <<-HERE.gsub(/^ {9}/, '')
       #{match}
         post "#{resource_path}", to: "#{resource_path}#create", defaults: { format: :json }
       HERE
  end
end

#customize_controllerObject



13
14
15
16
17
18
# File 'lib/generators/paperclip_upload/upload_controller/upload_controller_generator.rb', line 13

def customize_controller
  line = "class UploadController < ApplicationController"
  gsub_file controller_path, /(#{Regexp.escape(line)})/mi do
    "class #{controller_class} < #{base_controller_class}"
  end
end

#generate_controllerObject



5
6
7
# File 'lib/generators/paperclip_upload/upload_controller/upload_controller_generator.rb', line 5

def generate_controller
  generate "controller #{resource_path} --no-helper --no-assets --no-view-specs --no-controller-specs"
end

#replace_controller_with_templateObject



9
10
11
# File 'lib/generators/paperclip_upload/upload_controller/upload_controller_generator.rb', line 9

def replace_controller_with_template
  copy_file "controller.rb", controller_path, force: true
end