kettle-dev 1.1.60 → 1.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,56 @@
1
+ # TypeProf 0.21.11
2
+
3
+ module Kettle
4
+ module Dev
5
+ # Shared utilities for working with Prism AST nodes
6
+ module PrismUtils
7
+ # Parse Ruby source code and return Prism parse result with comments
8
+ def self.parse_with_comments: (String source) -> Prism::ParseResult
9
+
10
+ # Extract statements from a Prism body node
11
+ def self.extract_statements: (Prism::Node? body_node) -> Array[Prism::Node]
12
+
13
+ # Generate a unique key for a statement node to identify equivalent statements
14
+ def self.statement_key: (
15
+ Prism::Node node,
16
+ ?tracked_methods: Array[Symbol]
17
+ ) -> [Symbol, String?]?
18
+
19
+ # Extract literal value from string or symbol nodes
20
+ def self.extract_literal_value: (Prism::Node? node) -> (String | Symbol)?
21
+
22
+ # Extract qualified constant name from a constant node
23
+ def self.extract_const_name: (Prism::Node? node) -> String?
24
+
25
+ # Find leading comments for a statement node
26
+ def self.find_leading_comments: (
27
+ Prism::ParseResult parse_result,
28
+ Prism::Node current_stmt,
29
+ Prism::Node? prev_stmt,
30
+ Prism::Node body_node
31
+ ) -> Array[Prism::Comment]
32
+
33
+ # Find inline comments for a statement node
34
+ def self.inline_comments_for_node: (
35
+ Prism::ParseResult parse_result,
36
+ Prism::Node stmt
37
+ ) -> Array[Prism::Comment]
38
+
39
+ # Convert a Prism AST node to Ruby source code
40
+ def self.node_to_source: (Prism::Node? node) -> String
41
+
42
+ # Normalize a call node to use parentheses format
43
+ def self.normalize_call_node: (Prism::Node node) -> String
44
+
45
+ # Normalize an argument node to canonical format
46
+ def self.normalize_argument: (Prism::Node arg) -> String
47
+
48
+ # Check if a node is a specific method call
49
+ def self.call_to?: (Prism::Node node, Symbol method_name) -> bool
50
+
51
+ # Check if a node is a block call to a specific method
52
+ def self.block_call_to?: (Prism::Node node, Symbol method_name) -> bool
53
+ end
54
+ end
55
+ end
56
+
@@ -0,0 +1,86 @@
1
+ # TypeProf 0.21.11
2
+
3
+ module Kettle
4
+ module Dev
5
+ # Prism-based AST merging for templated Ruby files
6
+ module SourceMerger
7
+ FREEZE_START: Regexp
8
+ FREEZE_END: Regexp
9
+ FREEZE_BLOCK: Regexp
10
+ FREEZE_REMINDER: String
11
+ BUG_URL: String
12
+
13
+ # Apply a templating strategy to merge source and destination Ruby files
14
+ def self.apply: (
15
+ strategy: Symbol,
16
+ src: String,
17
+ dest: String,
18
+ path: String
19
+ ) -> String
20
+
21
+ # Ensure freeze reminder comment is present at the top of content
22
+ def self.ensure_reminder: (String content) -> String
23
+
24
+ # Normalize source code while preserving formatting
25
+ def self.normalize_source: (String source) -> String
26
+
27
+ # Check if freeze reminder is present in content
28
+ def self.reminder_present?: (String content) -> bool
29
+
30
+ # Find index where freeze reminder should be inserted
31
+ def self.reminder_insertion_index: (String content) -> Integer
32
+
33
+ # Check if line is a shebang
34
+ def self.shebang?: (String line) -> bool
35
+
36
+ # Check if line is a frozen_string_literal comment
37
+ def self.frozen_comment?: (String line) -> bool
38
+
39
+ # Merge kettle-dev:freeze blocks from destination into source content
40
+ def self.merge_freeze_blocks: (String src_content, String dest_content) -> String
41
+
42
+ # Extract freeze blocks from text
43
+ def self.freeze_blocks: (String? text) -> Array[Hash[Symbol, untyped]]
44
+
45
+ # Normalize strategy symbol
46
+ def self.normalize_strategy: (Symbol? strategy) -> Symbol
47
+
48
+ # Warn about bugs and print error information
49
+ def self.warn_bug: (String path, StandardError error) -> void
50
+
51
+ # Ensure text ends with newline
52
+ def self.ensure_trailing_newline: (String? text) -> String
53
+
54
+ # Apply append strategy
55
+ def self.apply_append: (String src_content, String dest_content) -> String
56
+
57
+ # Apply merge strategy
58
+ def self.apply_merge: (String src_content, String dest_content) -> String
59
+
60
+ # Merge node information
61
+ def self.merge_node_info: (Array[untyped] signature, Hash[Symbol, untyped] dest_node_info, Hash[Symbol, untyped] src_node_info) -> Hash[Symbol, untyped]
62
+
63
+ # Merge block node information
64
+ def self.merge_block_node_info: (Hash[Symbol, untyped] src_node_info) -> Hash[Symbol, untyped]
65
+
66
+ # Perform Prism-based merge with block
67
+ def self.prism_merge: (String src_content, String dest_content) { (Array[Hash[Symbol, untyped]], Array[Hash[Symbol, untyped]], Prism::ParseResult, Prism::ParseResult) -> Array[Hash[Symbol, untyped]] } -> String
68
+
69
+ # Extract nodes with comments from parse result
70
+ def self.extract_nodes_with_comments: (Prism::ParseResult parse_result) -> Array[Hash[Symbol, untyped]]
71
+
72
+ # Build source from node information array
73
+ def self.build_source_from_nodes: (Array[Hash[Symbol, untyped]] node_infos) -> String
74
+
75
+ # Generate signature for node
76
+ def self.node_signature: (Prism::Node? node) -> Array[untyped]
77
+
78
+ # Restore custom leading comments from destination
79
+ def self.restore_custom_leading_comments: (String dest_content, String merged_content) -> String
80
+
81
+ # Extract leading comment block from content
82
+ def self.leading_comment_block: (String content) -> String
83
+ end
84
+ end
85
+ end
86
+
@@ -0,0 +1,21 @@
1
+ # TypeProf 0.21.11
2
+
3
+ module Kettle
4
+ module Dev
5
+ # Shared helpers for version detection and bump classification
6
+ module Versioning
7
+ # Detects a unique VERSION constant declared under lib/**/version.rb
8
+ def self.detect_version: (String root) -> String
9
+
10
+ # Classify the bump type from prev -> cur
11
+ def self.classify_bump: (String prev, String cur) -> Symbol
12
+
13
+ # Whether MAJOR is an EPIC version (strictly > 1000)
14
+ def self.epic_major?: (Integer major) -> bool
15
+
16
+ # Abort via ExitAdapter if available; otherwise Kernel.abort
17
+ def self.abort!: (String msg) -> void
18
+ end
19
+ end
20
+ end
21
+
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: kettle-dev
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.60
4
+ version: 1.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Peter H. Boling
@@ -328,6 +328,7 @@ files:
328
328
  - gemfiles/modular/stringio/vHEAD.gemfile
