Class: Coalla::Cms::Slider::InitGenerator

Inherits:
ActiveRecord::Generators::Base
  • Object
show all
Defined in:
lib/generators/coalla/cms/slider/init_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_modelObject



17
18
19
20
# File 'lib/generators/coalla/cms/slider/init_generator.rb', line 17

def create_model
  template 'slider_image.rb.erb', "app/models/#{@class_name.underscore}.rb"
  template 'slider_image_uploader.rb.erb', "app/uploaders/#{@uploader_name.underscore}.rb"
end

#create_upload_controllerObject



26
27
28
29
30
31
32
33
34
# File 'lib/generators/coalla/cms/slider/init_generator.rb', line 26

def create_upload_controller
  template 'slider_upload_controller.rb.erb', "app/controllers/admin/#{@class_name.pluralize.underscore}_controller.rb"

  sentinel = /namespace :admin do\s*$/
  routing_code = "  resource :#{@class_name.underscore}, only: :create, as: :upload_#{@class_name.underscore}"
  in_root do
    inject_into_file 'config/routes.rb', "\n  #{routing_code}", {:after => sentinel, :verbose => false}
  end
end

#create_upload_migrationObject



22
23
24
# File 'lib/generators/coalla/cms/slider/init_generator.rb', line 22

def create_upload_migration
  migration_template 'migration.rb.erb', "db/migrate/create_#{@table_name}.rb"
end

#setupObject



11
12
13
14
15
# File 'lib/generators/coalla/cms/slider/init_generator.rb', line 11

def setup
  @class_name = name
  @uploader_name = "#{@class_name}Uploader"
  @table_name = @class_name.pluralize.underscore
end