Module: Kettle::Dev::AppraisalsAstMerger

Defined in:
sig/kettle/dev/appraisals_ast_merger.rbs

Overview

AST-driven merger for Appraisals files using Prism

Constant Summary collapse

TRACKED_METHODS =

Returns:

Prism =

Returns:

Class Method Summary collapse

Class Method Details

.appraise_call?Boolean

Check if node is an appraise call

Parameters:

Returns:



19
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 19

def self.appraise_call?: (Prism::Node node) -> bool

.build_outputObject

Build output from preamble and blocks



56
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 56

def self.build_output: (

.extract_appraise_nameString?

Extract appraise block name from node

Parameters:

Returns:



22
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 22

def self.extract_appraise_name: (Prism::Node? node) -> String?

.extract_block_headerObject

Extract block header comments



31
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 31

def self.extract_block_header: (

.extract_blocksObject

Extract blocks and preamble from parse result



13
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 13

def self.extract_blocks: (

.extract_original_statementsArray[Hash[Symbol, untyped]]

Extract original statements from node

Parameters:

Returns:



68
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 68

def self.extract_original_statements: (Prism::Node node) -> Array[Hash[Symbol, untyped]]

.mergeString

Merge template and destination Appraisals files preserving comments

Parameters:

Returns:



10
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 10

def self.merge: (String template_content, String dest_content) -> String

.merge_block_statementsObject

Merge statements within a block



46
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 46

def self.merge_block_statements: (

.merge_blocksObject

Merge blocks from template and destination



38
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 38

def self.merge_blocks: (

.merge_preamblesObject

Merge preamble comments from template and destination



25
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 25

def self.merge_preambles: (

.normalize_argumentString

Normalize argument to canonical format

Parameters:

Returns:



65
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 65

def self.normalize_argument: (Prism::Node arg) -> String

.normalize_statementString

Normalize statement to use parentheses

Parameters:

Returns:



62
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 62

def self.normalize_statement: (Prism::Node node) -> String

.statement_key[Symbol, String?]?

Generate statement key for deduplication

Parameters:

Returns:



53
# File 'sig/kettle/dev/appraisals_ast_merger.rbs', line 53

def self.statement_key: (Prism::Node node) -> [Symbol, String?]?