diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:52:51 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-28 09:52:51 +0000 |
commit | 71507ca5d2410b11889ca963fafcd1bcad5044c3 (patch) | |
tree | 17e6d07243d49e29e4b75887e0d07f24ec2b66e8 /magic/Magdir/ruby | |
parent | Initial commit. (diff) | |
download | file-upstream.tar.xz file-upstream.zip |
Adding upstream version 1:5.44.upstream/1%5.44upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to '')
-rw-r--r-- | magic/Magdir/ruby | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/magic/Magdir/ruby b/magic/Magdir/ruby new file mode 100644 index 0000000..9e67a3e --- /dev/null +++ b/magic/Magdir/ruby @@ -0,0 +1,55 @@ + +#------------------------------------------------------------------------------ +# $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 |