rails應用遍歷Controllers目錄並取出所有的Controller和action
今天在javaeye論壇上看到有人有這個需求,順手寫了下。原理就是通過遍歷Controllers目錄,並用正規表示式取出Controller名和它所有的action。
@controllers=Hash.new
path="#{RAILS_ROOT}/app/controllers/"
Dir.new(path).entries.each do |f|
if !f.index('.rb').nil? and f.index('.rb')>0
controller=File.open(path+f.to_s)
s=controller.read
/class\s(.*)\s\match(s)
controller_name=$1.to_s
actions=[]
s.scan(/def\s(.*)\s/).each{ |action| actions<<(action[0]) }
@controllers[controller_name]=actions
controller.close
end
end
@controllers.each_pair do |name, actions|
actions.each do |action|
puts |name<<" "<<action
end
end
path="#{RAILS_ROOT}/app/controllers/"
Dir.new(path).entries.each do |f|
if !f.index('.rb').nil? and f.index('.rb')>0
controller=File.open(path+f.to_s)
s=controller.read
/class\s(.*)\s\match(s)
controller_name=$1.to_s
actions=[]
s.scan(/def\s(.*)\s/).each{ |action| actions<<(action[0]) }
@controllers[controller_name]=actions
controller.close
end
end
@controllers.each_pair do |name, actions|
actions.each do |action|
puts |name<<" "<<action
end
end
相關文章
- PHP遍歷目錄和檔案PHP
- 使用python遍歷一個目錄下所有的檔案併合並內容Python
- linux下遍歷目錄Linux
- Object-C,遍歷目錄Object
- php -- glob遍歷目錄函式PHP函式
- python 遞迴遍歷目錄Python遞迴
- 遍歷目錄下的所有檔案
- C++遍歷日誌log目錄,並提取資料進行分析C++
- php無限遍歷目錄-修正版PHP
- 遍歷檔案Java中遍歷出指定目錄中的所有檔案Java
- Python自學之路:遞迴、棧和佇列遍歷目錄Python遞迴佇列
- java基礎:遞迴應用---遍歷檔案目錄Java遞迴
- php遍歷指定目錄中的內容2PHP
- 遍歷某一個指定目錄下的所有子目錄和檔案(遞迴)遞迴
- 網路安全中的目錄遍歷指什麼?
- 遍歷當前目錄下的所有HTML檔案,並且顯示到螢幕中HTML
- PHP超低記憶體遍歷目錄檔案和讀取超大檔案PHP記憶體
- 面試題目-遍歷,點選面試題
- js的map遍歷和array遍歷JS
- K8s kubectl 複製命令曝目錄遍歷漏洞K8S
- 網路安全系列之三十六目錄遍歷攻擊
- APUE 4-22 遞迴降序遍歷目錄層次結構,並按檔案型別計數遞迴型別
- 二叉樹的遍歷及應用二叉樹
- Javascript樹(一):廣度遍歷和深度遍歷JavaScript
- PHP 遍歷元素並分批處理PHP
- 【筆記】遍歷二叉樹的應用筆記二叉樹
- Python字典的遍歷,包括key遍歷/value遍歷/item遍歷/Python
- 集合框架(List儲存字串並遍歷)框架字串
- 二叉樹的廣度遍歷和深度遍歷()二叉樹
- Jboss下將某個應用目錄配置為根目錄
- Rails並不是用Ruby編寫的AI
- 非遞迴實現先序遍歷和中序遍歷遞迴
- C# 遍歷Dictionary並修改其中的ValueC#
- SSIS遍歷記錄傳送郵件
- 【JavaScript實用技巧(一)】迴圈遍歷與跳出迴圈遍歷JavaScript
- [ASP.NET MVC 小牛之路]09 - Controller 和 Action (1)ASP.NETMVCController
- [ASP.NET MVC 小牛之路]10 - Controller 和 Action (2)ASP.NETMVCController
- js實現深度優先遍歷和廣度優先遍歷JS