1f72f8299SJan Lentfer 279343712SPeter Avalos#------------------------------------------------------------------------------ 36fca56fbSSascha Wildner# $File: ruby,v 1.10 2019/07/21 09:40:17 christos Exp $ 4f72f8299SJan Lentfer# ruby: file(1) magic for Ruby scripting language 56fca56fbSSascha Wildner# URL: https://www.ruby-lang.org/ 679343712SPeter Avalos# From: Reuben Thomas <rrt@sc3d.org> 779343712SPeter Avalos 879343712SPeter Avalos# Ruby scripts 9f72f8299SJan Lentfer0 search/1/w #!\ /usr/bin/ruby Ruby script text executable 10*c30bd091SSascha Wildner!:strength + 15 11f72f8299SJan Lentfer!:mime text/x-ruby 12f72f8299SJan Lentfer0 search/1/w #!\ /usr/local/bin/ruby Ruby script text executable 13*c30bd091SSascha Wildner!:strength + 15 14f72f8299SJan Lentfer!:mime text/x-ruby 1579343712SPeter Avalos0 search/1 #!/usr/bin/env\ ruby Ruby script text executable 16*c30bd091SSascha Wildner!:strength + 15 17f72f8299SJan Lentfer!:mime text/x-ruby 1879343712SPeter Avalos0 search/1 #!\ /usr/bin/env\ ruby Ruby script text executable 19*c30bd091SSascha Wildner!:strength + 15 20f72f8299SJan Lentfer!:mime text/x-ruby 21e4d4ce0cSPeter Avalos 22e4d4ce0cSPeter Avalos# What looks like ruby, but does not have a shebang 23e4d4ce0cSPeter Avalos# (modules and such) 24e4d4ce0cSPeter Avalos# From: Lubomir Rintel <lkundrak@v3.sk> 256fca56fbSSascha Wildner0 search/8192 require 266fca56fbSSascha Wildner>0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+' 276fca56fbSSascha Wildner>>0 regex def\ [a-z]|\ do$ 286fca56fbSSascha Wildner>>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text 29*c30bd091SSascha Wildner!:strength + 30 30e4d4ce0cSPeter Avalos!:mime text/x-ruby 31*c30bd091SSascha Wildner0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] 32e4d4ce0cSPeter Avalos>0 regex (modul|includ)e\ [A-Z]|def\ [a-z] 33*c30bd091SSascha Wildner>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text 34*c30bd091SSascha Wildner!:strength + 30 35*c30bd091SSascha Wildner!:mime text/x-ruby 36*c30bd091SSascha Wildner# Classes with no modules or defs, beats simple ASCII 37*c30bd091SSascha Wildner0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z] 38*c30bd091SSascha Wildner>&0 regex \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text 39*c30bd091SSascha Wildner!:strength + 10 40*c30bd091SSascha Wildner!:mime text/x-ruby 41*c30bd091SSascha Wildner# Looks for function definition to balance python magic 42*c30bd091SSascha Wildner# def name (args) 43*c30bd091SSascha Wildner# end 446fca56fbSSascha Wildner0 search/8192 def\ 456fca56fbSSascha Wildner>0 regex \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z] 466fca56fbSSascha Wildner>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text 47*c30bd091SSascha Wildner!:strength + 10 48*c30bd091SSascha Wildner!:mime text/x-ruby 49*c30bd091SSascha Wildner 506fca56fbSSascha Wildner0 search/8192 require 516fca56fbSSascha Wildner>0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+' Ruby script text 52*c30bd091SSascha Wildner!:mime text/x-ruby 536fca56fbSSascha Wildner0 search/8192 include 546fca56fbSSascha Wildner>0 regex \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text 55e4d4ce0cSPeter Avalos!:mime text/x-ruby 56