Sha256: 85fdc62ed4d7575034da0490256de94846465ec0336dce769ec5cd677097dac8

Contents?: true

Size: 906 Bytes

Versions: 2

Compression:

Stored size: 906 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
    return if actions.empty?

    actions.each do |filename|
      path = File.join('app/views', class_path, file_name, "#{filename}.html.erb")
      template('view.html.erb', path)
    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

2 entries across 2 versions & 1 rubygems

Version Path
active_generator-4.0.6 lib/generators/view/view_generator.rb
active_generator-4.0.5 lib/generators/view/view_generator.rb