diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2015-12-21 14:31:42 +0100 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2015-12-21 14:31:42 +0100 |
commit | 26a8320c727cb516b116bf4e7d40bb134b2c42b5 (patch) | |
tree | 9138e18982d847482213c66acc64f91b3a88c9ec | |
parent | 9aff14f1eef5771ca816d04cf725dc870f7f0dc8 (diff) | |
parent | 61366f5a3db91cae4313cc9f19396e96cddf643a (diff) | |
download | rails-26a8320c727cb516b116bf4e7d40bb134b2c42b5.tar.gz rails-26a8320c727cb516b116bf4e7d40bb134b2c42b5.tar.bz2 rails-26a8320c727cb516b116bf4e7d40bb134b2c42b5.zip |
Merge pull request #22692 from ryohashimoto/22669_api_generator
Action Cable channel generator doesn't create JS assets if options[:rails][:assets] is false
-rw-r--r-- | actioncable/lib/rails/generators/channel/channel_generator.rb | 4 | ||||
-rw-r--r-- | railties/test/generators/channel_generator_test.rb | 30 |
2 files changed, 33 insertions, 1 deletions
diff --git a/actioncable/lib/rails/generators/channel/channel_generator.rb b/actioncable/lib/rails/generators/channel/channel_generator.rb index 2f37d8055b..925dd3d098 100644 --- a/actioncable/lib/rails/generators/channel/channel_generator.rb +++ b/actioncable/lib/rails/generators/channel/channel_generator.rb @@ -9,7 +9,9 @@ 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 Rails::Generators.options[:rails][:assets] + template "assets/channel.coffee", File.join('app/assets/javascripts/channels', class_path, "#{file_name}.coffee") + end end protected diff --git a/railties/test/generators/channel_generator_test.rb b/railties/test/generators/channel_generator_test.rb new file mode 100644 index 0000000000..5cc1cd83b1 --- /dev/null +++ b/railties/test/generators/channel_generator_test.rb @@ -0,0 +1,30 @@ +require 'generators/generators_test_helper' +require 'rails/generators/channel/channel_generator' + +class ChannelGeneratorTest < Rails::Generators::TestCase + include GeneratorsTestHelper + tests Rails::Generators::ChannelGenerator + + def test_channel_is_created + run_generator ['chat'] + + assert_file "app/channels/chat_channel.rb" do |channel| + assert_match(/class ChatChannel < ApplicationCable::Channel/, channel) + end + + assert_file "app/assets/javascripts/channels/chat.coffee" do |channel| + assert_match(/App.cable.subscriptions.create "ChatChannel"/, channel) + end + end + + def test_channel_asset_is_not_created + Rails::Generators.options[:rails][:assets] = false + run_generator ['chat'] + + assert_file "app/channels/chat_channel.rb" do |channel| + assert_match(/class ChatChannel < ApplicationCable::Channel/, channel) + end + + assert_no_file "app/assets/javascripts/channels/chat.coffee" + end +end |