class BootswatchRails::Generators::CarrierwaveGenerator

Public Instance Methods

add_migration() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 33
def add_migration
  return unless options.migration?
  migration_template "carrierwave_migration.rb", "db/migrate/#{migration_name}.rb"
end
add_to_model() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 38
def add_to_model
  inject_into_class "app/models/#{name}.rb", class_name do
    text = options.before? ? "\n" : ""
    text << "  mount_uploader :#{column}, #{column.camelize}Uploader\n"
    text << "\n" if options.after?
    text
  end
end
add_to_permit() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 47
def add_to_permit
  file = "app/controllers/#{table_name}_controller.rb"
  if options.permit?
    gsub_file file, /(permit\(.*)\)/, "\\1, :#{column})"
    # Special case: no previous permit
    gsub_file file, /^(\s*params)\[:#{name}\]$/, "\\1.require(:#{name}).permit(:#{column})"
  end
  gsub_file file, /(permit.*)(:#{column})(.*)/, "\\1\\2, :#{column}_cache, :remove_#{column}\\3"
end
add_uploader() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 23
def add_uploader
  if picture?
    template "picture_uploader.rb", "app/uploaders/#{column}_uploader.rb"
  elsif document?
    template "document_uploader.rb", "app/uploaders/#{column}_uploader.rb"
  else
    run "rails generate uploader #{column.camelize}"
  end
end

Protected Instance Methods

document?() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 63
def document?
  column.include?("document")
end
migration_name() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 67
def migration_name
  "add_#{column}_to_#{table_name}"
end
picture?() click to toggle source
# File lib/generators/bootswatch_rails/carrierwave/carrierwave_generator.rb, line 59
def picture?
  column.include?("picture")
end