Sha256: 7df73ea8128d81ff133f8999785727db9f11bbfa3b78f52dc9cdec2e7a78f30f

Contents?: true

Size: 1.53 KB

Versions: 5

Compression:

Stored size: 1.53 KB

Contents

require 'rails/generators/haml/base.rb'
require 'rails/generators/resource_helpers'

module Haml
  module Generators
    class ScaffoldGenerator < Haml::Generators::Base
      include ::Rails::Generators::ResourceHelpers

      argument :attributes, :type => :array, :default => [], :banner => "field:type field:type"

      class_option :layout,      type: :boolean
      class_option :singleton,   type: :boolean, desc: "Supply to skip index view"
      class_option :cancan,      type: :boolean, desc: "Use cancan patterns"

      def create_root_folder
        empty_directory File.join("app/views", controller_file_path)
      end

      def copy_index_file
        return if options[:singleton]
        copy_view :index
      end

      def copy_destroy_file
        copy_coffee :destroy
      end

      def copy_edit_file
        copy_view :edit
      end

      def copy_show_file
        copy_view :show
      end

      def copy_new_file
        copy_view :new
      end

      def copy_form_file
        copy_view :_form
      end

      def copy_layout_file
        return unless options[:layout]
        template "layout.html.haml", File.join("app/views/layouts", controller_class_path, "#{controller_file_name}.html.haml")
      end

      protected

      def copy_coffee(view)
        template "#{view}.js.coffee", File.join("app/views", controller_file_path, "#{view}.js.coffee")
      end

      def copy_view(view)
          template "#{view}.html.haml", File.join("app/views", controller_file_path, "#{view}.html.haml")
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
advanced_haml_scaffold_generator-2.2.1 lib/rails/generators/haml/scaffold/scaffold_generator.rb
advanced_haml_scaffold_generator-2.2.0 lib/rails/generators/haml/scaffold/scaffold_generator.rb
advanced_haml_scaffold_generator-2.1.0 lib/rails/generators/haml/scaffold/scaffold_generator.rb
advanced_haml_scaffold_generator-2.0.0 lib/rails/generators/haml/scaffold/scaffold_generator.rb
advanced_haml_scaffold_generator-1.0.5 lib/rails/generators/haml/scaffold/scaffold_generator.rb