Sha256: 011cf102b8532959cb5020bdfc5cc00067409f545bc5aa434ca4d99d5fa69a5f

Contents?: true

Size: 953 Bytes

Versions: 7

Compression:

Stored size: 953 Bytes

Contents

class Railstar::ScaffoldGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)

  argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"
  class_option :model, :type => :string, :default => nil

  def create_scaffold_file
    template "controller.rb", "app/controllers/#{plural_name}_controller.rb"
    
    view_files.each do |f|
      template "views/#{f}.html.erb", "app/views/#{plural_name}/#{f}.html.erb"
    end
  end
  
  def model_class_name
    if options.model.present?
      options.model.singularize.camelize
    else
      class_name.demodulize.singularize
    end
  end

  def controller_class_name
    class_name.pluralize
  end

  def controller_file_name
    controller_class_name.underscore
  end

  def singular_name
    controller_file_name.singularize
  end

  private
  def view_files
    %w(_form _detail confirm index show new edit destroy)
  end
end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
railstar-0.0.12 lib/generators/railstar/scaffold/scaffold_generator.rb
railstar-0.0.11 lib/generators/railstar/scaffold/scaffold_generator.rb
railstar-0.0.10 lib/generators/railstar/scaffold/scaffold_generator.rb
railstar-0.0.9 lib/generators/railstar/scaffold/scaffold_generator.rb
railstar-0.0.8 lib/generators/railstar/scaffold/scaffold_generator.rb
railstar-0.0.7 lib/generators/railstar/scaffold/scaffold_generator.rb
railstar-0.0.6 lib/generators/railstar/scaffold/scaffold_generator.rb