From 28035db109c35bc0bc40272c621ac3c777a62a72 Mon Sep 17 00:00:00 2001 From: David Heinemeier Hansson Date: Wed, 16 Dec 2015 21:05:13 +0100 Subject: Generate all the ApplicationCable stubs by default, like all other Application* stubs --- .../rails/generators/channel/channel_generator.rb | 6 ------ .../channel/templates/application_cable/channel.rb | 6 ------ .../templates/application_cable/connection.rb | 23 ---------------------- .../channel/templates/assets/consumer.coffee | 6 ------ .../rails/generators/rails/app/app_generator.rb | 2 ++ .../templates/app/assets/javascripts/cable.coffee | 7 +++++++ .../app/channels/application_cable/channel.rb | 5 +++++ .../app/channels/application_cable/connection.rb | 5 +++++ .../rails/app/templates/config/routes.rb | 2 +- 9 files changed, 20 insertions(+), 42 deletions(-) delete mode 100644 actioncable/lib/rails/generators/channel/templates/application_cable/channel.rb delete mode 100644 actioncable/lib/rails/generators/channel/templates/application_cable/connection.rb delete mode 100644 actioncable/lib/rails/generators/channel/templates/assets/consumer.coffee create mode 100644 railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/cable.coffee create mode 100644 railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb create mode 100644 railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb diff --git a/actioncable/lib/rails/generators/channel/channel_generator.rb b/actioncable/lib/rails/generators/channel/channel_generator.rb index 8646a5460c..2f37d8055b 100644 --- a/actioncable/lib/rails/generators/channel/channel_generator.rb +++ b/actioncable/lib/rails/generators/channel/channel_generator.rb @@ -10,12 +10,6 @@ module Rails def create_channel_file template "channel.rb", File.join('app/channels', class_path, "#{file_name}_channel.rb") template "assets/channel.coffee", File.join('app/assets/javascripts/channels', class_path, "#{file_name}.coffee") - - if self.behavior == :invoke - template "application_cable/connection.rb", 'app/channels/application_cable/connection.rb' - template "application_cable/channel.rb", 'app/channels/application_cable/channel.rb' - template "assets/consumer.coffee", 'app/assets/javascripts/cable.coffee' - end end protected diff --git a/actioncable/lib/rails/generators/channel/templates/application_cable/channel.rb b/actioncable/lib/rails/generators/channel/templates/application_cable/channel.rb deleted file mode 100644 index 1d77819a0f..0000000000 --- a/actioncable/lib/rails/generators/channel/templates/application_cable/channel.rb +++ /dev/null @@ -1,6 +0,0 @@ -# Be sure to restart your server when you modify this file. Action Cable runs in an EventMachine loop that does not support auto reloading. -module ApplicationCable - class Channel < ActionCable::Channel::Base - # Logic shared between all channels - end -end \ No newline at end of file diff --git a/actioncable/lib/rails/generators/channel/templates/application_cable/connection.rb b/actioncable/lib/rails/generators/channel/templates/application_cable/connection.rb deleted file mode 100644 index 2d1e38c572..0000000000 --- a/actioncable/lib/rails/generators/channel/templates/application_cable/connection.rb +++ /dev/null @@ -1,23 +0,0 @@ -# Be sure to restart your server when you modify this file. Action Cable runs in an EventMachine loop that does not support auto reloading. -module ApplicationCable - class Connection < ActionCable::Connection::Base - # identified_by :current_user - # - # def connect - # self.current_user = find_verified_user - # end - # - # protected - # def find_verified_user - # if current_user = authenticate_with_cookies - # current_user - # else - # reject_unauthorized_connection - # end - # end - # - # def authenticate_with_cookies - # User.find(cookies.signed[:user_id]) - # end - end -end diff --git a/actioncable/lib/rails/generators/channel/templates/assets/consumer.coffee b/actioncable/lib/rails/generators/channel/templates/assets/consumer.coffee deleted file mode 100644 index b0c7baa957..0000000000 --- a/actioncable/lib/rails/generators/channel/templates/assets/consumer.coffee +++ /dev/null @@ -1,6 +0,0 @@ -#= require action_cable -#= require_self -#= require_tree ./channels - -@App ||= {} -App.cable = ActionCable.createConsumer() diff --git a/railties/lib/rails/generators/rails/app/app_generator.rb b/railties/lib/rails/generators/rails/app/app_generator.rb index 16f30d0135..61c99ccd33 100644 --- a/railties/lib/rails/generators/rails/app/app_generator.rb +++ b/railties/lib/rails/generators/rails/app/app_generator.rb @@ -57,6 +57,8 @@ module Rails directory 'app' keep_file 'app/assets/images' + keep_file 'app/assets/javascripts/channels' + keep_file 'app/mailers' keep_file 'app/models' diff --git a/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/cable.coffee b/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/cable.coffee new file mode 100644 index 0000000000..4166ea02f1 --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/app/assets/javascripts/cable.coffee @@ -0,0 +1,7 @@ +#= require action_cable +#= require_self +#= require_tree ./channels + +# Turn on the cable connection by removing the comments from the statements below: +# @App ||= {} +# App.cable = ActionCable.createConsumer() diff --git a/railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb b/railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb new file mode 100644 index 0000000000..438c84154d --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/channel.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. Action Cable runs in an EventMachine loop that does not support auto reloading. +module ApplicationCable + class Channel < ActionCable::Channel::Base + end +end diff --git a/railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb b/railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb new file mode 100644 index 0000000000..965046f3c7 --- /dev/null +++ b/railties/lib/rails/generators/rails/app/templates/app/channels/application_cable/connection.rb @@ -0,0 +1,5 @@ +# Be sure to restart your server when you modify this file. Action Cable runs in an EventMachine loop that does not support auto reloading. +module ApplicationCable + class Connection < ActionCable::Connection::Base + end +end diff --git a/railties/lib/rails/generators/rails/app/templates/config/routes.rb b/railties/lib/rails/generators/rails/app/templates/config/routes.rb index 722b845472..3dfd415645 100644 --- a/railties/lib/rails/generators/rails/app/templates/config/routes.rb +++ b/railties/lib/rails/generators/rails/app/templates/config/routes.rb @@ -2,5 +2,5 @@ Rails.application.routes.draw do # For details on the DSL available within this file, see http://guides.rubyonrails.org/routing.html # Serve websocket cable requests in-process - mount ActionCable.server => '/cable' if defined?(ApplicationCable) + mount ActionCable.server => '/cable' end -- cgit v1.2.3