329
329
  - gemfiles/modular/style.gemfile
330
330
  - gemfiles/modular/style.gemfile.example
331
+ - gemfiles/modular/templating.gemfile
331
332
  - gemfiles/modular/x_std_libs.gemfile
332
333
  - gemfiles/modular/x_std_libs/r2.3/libs.gemfile
333
334
  - gemfiles/modular/x_std_libs/r2.4/libs.gemfile
@@ -352,6 +353,10 @@ files:
352
353
  - lib/kettle/dev/modular_gemfiles.rb
353
354
  - lib/kettle/dev/open_collective_config.rb
354
355
  - lib/kettle/dev/pre_release_cli.rb
356
+ - lib/kettle/dev/prism_appraisals.rb
357
+ - lib/kettle/dev/prism_gemfile.rb
358
+ - lib/kettle/dev/prism_gemspec.rb
359
+ - lib/kettle/dev/prism_utils.rb
355
360
  - lib/kettle/dev/rakelib/appraisal.rake
356
361
  - lib/kettle/dev/rakelib/bench.rake
357
362
  - lib/kettle/dev/rakelib/bundle_audit.rake
@@ -366,6 +371,7 @@ files:
366
371
  - lib/kettle/dev/readme_backers.rb
367
372
  - lib/kettle/dev/release_cli.rb
