Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
张重言
rails
提交
40cc7254
R
rails
项目概览
张重言
/
rails
通知
1
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
R
rails
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
40cc7254
编写于
12月 15, 2015
作者:
D
David Heinemeier Hansson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Basic channel generator
上级
649b9d93
变更
7
隐藏空白更改
内联
并排
Showing
7 changed file
with
101 addition
and
0 deletion
+101
-0
actioncable/lib/rails/generators/channel/USAGE
actioncable/lib/rails/generators/channel/USAGE
+14
-0
actioncable/lib/rails/generators/channel/channel_generator.rb
...oncable/lib/rails/generators/channel/channel_generator.rb
+27
-0
actioncable/lib/rails/generators/channel/templates/application_cable/channel.rb
...generators/channel/templates/application_cable/channel.rb
+5
-0
actioncable/lib/rails/generators/channel/templates/application_cable/connection.rb
...erators/channel/templates/application_cable/connection.rb
+22
-0
actioncable/lib/rails/generators/channel/templates/assets/channel.coffee
.../rails/generators/channel/templates/assets/channel.coffee
+11
-0
actioncable/lib/rails/generators/channel/templates/assets/consumer.coffee
...rails/generators/channel/templates/assets/consumer.coffee
+6
-0
actioncable/lib/rails/generators/channel/templates/channel.rb
...oncable/lib/rails/generators/channel/templates/channel.rb
+16
-0
未找到文件。
actioncable/lib/rails/generators/channel/USAGE
0 → 100644
浏览文件 @
40cc7254
Description:
============
Stubs out a new cable channel and its CoffeeScript assets. Passes the chanel name, either
CamelCased or under_scored, and an optional list of channel actions as arguments.
This generates a channel class in app/channels.
Example:
========
rails generate channel Chat speak
creates a Chat channel class and CoffeeScript asset:
Channel: app/channels/chat_channel.rb
Assets: app/assets/javascript/channels/chat.coffee
actioncable/lib/rails/generators/channel/channel_generator.rb
0 → 100644
浏览文件 @
40cc7254
module
Rails
module
Generators
class
ChannelGenerator
<
NamedBase
source_root
File
.
expand_path
(
"../templates"
,
__FILE__
)
argument
:actions
,
type: :array
,
default:
[],
banner:
"method method"
check_class_collision
suffix:
"Channel"
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/cable/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/index.coffee'
end
end
protected
def
file_name
@_file_name
||=
super
.
gsub
(
/\_channel/i
,
''
)
end
end
end
end
actioncable/lib/rails/generators/channel/templates/application_cable/channel.rb
0 → 100644
浏览文件 @
40cc7254
module
ApplicationCable
class
Channel
<
ActionCable
::
Channel
::
Base
# Logic shared between all channels
end
end
\ No newline at end of file
actioncable/lib/rails/generators/channel/templates/application_cable/connection.rb
0 → 100644
浏览文件 @
40cc7254
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
actioncable/lib/rails/generators/channel/templates/assets/channel.coffee
0 → 100644
浏览文件 @
40cc7254
App
.
<%=
class_name
.
underscore
%>
=
App
.
cable
.
subscriptions
.
create
"<%= class_name %>Channel"
,
connected
:
->
# Called when the subscription is ready for use on the server
disconnected
:
->
# Called when the subscription has been terminated by the server
<%
actions
.
each
do
|
action
|
-%>
<%=
action
%>:
->
@
perform
'<%= action %>'
<%
end
-%>
actioncable/lib/rails/generators/channel/templates/assets/consumer.coffee
0 → 100644
浏览文件 @
40cc7254
#= require cable
#= require_self
#= require ./channels
@
App
=
{}
App
.
cable
=
Cable
.
createConsumer
()
actioncable/lib/rails/generators/channel/templates/channel.rb
0 → 100644
浏览文件 @
40cc7254
<
% module_namespacing
do
-
%>
class <%= class_name %>
Channel
<
ApplicationChannel
def
subscribed
# stream_from "some_channel"
end
def
unsubscribed
# Any cleanup needed when channel is unsubscribed
end
<
% actions.each
do
|
action
|
-
%>
def <%= action %>
end
<
% end
-
%>
end
<% end -%>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录