file_ex/magic/Magdir/ruby
2023-08-06 17:12:15 +01:00

55 lines
1.9 KiB
Text

#------------------------------------------------------------------------------
# $File: ruby,v 1.10 2019/07/21 09:40:17 christos Exp $
# ruby: file(1) magic for Ruby scripting language
# URL: https://www.ruby-lang.org/
# From: Reuben Thomas <rrt@sc3d.org>
# Ruby scripts
0 search/1/w #!\ /usr/bin/ruby Ruby script text executable
!:strength + 15
!:mime text/x-ruby
0 search/1/w #!\ /usr/local/bin/ruby Ruby script text executable
!:strength + 15
!:mime text/x-ruby
0 search/1 #!/usr/bin/env\ ruby Ruby script text executable
!:strength + 15
!:mime text/x-ruby
0 search/1 #!\ /usr/bin/env\ ruby Ruby script text executable
!:strength + 15
!:mime text/x-ruby
# What looks like ruby, but does not have a shebang
# (modules and such)
# From: Lubomir Rintel <lkundrak@v3.sk>
0 search/8192 require
>0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+'
>>0 regex def\ [a-z]|\ do$
>>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text
!:strength + 30
!:mime text/x-ruby
0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z]
>0 regex (modul|includ)e\ [A-Z]|def\ [a-z]
>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text
!:strength + 30
!:mime text/x-ruby
# Classes with no modules or defs, beats simple ASCII
0 regex \^[[:space:]]*(class|module)[[:space:]][A-Z]
>&0 regex \^[[:space:]]*end([[:space:]]+[;#if].*)?$ Ruby script text
!:strength + 10
!:mime text/x-ruby
# Looks for function definition to balance python magic
# def name (args)
# end
0 search/8192 def\
>0 regex \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z]
>>&0 regex \^[[:space:]]*end([[:space:]]+[;#].*)?$ Ruby script text
!:strength + 10
!:mime text/x-ruby
0 search/8192 require
>0 regex \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+' Ruby script text
!:mime text/x-ruby
0 search/8192 include
>0 regex \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+ Ruby script text
!:mime text/x-ruby