Sha256: f45a7c045233d7d3faeaa394a9a2135f7d749aed691c0c0e645d9780eda0a292

Contents?: true

Size: 1.03 KB

Versions: 2

Compression:

Stored size: 1.03 KB

Contents

require 'rails/generators/erb/scaffold/scaffold_generator'

module Erb
  class ScaffoldhubGenerator < Erb::Generators::ScaffoldGenerator

    include Scaffoldhub::Helper

    class_option :scaffold, :default => 'default', :banner => "SCAFFOLD_NAME",  :type => :string,  :desc => "Scaffold to use"
    class_option :local,    :default => false,     :banner => "LOCAL SCAFFOLD", :type => :boolean, :desc => "Use a local scaffold, not scaffoldhub.org"

    def copy_view_files
      each_template_file(:erb) do |erb_template_file|
        if is_layout_erb?(erb_template_file)
          copy_layout_file(erb_template_file)
        else
          template erb_template_file.src, File.join("app/views", controller_file_path, erb_template_file.dest)
        end
      end
    end

    private

    def copy_layout_file(layout_template)
      template layout_template.src, File.join('app/views/layouts', "#{controller_file_name}.html.erb")
    end

    def is_layout_erb?(template_file)
      template_file.dest == 'app/views/layouts/layout.erb'
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
scaffoldhub-0.0.4 lib/generators/erb/scaffoldhub_generator.rb
scaffoldhub-0.0.3 lib/generators/erb/scaffoldhub_generator.rb