Sha256: d58260f0b51dfe13b42965493279cb71deae4c66f62adcb316d23afe3e8a75a0

Contents?: true

Size: 1.32 KB

Versions: 2

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

require 'generators/ember/generator_helpers'

module Ember
  module Generators
    class ControllerGenerator < ::Rails::Generators::NamedBase
      include Ember::Generators::GeneratorHelpers

      source_root File.expand_path('../templates', __dir__)

      desc 'Creates a new Ember.js controller'

      class_option :javascript_engine, desc: 'Engine for JavaScripts'
      class_option :array, type: :boolean, default: false,
                           desc: 'Create an Ember.ArrayController to represent multiple objects'
      class_option :ember_path, type: :string, aliases: '-d', desc: 'Custom ember app path'
      class_option :object, type: :boolean, default: false,
                            desc: 'Create an Ember.Controller to represent a single object'
      class_option :app_name, type: :string, aliases: '-n', desc: 'Custom ember app name'

      def create_controller_files
        file_path = File.join(ember_path, 'controllers', class_path, "#{file_name.dasherize}.#{engine_extension}")

        if options.array?
          template "array_controller.#{engine_extension}", file_path
        elsif options.object?
          template "object_controller.#{engine_extension}", file_path
        else
          template "controller.#{engine_extension}", file_path
        end
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
emberjs-rails-0.1.1 lib/generators/ember/controller_generator.rb
emberjs-rails-0.1.0 lib/generators/ember/controller_generator.rb