Class: BroadcastHub::Generators::InstallGenerator

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

Instance Method Summary collapse

Instance Method Details

#add_javascript_requiresObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
# File 'lib/generators/broadcast_hub/install_generator.rb', line 15

def add_javascript_requires
  manifest_path = "app/assets/javascripts/application.js"
  absolute_manifest_path = File.expand_path(manifest_path, destination_root)

  unless File.exist?(absolute_manifest_path)
    say_status :skip, "#{manifest_path} not found", :yellow
    return
  end

  directives = [
    "//= require jquery3",
    "//= require broadcast_hub/index"
  ]

  manifest_content = File.read(absolute_manifest_path)
  missing_directives = directives.reject { |directive| manifest_content.include?(directive) }
  return if missing_directives.empty?

  append_to_file manifest_path, "\n#{missing_directives.join("\n")}\n"
end

#copy_initializerObject



11
12
13
# File 'lib/generators/broadcast_hub/install_generator.rb', line 11

def copy_initializer
  template "broadcast_hub.rb.tt", "config/initializers/broadcast_hub.rb"
end

#show_javascript_install_hintObject



36
37
38
39
40
# File 'lib/generators/broadcast_hub/install_generator.rb', line 36

def show_javascript_install_hint
  say "Add BroadcastHub assets in app/assets/javascripts/application.js:"
  say "//= require jquery3"
  say "//= require broadcast_hub/index"
end