class DynamicImage::Generators::ResourceGenerator

Public Class Methods

new(args, *options) click to toggle source
Calls superclass method
# File lib/rails/generators/dynamic_image/resource/resource_generator.rb, line 11
def initialize(args, *options)
  super(inject_dynamic_image_attributes(args), *options)
end

Public Instance Methods

add_controller_extension() click to toggle source
# File lib/rails/generators/dynamic_image/resource/resource_generator.rb, line 15
def add_controller_extension
  inject_into_file(
    File.join("app/controllers",
              class_path,
              "#{file_name.pluralize}_controller.rb"),
    after: "ApplicationController\n"
  ) do
    "  include DynamicImage::Controller\n\n  private\n\n  " \
      "def model\n    #{class_name}\n  end\n"
  end
end
add_model_extension() click to toggle source
# File lib/rails/generators/dynamic_image/resource/resource_generator.rb, line 27
def add_model_extension
  inject_into_file(
    File.join("app/models", class_path, "#{file_name}.rb"),
    after: "ActiveRecord::Base\n"
  ) do
    "  include DynamicImage::Model\n"
  end
end
alter_resource_routes() click to toggle source
# File lib/rails/generators/dynamic_image/resource/resource_generator.rb, line 36
def alter_resource_routes
  gsub_file(
    File.join("config", "routes.rb"),
    " resources :#{file_name.pluralize}",
    " image_resources :#{file_name.pluralize}"
  )
end

Private Instance Methods

dynamic_image_attributes() click to toggle source
# File lib/rails/generators/dynamic_image/resource/resource_generator.rb, line 54
def dynamic_image_attributes
  %w[content_hash:string content_type:string
     content_length:integer
     filename:string
     colorspace:string
     real_width:integer real_height:integer
     crop_width:integer crop_height:integer
     crop_start_x:integer crop_start_y:integer
     crop_gravity_x:integer crop_gravity_y:integer]
end
inject_dynamic_image_attributes(args) click to toggle source
# File lib/rails/generators/dynamic_image/resource/resource_generator.rb, line 46
def inject_dynamic_image_attributes(args)
  if args.any?
    [args[0]] + dynamic_image_attributes + args[1..args.length]
  else
    args
  end
end