mirror of
https://github.com/github/codeql.git
synced 2026-04-22 07:15:15 +02:00
7191e1c0071d987b90ceef8a4e445ccab6c13966
These methods don't take any arguments in Rails versions > 3, but there's no harm in checking for them anyway, and some people might be using very old Rails versions.
Ruby analysis support for CodeQL
Under development.
Building the tools from source
Install Rust, then run:
cargo build --release
Generating the database schema and QL library
The generated ql/lib/ruby.dbscheme and ql/lib/codeql/ruby/ast/internal/TreeSitter.qll files are included in the repository, but they can be re-generated as follows:
# Run the generator
cargo run --release -p ruby-generator -- --dbscheme ql/lib/ruby.dbscheme --library ql/lib/codeql/ruby/ast/internal/TreeSitter.qll
# Then auto-format the QL library
codeql query format -i ql/lib/codeql/ruby/ast/internal/TreeSitter.qll
Building a CodeQL database for a Ruby program
First, get an extractor pack. There are two options:
- Either download the latest
codeql-ruby-packfrom Actions and unzip it twice, or - Run
scripts/create-extractor-pack.sh(Linux/Mac) orscripts\create-extractor-pack.ps1(Windows PowerShell) and the pack will be created in theextractor-packdirectory.
Then run
codeql database create <database-path> -l ruby -s <project-source-path> --search-path <extractor-pack-path>
Running qltests
Run
codeql test run <test-path> --search-path <repository-root-path>
Writing database upgrade scripts
See this guide.
Languages
CodeQL
32.3%
Kotlin
27.4%
C#
17.1%
Java
7.7%
Python
4.6%
Other
10.7%