Class: ChimeSdk::Generators::ControllersGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Defined in:
lib/generators/chime_sdk/controllers_generator.rb

Overview

Controller generator to copy customizable meetings and attendees controller files from templates.

Examples:

Run controller generator as default name

rails generate chime_sdk:controllers

Run controller generator with prefix as 'room'

rails generate chime_sdk:controllers room

Run controller generator with parent option as 'room'

rails generate chime_sdk:controllers -r room

Run controller generator with namespace option as 'api'

rails generate chime_sdk:controllers -n api

Constant Summary collapse

CONTROLLERS =

Controllers to be generated

['meetings', 'meeting_attendees'].freeze

Instance Method Summary collapse

Instance Method Details

#generate_controllersObject

Generate controller files in application directory



83
84
85
86
87
88
89
90
91
92
93
94
95
96
# File 'lib/generators/chime_sdk/controllers_generator.rb', line 83

def generate_controllers
  @namespace = options[:namespace].blank? ? '' : "#{options[:namespace].camelize}::"
  @class_name_prefix = prefix.blank? ? '' : prefix.singularize.camelize
  @param_name_prefix = prefix.blank? ? '' : "#{prefix.singularize.underscore}_"
  parent_resource = prefix.present? ? prefix.singularize.underscore : (options[:parent].blank? ? '' : options[:parent].singularize.underscore)
  @path_name_prefix = (options[:namespace].blank? ? '' : "#{options[:namespace].singularize.underscore}_") + (parent_resource.blank? ? '' : "#{parent_resource}_")
  @path_args_prefix = parent_resource.blank? ? '' : "@#{parent_resource}, "
  @default_meeting_request_id = parent_resource.blank? ? 'default' : "#{parent_resource.camelize}-#{'#'}{@#{parent_resource}.id}"
  file_name_prefix = (options[:namespace].blank? ? '' : "#{options[:namespace].underscore}/") + @param_name_prefix
  controllers = options[:controllers] || CONTROLLERS
  controllers.each do |name|
    template "#{name}_controller.rb", "app/controllers/#{file_name_prefix}#{name}_controller.rb"
  end
end

#show_readmeObject

Show readme after generated controllers



99
100
101
# File 'lib/generators/chime_sdk/controllers_generator.rb', line 99

def show_readme
  readme "README" if behavior == :invoke
end