Sha256: 0da6a9aedc02e4efefbfe3e0a23b477460431871cb7e44336a8c71d4841deba5

Contents?: true

Size: 1.05 KB

Versions: 5

Compression:

Stored size: 1.05 KB

Contents

require 'rails/generators'

module Enjoy::Catalog::Controllers
  class ItemGenerator < Rails::Generators::Base
    source_root File.expand_path('../templates', __FILE__)
    argument :class_name, type: :string
    argument :item_category_class_name_arg, type: :string, default: ""

    desc 'Enjoy::Catalog Item Controller generator'
    def item
      template 'items_controller.erb', "app/controllers/#{file_name}_controller.rb"
    end

    private
    def capitalized_class_name
      class_name.capitalize
    end

    def camelcased_class_name
      class_name.camelcase
    end

    def camelcased_pluralized_class_name
      camelcased_class_name.pluralize
    end

    def file_name
      underscored_pluralized_class_name
    end

    def underscored_class_name
      camelcased_class_name.underscore
    end

    def underscored_pluralized_class_name
      underscored_class_name.pluralize
    end

    def item_category_class_name
      item_category_class_name_arg.blank? ? "#{camelcased_class_name}Category" : item_category_class_name_arg
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
enjoy_cms_catalog-0.3.7 lib/generators/enjoy/catalog/controllers/item_generator.rb
enjoy_cms_catalog-0.3.6 lib/generators/enjoy/catalog/controllers/item_generator.rb
enjoy_cms_catalog-0.3.5 lib/generators/enjoy/catalog/controllers/item_generator.rb
enjoy_cms_catalog-0.3.4 lib/generators/enjoy/catalog/controllers/item_generator.rb
enjoy_cms_catalog-0.3.3 lib/generators/enjoy/catalog/controllers/item_generator.rb