abstract class Analyzer::Ruby::RubyEngine

Direct Known Subclasses

Defined in:

analyzer/engines/ruby_engine.cr

Constant Summary

HTTP_VERBS = ["get", "post", "put", "delete", "patch", "head", "options"]

Class Method Summary

Instance Method Summary

Instance methods inherited from class Analyzer

analyze analyze, base_path : String base_path, base_paths : Array(String) base_paths, callees_needed? : Bool callees_needed?, logger : NoirLogger logger, parallel_analyze(channel : Channel(String), &block : String -> Nil) parallel_analyze, read_file_content(path : String) : String read_file_content, result : Array(Endpoint) result, url : String url

Constructor methods inherited from class Analyzer

new(options : Hash(String, YAML::Any)) new

Macros inherited from class Analyzer

define_getter_methods(names) define_getter_methods

Instance methods inherited from module FileHelper

all_files : Array(String) all_files, get_files_by_extension(extension : String) : Array(String) get_files_by_extension, get_files_by_prefix(prefix : String) : Array(String) get_files_by_prefix, get_files_by_prefix_and_extension(prefix : String, extension : String) : Array(String) get_files_by_prefix_and_extension, get_public_dir_files(base_path : String, folder : String) : Array(String) get_public_dir_files, get_public_files(base_path : String, anchors : Array(String) = ["shard.yml", "Gemfile"]) : Array(String) get_public_files, populate_channel_with_files(channel : Channel(String)) populate_channel_with_files, populate_channel_with_filtered_files(channel : Channel(String), extension : String)
populate_channel_with_filtered_files(channel : Channel(String), extensions : Array(String))
populate_channel_with_filtered_files

Class Method Detail

def self.ruby_test_path?(path : String) : Bool #

Minitest's *_test.rb and RSpec's *_spec.rb conventions are rigid in Ruby — rake test / mri test only run files matching the first, and rspec discovers the second. Production Ruby never adopts either filename, so the suffix check is safe for every Ruby analyzer (sinatra, grape, roda, hanami). Promoted from Analyzer::Ruby::Sinatra (#1571) so the rest of the family stays in sync.


[View source]

Instance Method Detail

def line_to_endpoint(content : String, details : Details | Nil = nil) : Endpoint #

Match the <verb> "<path>" idiom on a single line and return the first endpoint found, or an empty endpoint if none match. Shared by Hanami and Sinatra (Rails uses a different per-line-multi-match shape).


[View source]