Class: Drails::Generators::AppGenerator

Inherits:
Rails::Generators::NamedBase
  • Object
show all
Defined in:
lib/generators/drails/app/app_generator.rb

Instance Method Summary collapse

Instance Method Details

#add_drails_to_gemfileObject



27
28
29
# File 'lib/generators/drails/app/app_generator.rb', line 27

def add_drails_to_gemfile
  gem "rails-disco"
end

#add_sse_routeObject



23
24
25
# File 'lib/generators/drails/app/app_generator.rb', line 23

def add_sse_route
  route "get 'event_stream' => 'event_source#stream'"
end

#copy_configObject



7
8
9
# File 'lib/generators/drails/app/app_generator.rb', line 7

def copy_config
  copy_file 'disco.yml', File.join('config', 'disco.yml')
end

#copy_sse_controllerObject



19
20
21
# File 'lib/generators/drails/app/app_generator.rb', line 19

def copy_sse_controller
  copy_file 'event_source_controller.rb', File.join('app', 'controllers', 'event_source_controller.rb')
end

#copy_validation_registry_initializerObject



15
16
17
# File 'lib/generators/drails/app/app_generator.rb', line 15

def copy_validation_registry_initializer
  copy_file 'build_validations_registry.rb', File.join('config', 'initializers', 'build_validations_registry.rb')
end

#create_domain_initializerObject



11
12
13
# File 'lib/generators/drails/app/app_generator.rb', line 11

def create_domain_initializer
  template 'create_domain.rb', File.join('config', 'initializers', 'create_domain.rb')
end

#enable_concurrencyObject



41
42
43
44
45
46
47
48
49
# File 'lib/generators/drails/app/app_generator.rb', line 41

def enable_concurrency
  application 'config.preload_frameworks = true'
  application 'config.allow_concurrency = true'
rescue Exception
  puts "Seems like you invoked it from an engine, so remember to put\n
  config.preload_frameworks = true
  config.allow_concurrency = true\n
  in your application.rb from the main application"
end

#enable_rake_tasksObject



31
32
33
34
35
36
37
38
39
# File 'lib/generators/drails/app/app_generator.rb', line 31

def enable_rake_tasks
  content = "
require 'rails-disco/tasks'"
  inject_into_file File.join('config/application.rb'), content, after: /require 'rails\/all'/
rescue Exception
  puts "Seems like you invoked it from an engine, so put\n
  require 'rails-disco/tasks'\n
  in your application.rb from the main application to have the rails disco rake tasks available"
end