Class: KafkaConsumer::Generators::InboxConsumerGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Includes:
Concerns::Configuration
Defined in:
lib/generators/kafka_consumer/inbox_consumer/inbox_consumer_generator.rb

Constant Summary

Constants included from Concerns::Configuration

Concerns::Configuration::CONFIG_PATH

Instance Method Summary collapse

Methods included from Concerns::Configuration

#check_config_file!

Instance Method Details

#insert_consumer_groupObject



33
34
35
# File 'lib/generators/kafka_consumer/inbox_consumer/inbox_consumer_generator.rb', line 33

def insert_consumer_group
  insert_into_file CONFIG_PATH, group_template.result(binding), after: "consumer_groups:\n"
end

#process_topicsObject



16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# File 'lib/generators/kafka_consumer/inbox_consumer/inbox_consumer_generator.rb', line 16

def process_topics
  check_config_file!

  @items = {}
  topics.each do |topic|
    inbox_item = ask "Would you also add an InboxItem class for topic '#{topic}'?" \
                     " Type item's name in the form of SomeModel::InboxItem or press Enter" \
                     " to skip creating item's class"
    @items[topic] = if inbox_item.blank?
      nil
    else
      generate "outbox:item", inbox_item, "--kind inbox"
      inbox_item.classify
    end
  end
end