Class: WhereIsWaldo::Generators::InstallGenerator

Inherits:
Rails::Generators::Base
  • Object
show all
Includes:
ActiveRecord::Generators::Migration
Defined in:
lib/generators/where_is_waldo/install/install_generator.rb

Instance Method Summary collapse

Instance Method Details

#create_channelsObject



34
35
36
37
38
# File 'lib/generators/where_is_waldo/install/install_generator.rb', line 34

def create_channels
  template "connection.rb.tt", "app/channels/application_cable/connection.rb"
  template "channel.rb.tt", "app/channels/application_cable/channel.rb"
  template "presence_channel.rb.tt", "app/channels/presence_channel.rb"
end

#create_initializerObject



24
25
26
# File 'lib/generators/where_is_waldo/install/install_generator.rb', line 24

def create_initializer
  template "initializer.rb.tt", "config/initializers/where_is_waldo.rb"
end

#generate_migrationObject



28
29
30
31
32
# File 'lib/generators/where_is_waldo/install/install_generator.rb', line 28

def generate_migration
  return if adapter == "redis"

  migration_template "migration.rb.tt", "db/migrate/create_presences.rb"
end

#show_post_install_messageObject



40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
# File 'lib/generators/where_is_waldo/install/install_generator.rb', line 40

def show_post_install_message
  say ""
  say "WhereIsWaldo installed successfully!", :green
  say ""
  say "Next steps:"
  say "  1. Review config/initializers/where_is_waldo.rb"
  if adapter == "redis"
    say "  2. Ensure REDIS_URL is configured"
  else
    say "  2. Run: rails db:migrate"
  end
  say "  3. Configure your frontend PresenceProvider:"
  say ""
  say "     <PresenceProvider config={{ channelName: 'PresenceChannel' }}>"
  say "       <App />"
  say "     </PresenceProvider>"
  say ""
end