368
373
  - lib/kettle/dev/setup_cli.rb
374
+ - lib/kettle/dev/source_merger.rb
369
375
  - lib/kettle/dev/tasks.rb
370
376
  - lib/kettle/dev/tasks/ci_task.rb
371
377
  - lib/kettle/dev/tasks/install_task.rb
@@ -376,10 +382,12 @@ files:
376
382
  - lib/kettle/emoji_regex.rb
377
383
  - sig/kettle-dev.rbs
378
384
  - sig/kettle/dev.rbs
385
+ - sig/kettle/dev/appraisals_ast_merger.rbs
386
+ - sig/kettle/dev/changelog_cli.rbs
379
387
  - sig/kettle/dev/ci_helpers.rbs
380
388
  - sig/kettle/dev/ci_monitor.rbs
381
389
  - sig/kettle/dev/commit_msg.rbs
382
- - sig/kettle/dev/dvcscli.rbs
390
+ - sig/kettle/dev/dvcs_cli.rbs
383
391
  - sig/kettle/dev/exit_adapter.rbs
384
392
  - sig/kettle/dev/gem_spec_reader.rbs
385
393
  - sig/kettle/dev/git_adapter.rbs
@@ -388,25 +396,28 @@ files:
388
396
  - sig/kettle/dev/modular_gemfiles.rbs
389
397
  - sig/kettle/dev/open_collective_config.rbs
390
398
  - sig/kettle/dev/pre_release_cli.rbs
399
+ - sig/kettle/dev/prism_utils.rbs
391
400
  - sig/kettle/dev/readme_backers.rbs
392
401
  - sig/kettle/dev/release_cli.rbs
393
402
  - sig/kettle/dev/setup_cli.rbs
403
+ - sig/kettle/dev/source_merger.rbs
394
404
  - sig/kettle/dev/tasks.rbs
395
405
  - sig/kettle/dev/tasks/ci_task.rbs
396
406
  - sig/kettle/dev/tasks/install_task.rbs
397
407
  - sig/kettle/dev/tasks/template_task.rbs
398
408
  - sig/kettle/dev/template_helpers.rbs
399
409
  - sig/kettle/dev/version.rbs
410
+ - sig/kettle/dev/versioning.rbs
400
411
  - sig/kettle/emoji_regex.rbs
401
412
  homepage: https://github.com/kettle-rb/kettle-dev
402
413
  licenses:
403
414
  - MIT
404
415
  metadata:
405
416
  homepage_uri: https://kettle-dev.galtzo.com/
406
- source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.1.60
407
- changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.1.60/CHANGELOG.md
417
+ source_code_uri: https://github.com/kettle-rb/kettle-dev/tree/v1.2.1
418
+ changelog_uri: https://github.com/kettle-rb/kettle-dev/blob/v1.2.1/CHANGELOG.md
408
419
  bug_tracker_uri: https://github.com/kettle-rb/kettle-dev/issues
409
- documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.1.60
420
+ documentation_uri: https://www.rubydoc.info/gems/kettle-dev/1.2.1
410
421
  funding_uri: https://github.com/sponsors/pboling
411
422
  wiki_uri: https://github.com/kettle-rb/kettle-dev/wiki
412
423
  news_uri: https://www.railsbling.com/tags/kettle-dev
metadata.gz.sig CHANGED
Binary file
File without changes