1b6cee71dSXin LI 2b6cee71dSXin LI#------------------------------------------------------------------------------ 3*d38c30c0SXin LI# $File: ruby,v 1.10 2019/07/21 09:40:17 christos Exp $ 4b6cee71dSXin LI# ruby: file(1) magic for Ruby scripting language 548c779cdSXin LI# URL: https://www.ruby-lang.org/ 6b6cee71dSXin LI# From: Reuben Thomas <rrt@sc3d.org> 7b6cee71dSXin LI 8b6cee71dSXin LI# Ruby scripts 9b6cee71dSXin LI0 search/1/w #!\ /usr/bin/ruby Ruby script text executable 10a5d223e6SXin LI!:strength + 15 11b6cee71dSXin LI!:mime text/x-ruby 12b6cee71dSXin LI0 search/1/w #!\ /usr/local/bin/ruby Ruby script text executable 13a5d223e6SXin LI!:strength + 15 14b6cee71dSXin LI!:mime text/x-ruby 15b6cee71dSXin LI0 search/1 #!/usr/bin/env\ ruby Ruby script text executable 16a5d223e6SXin LI!:strength + 15 17b6cee71dSXin LI!:mime text/x-ruby 18b6cee71dSXin LI0 search/1 #!\ /usr/bin/env\ ruby Ruby script text executable 19a5d223e6SXin LI!:strength + 15 20b6cee71dSXin LI!:mime text/x-ruby 21b6cee71dSXin LI 22b6cee71dSXin LI# What looks like ruby, but does not have a shebang 23b6cee71dSXin LI# (modules and such) 24b6cee71dSXin LI# From: Lubomir Rintel <lkundrak@v3.sk> 2548c779cdSXin LI0 search/8192 require 26*d38c30c0SXin LI>0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+' 2748c779cdSXin LI>>0 regex def\ [a-z]|\ do$ 2848c779cdSXin LI>>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text 2940427ccaSGordon Tetlow!:strength + 30 30b6cee71dSXin LI!:mime text/x-ruby 3140427ccaSGordon Tetlow0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] 32b6cee71dSXin LI>0 regex (modul|includ)e\ [A-Z]|def\ [a-z] 3340427ccaSGordon Tetlow>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text 3440427ccaSGordon Tetlow!:strength + 30 3540427ccaSGordon Tetlow!:mime text/x-ruby 3640427ccaSGordon Tetlow# Classes with no modules or defs, beats simple ASCII 3740427ccaSGordon Tetlow0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] 3840427ccaSGordon Tetlow>&0 regex \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text 3940427ccaSGordon Tetlow!:strength + 10 4040427ccaSGordon Tetlow!:mime text/x-ruby 4140427ccaSGordon Tetlow# Looks for function definition to balance python magic 4240427ccaSGordon Tetlow# def name (args) 4340427ccaSGordon Tetlow# end 4448c779cdSXin LI0 search/8192 def\ 4548c779cdSXin LI>0 regex \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] 4648c779cdSXin LI>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text 4740427ccaSGordon Tetlow!:strength + 10 4840427ccaSGordon Tetlow!:mime text/x-ruby 4940427ccaSGordon Tetlow 5048c779cdSXin LI0 search/8192 require 51*d38c30c0SXin LI>0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+' Ruby script text 5240427ccaSGordon Tetlow!:mime text/x-ruby 5348c779cdSXin LI0 search/8192 include 5448c779cdSXin LI>0 regex \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text 55b6cee71dSXin LI!:mime text/x-ruby 56