Sha256: 932b6f32d1369861b9f1828ce5dfc8f07af2b59ebda83df3f642a4f39abd1856

Contents?: true

Size: 898 Bytes

Versions: 1

Compression:

Stored size: 898 Bytes

Contents

require 'fileutils'

class ViewGenerator < Rails::Generators::NamedBase
  source_root File.expand_path('../templates', __FILE__)
  argument :actions, type: :array, required: false, default: [], desc: 'The pages to generate'

  def create_root_directory
    empty_directory(File.join('app/views', file_name)) if actions.empty?
  end

  def create_view_file
    unless actions.empty?
      actions.each do |filename|
        template('view.html.erb', File.join('app/views', class_path, file_name, "#{filename}.html.erb"))
      end
    end
  end

  def generate_locale_file
    invoke('locale:view', [name]) if configuration.autoload_view_generator_locale
  end

  def generate_test_file
    framework = configuration.test_framework

    return if framework.nil?
    invoke("#{framework}:view", [name]) rescue nil
  end

  private

  def configuration
    ActiveGenerator::Settings.config
  end

end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
active_generator-4.0.0 lib/generators/view/view_generator.rb