vendor/file: upgrade from 5.32 to 5.38
[dragonfly.git] / contrib / file / magic / Magdir / ruby
1
2 #------------------------------------------------------------------------------
3 # $File: ruby,v 1.10 2019/07/21 09:40:17 christos Exp $
4 # ruby:  file(1) magic for Ruby scripting language
5 # URL:  https://www.ruby-lang.org/
6 # From: Reuben Thomas <rrt@sc3d.org>
7
8 # Ruby scripts
9 0       search/1/w      #!\ /usr/bin/ruby                               Ruby script text executable
10 !:strength + 15
11 !:mime text/x-ruby
12 0       search/1/w      #!\ /usr/local/bin/ruby Ruby script text executable
13 !:strength + 15
14 !:mime text/x-ruby
15 0       search/1        #!/usr/bin/env\ ruby                            Ruby script text executable
16 !:strength + 15
17 !:mime text/x-ruby
18 0       search/1        #!\ /usr/bin/env\ ruby                  Ruby script text executable
19 !:strength + 15
20 !:mime text/x-ruby
21
22 # What looks like ruby, but does not have a shebang
23 # (modules and such)
24 # From: Lubomir Rintel <lkundrak@v3.sk>
25 0       search/8192     require
26 >0      regex           \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+'
27 >>0     regex           def\ [a-z]|\ do$
28 >>>&0   regex           \^[[:space:]]*end([[:space:]]+[;#].*)?$         Ruby script text
29 !:strength + 30
30 !:mime  text/x-ruby
31 0       regex           \^[[:space:]]*(class|module)[[:space:]][A-Z]
32 >0      regex           (modul|includ)e\ [A-Z]|def\ [a-z]
33 >>&0    regex           \^[[:space:]]*end([[:space:]]+[;#].*)?$         Ruby script text
34 !:strength + 30
35 !:mime  text/x-ruby
36 # Classes with no modules or defs, beats simple ASCII
37 0       regex           \^[[:space:]]*(class|module)[[:space:]][A-Z]
38 >&0     regex   \^[[:space:]]*end([[:space:]]+[;#if].*)?$               Ruby script text
39 !:strength + 10
40 !:mime  text/x-ruby
41 # Looks for function definition to balance python magic
42 # def name (args)
43 # end
44 0       search/8192     def\ 
45 >0      regex           \^[[:space:]]*def\ [a-z]|def\ [[:alpha:]]+::[a-z]
46 >>&0    regex           \^[[:space:]]*end([[:space:]]+[;#].*)?$         Ruby script text
47 !:strength + 10
48 !:mime  text/x-ruby
49
50 0       search/8192     require
51 >0      regex           \^[[:space:]]*require[[:space:]]'[A-Za-z_/.]+'  Ruby script text
52 !:mime  text/x-ruby
53 0       search/8192     include
54 >0 regex        \^[[:space:]]*include\ ([A-Z]+[a-z]*(::))+      Ruby script text
55 !:mime  text/x-ruby