class RubyAuthTagger

Defined in:

tagger/framework_taggers/ruby/ruby_auth.cr

Constant Summary

ACTION_AUTH_PATTERNS = [{/authorize\s+@?\w+/, "Pundit authorize"}, {/authorize!\s*/, "CanCanCan authorize!"}, {/load_and_authorize_resource/, "CanCanCan load_and_authorize_resource"}]

Pundit / CanCanCan authorization in action body

BEFORE_ACTION_PATTERNS = [{/before_action\s+:authenticate_user!/, "Devise authenticate_user!"}, {/before_action\s+:authenticate_/, "Devise authentication"}, {/before_action\s+:require_login/, "require_login"}, {/before_action\s+:require_authentication/, "require_authentication"}, {/before_action\s+:authorize/, "authorize"}, {/before_action\s+:check_auth/, "check_auth"}, {/before_action\s+:verify_authenticity_token/, "CSRF verify_authenticity_token"}, {/before_action\s+:doorkeeper_authorize!/, "Doorkeeper OAuth authorize"}, {/before_action\s+:authenticate_with_token/, "token authentication"}]

Rails before_action patterns

HANAMI_AUTH_PATTERNS = [{/before\s+:authenticate/, "Hanami authenticate"}, {/before\s+:authorize/, "Hanami authorize"}]

Hanami patterns

SINATRA_AUTH_PATTERNS = [{/before\s+do.*auth/, "Sinatra before filter auth"}, {/use\s+Rack::Auth/, "Rack::Auth middleware"}, {/use\s+Warden/, "Warden middleware"}, {/env\['warden'\]\.authenticate/, "Warden authenticate"}, {/protected!/, "protected! helper"}, {/halt\s+401/, "401 halt guard"}]

Sinatra/Rack patterns

SKIP_PATTERNS = [/skip_before_action\s+:authenticate/, /skip_before_action\s+:require_login/]

skip_before_action marks public overrides

Constructors

Class Method Summary

Instance Method Summary

Instance methods inherited from class FrameworkTagger

read_file(path : String) : String | Nil read_file, read_source_context(endpoint : Endpoint) : Array(SourceContext) read_source_context

Constructor methods inherited from class FrameworkTagger

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

Class methods inherited from class FrameworkTagger

target_techs : Array(String) target_techs

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) : 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

Instance methods inherited from class Tagger

name : String name, perform(endpoints : Array(Endpoint)) : Array(Endpoint) perform

Constructor methods inherited from class Tagger

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

Constructor Detail

def self.new(options : Hash(String, YAML::Any)) #

[View source]

Class Method Detail

def self.target_techs : Array(String) #

[View source]

Instance Method Detail

def perform(endpoints : Array(Endpoint)) : Array(Endpoint) #

[View source]