lib/generators/coupdoeil/popover/popover_generator.rb
# frozen_string_literal: true module Coupdoeil class PopoverGenerator < Rails::Generators::NamedBase source_root File.expand_path("templates", __dir__) check_class_collision suffix: "Popover" class_option :skip_views, type: :boolean, desc: "Skip view files", default: false argument :action_names, type: :array, default: [] def create_popover_file template( "popover.rb", File.join("app/popovers", class_path, "#{file_name}_popover.rb"), ) unless options.skip_views? action_names.each do |action_name| path = [*class_path, file_name].join("/") create_file("app/popovers/#{path}_popover/#{action_name}.html.erb", <<~ERB) <p>Hello from #{class_name}Popover##{action_name}</p> ERB end end end end end