decode 0.22.0 → 0.23.0

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.
Files changed (53) hide show
  1. checksums.yaml +4 -4
  2. checksums.yaml.gz.sig +0 -0
  3. data/bake/decode/index.rb +16 -9
  4. data/context/coverage.md +325 -0
  5. data/context/getting-started.md +242 -0
  6. data/context/ruby-documentation.md +363 -0
  7. data/lib/decode/comment/attribute.rb +9 -3
  8. data/lib/decode/comment/node.rb +4 -2
  9. data/lib/decode/comment/option.rb +1 -1
  10. data/lib/decode/comment/parameter.rb +12 -6
  11. data/lib/decode/comment/pragma.rb +12 -1
  12. data/lib/decode/comment/raises.rb +1 -1
  13. data/lib/decode/comment/returns.rb +3 -4
  14. data/lib/decode/comment/tag.rb +13 -3
  15. data/lib/decode/comment/tags.rb +17 -2
  16. data/lib/decode/comment/text.rb +4 -1
  17. data/lib/decode/comment/throws.rb +1 -1
  18. data/lib/decode/comment/yields.rb +7 -1
  19. data/lib/decode/definition.rb +54 -42
  20. data/lib/decode/documentation.rb +12 -14
  21. data/lib/decode/index.rb +29 -14
  22. data/lib/decode/language/generic.rb +30 -14
  23. data/lib/decode/language/reference.rb +13 -4
  24. data/lib/decode/language/ruby/alias.rb +41 -0
  25. data/lib/decode/language/ruby/attribute.rb +7 -6
  26. data/lib/decode/language/ruby/block.rb +4 -1
  27. data/lib/decode/language/ruby/call.rb +16 -6
  28. data/lib/decode/language/ruby/class.rb +19 -36
  29. data/lib/decode/language/ruby/code.rb +27 -15
  30. data/lib/decode/language/ruby/constant.rb +9 -8
  31. data/lib/decode/language/ruby/definition.rb +27 -19
  32. data/lib/decode/language/ruby/function.rb +2 -1
  33. data/lib/decode/language/ruby/generic.rb +17 -7
  34. data/lib/decode/language/ruby/method.rb +47 -12
  35. data/lib/decode/language/ruby/module.rb +4 -11
  36. data/lib/decode/language/ruby/parser.rb +358 -207
  37. data/lib/decode/language/ruby/reference.rb +26 -17
  38. data/lib/decode/language/ruby/segment.rb +11 -4
  39. data/lib/decode/language/ruby.rb +4 -2
  40. data/lib/decode/language.rb +2 -2
  41. data/lib/decode/languages.rb +25 -6
  42. data/lib/decode/location.rb +2 -0
  43. data/lib/decode/scope.rb +1 -1
  44. data/lib/decode/segment.rb +6 -5
  45. data/lib/decode/source.rb +12 -4
  46. data/lib/decode/syntax/link.rb +9 -1
  47. data/lib/decode/syntax/match.rb +12 -0
  48. data/lib/decode/syntax/rewriter.rb +10 -0
  49. data/lib/decode/trie.rb +27 -22
  50. data/lib/decode/version.rb +1 -1
  51. data.tar.gz.sig +0 -0
  52. metadata +9 -10
  53. metadata.gz.sig +0 -0
@@ -3,44 +3,53 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative '../reference'
6
+ require_relative "../reference"
7
7
 
8
8
  module Decode
9
9
  module Language
10
10
  module Ruby
11
11
  # An Ruby-specific reference which can be resolved to zero or more definitions.
12
12
  class Reference < Language::Reference
13
+ # Create a reference from a constant node.
14
+ # @parameter node [Prism::Node] The constant node.
15
+ # @parameter language [Language] The language instance.
13
16
  def self.from_const(node, language)
14
17
  lexical_path = append_const(node)
15
18
 
16
- return self.new(node.location.expression.source, language, lexical_path)
19
+ return self.new(node.location.slice, language, lexical_path)
17
20
  end
18
21
 
22
+ # Append a constant node to the path.
23
+ # @parameter node [Prism::Node] The constant node.
24
+ # @parameter path [Array] The path to append to.
19
25
  def self.append_const(node, path = [])
20
- parent, name = node.children
21
-
22
- if parent and parent.type != :cbase
23
- append_const(parent, path)
24
- end
25
-
26
26
  case node.type
27
- when :const
28
- if parent && parent.type != :cbase
29
- path << ['::', name]
27
+ when :constant_read_node
28
+ path << [nil, node.name.to_s]
29
+ when :constant_path_node
30
+ if node.parent
31
+ append_const(node.parent, path)
32
+ path << ["::", node.name.to_s]
33
+ else
34
+ path << [nil, node.name.to_s]
35
+ end
36
+ when :call_node
37
+ # For call nodes like Tuple(...), treat them as constant references
38
+ if node.receiver.nil?
39
+ path << [nil, node.name.to_s]
30
40
  else
31
- path << [nil, name]
41
+ append_const(node.receiver, path)
42
+ path << [".", node.name.to_s]
32
43
  end
33
- when :send
34
- path << ['#', name]
35
- when :cbase
36
- # Ignore.
37
44
  else
38
- raise ArgumentError, "Could not determine reference for #{node}!"
45
+ raise ArgumentError, "Could not determine reference for #{node.type}!"
39
46
  end
40
47
 
41
48
  return path
42
49
  end
43
50
 
51
+ # Split a Ruby identifier into prefix and name components.
52
+ # @parameter text [String] The text to split.
44
53
  def split(text)
45
54
  text.scan(/(::|\.|#|:)?([^:.#]+)/)
46
55
  end
@@ -3,31 +3,38 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative '../../segment'
6
+ require_relative "../../segment"
7
7
 
8
8
  module Decode
9
9
  module Language
10
10
  module Ruby
11
11
  # A Ruby specific code segment.
12
12
  class Segment < Decode::Segment
13
+ # Initialize a new Ruby segment.
14
+ # @parameter comments [Array(String)] The comments for this segment.
15
+ # @parameter language [Language] The language instance.
16
+ # @parameter node [Prism::Node] The syntax tree node.
17
+ # @parameter options [Hash] Additional options.
13
18
  def initialize(comments, language, node, **options)
14
19
  super(comments, language, **options)
15
20
 
16
21
  @node = node
17
- @expression = node.location.expression
22
+ @expression = node.location
18
23
  end
19
24
 
20
25
  # The parser syntax tree node.
21
26
  attr :node
22
27
 
28
+ # Expand the segment to include another node.
29
+ # @parameter node [Prism::Node] The node to include.
23
30
  def expand(node)
24
- @expression = @expression.join(node.location.expression)
31
+ @expression = @expression.join(node.location)
25
32
  end
26
33
 
27
34
  # The source code trailing the comments.
28
35
  # @returns [String | nil]
29
36
  def code
30
- @expression.source
37
+ @expression.slice
31
38
  end
32
39
  end
33
40
  end
@@ -3,12 +3,14 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'ruby/generic'
6
+ require_relative "ruby/generic"
7
7
 
8
8
  module Decode
9
9
  module Language
10
- # An interface for extracting information from Ruby source code.
10
+ # Represents an interface for extracting information from Ruby source code.
11
11
  module Ruby
12
+ # Create a new Ruby language instance.
13
+ # @returns [Ruby::Generic] A configured Ruby language parser.
12
14
  def self.new
13
15
  Generic.new("ruby")
14
16
  end
@@ -3,8 +3,8 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'language/generic'
7
- require_relative 'language/ruby'
6
+ require_relative "language/generic"
7
+ require_relative "language/ruby"
8
8
 
9
9
  module Decode
10
10
  # Language specific parsers and definitions.
@@ -3,23 +3,27 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'language/generic'
7
- require_relative 'language/ruby'
6
+ require_relative "language/generic"
7
+ require_relative "language/ruby"
8
8
 
9
9
  module Decode
10
- # A context for looking up languages based on file extension or name.
10
+ # Represents a context for looking up languages based on file extension or name.
11
11
  class Languages
12
+ # Create a new languages context with all supported languages.
13
+ # @returns [Languages] A languages context with Ruby support enabled.
12
14
  def self.all
13
15
  self.new.tap do |languages|
14
16
  languages.add(Language::Ruby.new)
15
17
  end
16
18
  end
17
19
 
20
+ # Initialize a new languages context.
18
21
  def initialize
19
22
  @named = {}
20
23
  @extensions = {}
21
24
  end
22
25
 
26
+ # Freeze the languages context to prevent further modifications.
23
27
  def freeze
24
28
  return unless frozen?
25
29
 
@@ -29,16 +33,23 @@ module Decode
29
33
  super
30
34
  end
31
35
 
36
+ # Add a language to this context.
37
+ # @parameter language [Language::Generic] The language to add.
32
38
  def add(language)
39
+ # Register by name:
33
40
  language.names.each do |name|
34
41
  @named[name] = language
35
42
  end
36
43
 
44
+ # Register by file extension:
37
45
  language.extensions.each do |extension|
38
46
  @extensions[extension] = language
39
47
  end
40
48
  end
41
49
 
50
+ # Fetch a language by name, creating a generic language if needed.
51
+ # @parameter name [String] The name of the language to fetch.
52
+ # @returns [Language::Generic] The language instance for the given name.
42
53
  def fetch(name)
43
54
  @named.fetch(name) do
44
55
  unless @named.frozen?
@@ -47,6 +58,9 @@ module Decode
47
58
  end
48
59
  end
49
60
 
61
+ # Create a source object for the given file path.
62
+ # @parameter path [String] The file system path to create a source for.
63
+ # @returns [Source | Nil] A source object if the file extension is supported, nil otherwise.
50
64
  def source_for(path)
51
65
  extension = File.extname(path)
52
66
 
@@ -57,9 +71,10 @@ module Decode
57
71
 
58
72
  REFERENCE = /\A(?<name>[a-z]+)?\s+(?<identifier>.*?)\z/
59
73
 
60
- # Parse a language agnostic reference:
61
- # e.g. `ruby MyModule::MyClass`
62
- #
74
+ # Parse a language agnostic reference.
75
+ # @parameter text [String] The text to parse (e.g., "ruby MyModule::MyClass").
76
+ # @parameter default_language [Language::Generic] The default language to use if none specified.
77
+ # @returns [Language::Reference | Nil] The parsed reference, or nil if parsing fails.
63
78
  def parse_reference(text, default_language: nil)
64
79
  if match = REFERENCE.match(text)
65
80
  language = self.fetch(match[:name]) || default_language
@@ -70,6 +85,10 @@ module Decode
70
85
  end
71
86
  end
72
87
 
88
+ # Create a reference for the given language and identifier.
89
+ # @parameter name [String] The name of the language.
90
+ # @parameter identifier [String] The identifier to create a reference for.
91
+ # @returns [Language::Reference] The created reference.
73
92
  def reference_for(name, identifier)
74
93
  self.fetch(name).reference_for(identifier)
75
94
  end
@@ -4,7 +4,9 @@
4
4
  # Copyright, 2022-2024, by Samuel Williams.
5
5
 
6
6
  module Decode
7
+ # Represents a location in a source file.
7
8
  class Location < Struct.new(:path, :line)
9
+ # Generate a string representation of the location.
8
10
  def to_s
9
11
  "#{path}:#{line}"
10
12
  end
data/lib/decode/scope.rb CHANGED
@@ -3,7 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'definition'
6
+ require_relative "definition"
7
7
 
8
8
  module Decode
9
9
  # An abstract namespace for nesting definitions.
@@ -3,7 +3,7 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'documentation'
6
+ require_relative "documentation"
7
7
 
8
8
  module Decode
9
9
  # A chunk of code with an optional preceeding comment block.
@@ -14,17 +14,18 @@ module Decode
14
14
  # ~~~
15
15
  #
16
16
  class Segment
17
+ # Initialize a new segment.
18
+ # @parameter comments [Array(String)] The preceeding comments.
19
+ # @parameter language [Language::Generic] The language of the code.
17
20
  def initialize(comments, language)
18
21
  @comments = comments
19
22
  @language = language
20
23
  end
21
24
 
22
- # The preceeding comments.
23
- # @attribute [Array(String)]
25
+ # @attribute [Array(String)] The preceeding comments.
24
26
  attr :comments
25
27
 
26
- # The language of the code attached to this segment.
27
- # @attribute [Language::Generic]
28
+ # @attribute [Language::Generic] The language of the code attached to this segment.
28
29
  attr :language
29
30
 
30
31
  # An interface for accsssing the documentation of the definition.
data/lib/decode/source.rb CHANGED
@@ -3,11 +3,14 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'language'
6
+ require_relative "language"
7
7
 
8
8
  module Decode
9
9
  # Represents a source file in a specific language.
10
10
  class Source
11
+ # Initialize a new source file.
12
+ # @parameter path [String] The file-system path to the source file.
13
+ # @parameter language [Language::Generic] The language parser to use.
11
14
  def initialize(path, language)
12
15
  @path = path
13
16
  @buffer = nil
@@ -15,10 +18,11 @@ module Decode
15
18
  end
16
19
 
17
20
  # The path of the source file.
18
- # @attribute [String] A file-system path.
21
+ # @attribute [String] A file-system path to the source file.
19
22
  attr :path
20
23
 
21
24
  # The relative path of the source, if it is known.
25
+ # @returns [String] The relative path or the full path if relative path is unknown.
22
26
  def relative_path
23
27
  if @path.respond_to?(:relative_path)
24
28
  @path.relative_path
@@ -28,11 +32,11 @@ module Decode
28
32
  end
29
33
 
30
34
  # The language of the source file.
31
- # @attribute [Language::Generic]
35
+ # @attribute [Language::Generic] The language parser for this source.
32
36
  attr :language
33
37
 
34
38
  # Read the source file into an internal buffer/cache.
35
- # @returns [String]
39
+ # @returns [String] The contents of the source file.
36
40
  def read
37
41
  @buffer ||= File.read(@path).freeze
38
42
  end
@@ -57,6 +61,10 @@ module Decode
57
61
  @language.segments_for(self, &block)
58
62
  end
59
63
 
64
+ # Generate code representation with optional index for link resolution.
65
+ # @parameter index [Index] Optional index for resolving links.
66
+ # @parameter relative_to [Definition] Optional definition to resolve relative references.
67
+ # @returns [String] The formatted code representation.
60
68
  def code(index = nil, relative_to: nil)
61
69
  @language.code_for(self.read, index, relative_to: relative_to)
62
70
  end
@@ -3,11 +3,16 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'match'
6
+ require_relative "match"
7
7
 
8
8
  module Decode
9
+ # Provides syntax rewriting and linking functionality.
9
10
  module Syntax
11
+ # Represents a link to a definition in the documentation.
10
12
  class Link < Match
13
+ # Initialize a new link.
14
+ # @parameter range [Range] The range of text to link.
15
+ # @parameter definition [Definition] The definition to link to.
11
16
  def initialize(range, definition)
12
17
  @definition = definition
13
18
 
@@ -16,6 +21,9 @@ module Decode
16
21
 
17
22
  attr :definition
18
23
 
24
+ # Apply the link to the output.
25
+ # @parameter output [String] The output to append to.
26
+ # @parameter rewriter [Rewriter] The rewriter instance.
19
27
  def apply(output, rewriter)
20
28
  output << rewriter.link_to(
21
29
  @definition,
@@ -5,29 +5,41 @@
5
5
 
6
6
  module Decode
7
7
  module Syntax
8
+ # Represents a match in the source text for syntax rewriting.
8
9
  class Match
10
+ # Initialize a new match.
11
+ # @parameter range [Range] The range of text this match covers.
9
12
  def initialize(range)
10
13
  @range = range
11
14
  end
12
15
 
13
16
  attr :range
14
17
 
18
+ # Apply the match to extract text from source.
19
+ # @parameter source [String] The source text.
15
20
  def apply(source)
16
21
  return source[range]
17
22
  end
18
23
 
24
+ # Compare matches by their starting position.
25
+ # @parameter other [Match] The other match to compare.
19
26
  def <=> other
20
27
  @range.min <=> other.range.min
21
28
  end
22
29
 
30
+ # Get the starting offset of this match.
23
31
  def offset
24
32
  @range.min
25
33
  end
26
34
 
35
+ # Get the size of this match.
27
36
  def size
28
37
  @range.size
29
38
  end
30
39
 
40
+ # Apply the match to the output.
41
+ # @parameter output [String] The output to append to.
42
+ # @parameter rewriter [Rewriter] The rewriter instance.
31
43
  def apply(output, rewriter)
32
44
  output << rewriter.text_for(@range)
33
45
 
@@ -5,7 +5,10 @@
5
5
 
6
6
  module Decode
7
7
  module Syntax
8
+ # Provides text rewriting functionality with match-based substitutions.
8
9
  class Rewriter
10
+ # Initialize a new rewriter.
11
+ # @parameter text [String] The text to rewrite.
9
12
  def initialize(text)
10
13
  @text = text
11
14
  @matches = []
@@ -15,6 +18,8 @@ module Decode
15
18
 
16
19
  attr :matches
17
20
 
21
+ # Add a match to the rewriter.
22
+ # @parameter match [Match] The match to add.
18
23
  def << match
19
24
  @matches << match
20
25
  end
@@ -24,6 +29,8 @@ module Decode
24
29
  @text[range]
25
30
  end
26
31
 
32
+ # Apply all matches to generate the rewritten output.
33
+ # @parameter output [Array] The output array to append to.
27
34
  def apply(output = [])
28
35
  offset = 0
29
36
 
@@ -47,6 +54,9 @@ module Decode
47
54
  return output
48
55
  end
49
56
 
57
+ # Generate a link to a definition.
58
+ # @parameter definition [Definition] The definition to link to.
59
+ # @parameter text [String] The text to display for the link.
50
60
  def link_to(definition, text)
51
61
  "[#{text}]"
52
62
  end
data/lib/decode/trie.rb CHANGED
@@ -3,36 +3,40 @@
3
3
  # Released under the MIT License.
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
- require_relative 'source'
6
+ require_relative "source"
7
7
 
8
8
  module Decode
9
- # A prefix-trie data structure for fast lexical lookups.
9
+ # Represents a prefix-trie data structure for fast lexical lookups.
10
10
  class Trie
11
- # A single node in the trie.
11
+ # Represents a single node in the trie.
12
12
  class Node
13
+ # Initialize a new trie node.
13
14
  def initialize
14
15
  @values = nil
15
16
  @children = Hash.new
16
17
  end
17
18
 
19
+ # Generate a string representation of this node.
20
+ # @returns [String] A formatted string showing the number of children.
18
21
  def inspect
19
22
  "#<#{self.class} #{@children.size} children>"
20
23
  end
21
24
 
25
+ # Generate a string representation of the node.
22
26
  alias to_s inspect
23
27
 
24
28
  # A mutable array of all values that terminate at this node.
25
- # @attribute [Array]
29
+ # @attribute [Array | Nil] The values stored at this node, or nil if no values.
26
30
  attr_accessor :values
27
31
 
28
32
  # A hash table of all children nodes, indexed by name.
29
- # @attribute [Hash(String, Node)]
33
+ # @attribute [Hash(String, Node)] Child nodes indexed by their path component.
30
34
  attr :children
31
35
 
32
36
  # Look up a lexical path starting at this node.
33
- #
34
37
  # @parameter path [Array(String)] The path to resolve.
35
- # @returns [Node | Nil]
38
+ # @parameter index [Integer] The current index in the path (used for recursion).
39
+ # @returns [Node | Nil] The node at the specified path, or nil if not found.
36
40
  def lookup(path, index = 0)
37
41
  if index < path.size
38
42
  if child = @children[path[index]]
@@ -45,13 +49,11 @@ module Decode
45
49
 
46
50
  # Traverse the trie from this node.
47
51
  # Invoke `descend.call` to traverse the children of the current node.
48
- #
49
52
  # @parameter path [Array(String)] The current lexical path.
50
- #
51
- # @block {|path, node, descend| descend.call}
52
- # @yield path [Array(String)] The current lexical path.
53
- # @yield node [Node] The current node which is being traversed.
54
- # @yield descend [Proc] The recursive method for traversing children.
53
+ # @yields {|path, node, descend| ...} Called for each node during traversal.
54
+ # @parameter path [Array(String)] The current lexical path.
55
+ # @parameter node [Node] The current node which is being traversed.
56
+ # @parameter descend [Proc] The recursive method for traversing children.
55
57
  def traverse(path = [], &block)
56
58
  yield(path, self, ->{
57
59
  @children.each do |name, node|
@@ -67,35 +69,36 @@ module Decode
67
69
  end
68
70
 
69
71
  # The root of the trie.
70
- # @attribute [Node]
72
+ # @attribute [Node] The root node of the trie structure.
71
73
  attr :root
72
74
 
73
75
  # Insert the specified value at the given path into the trie.
74
76
  # @parameter path [Array(String)] The lexical path where the value will be inserted.
75
- # @parameter value [Object] The value to insert.
77
+ # @parameter value [Object] The value to insert at the specified path.
76
78
  def insert(path, value)
77
79
  node = @root
78
80
 
81
+ # Navigate to the target node, creating nodes as needed:
79
82
  path.each do |key|
80
83
  node = (node.children[key] ||= Node.new)
81
84
  end
82
85
 
86
+ # Add the value to the target node:
83
87
  (node.values ||= []) << value
84
88
  end
85
89
 
86
90
  # Lookup the values at the specified path.
87
- #
88
91
  # @parameter path [Array(String)] The lexical path which contains the values.
89
- # @returns [Array(Object) | Nil] The values that existed (or not) at the specified path.
92
+ # @returns [Node | Nil] The node at the specified path, or nil if not found.
90
93
  def lookup(path)
91
94
  @root.lookup(path)
92
95
  end
93
96
 
94
97
  # Enumerate all lexical scopes under the specified path.
95
- #
96
- # @block {|path, values| ...}
97
- # @yield path [Array(String)] The lexical path.
98
- # @yield values [Array(Object)] The values that exist at the given path.
98
+ # @parameter path [Array(String)] The starting path to enumerate from.
99
+ # @yields {|path, values| ...} Called for each path with values.
100
+ # @parameter path [Array(String)] The lexical path.
101
+ # @parameter values [Array(Object) | Nil] The values that exist at the given path.
99
102
  def each(path = [], &block)
100
103
  if node = @root.lookup(path)
101
104
  node.traverse do |path, node, descend|
@@ -106,8 +109,10 @@ module Decode
106
109
  end
107
110
  end
108
111
 
109
- # Traverse the trie.
112
+ # Traverse the trie starting from the specified path.
110
113
  # See {Node#traverse} for details.
114
+ # @parameter path [Array(String)] The starting path to traverse from.
115
+ # @yields {|path, node, descend| ...} Called for each node during traversal.
111
116
  def traverse(path = [], &block)
112
117
  if node = @root.lookup(path)
113
118
  node.traverse(&block)
@@ -4,5 +4,5 @@
4
4
  # Copyright, 2020-2024, by Samuel Williams.
5
5
 
6
6
  module Decode
7
- VERSION = "0.22.0"
7
+ VERSION = "0.23.0"
8
8
  end
data.tar.gz.sig CHANGED
Binary file
metadata CHANGED
@@ -1,11 +1,10 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: decode
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.22.0
4
+ version: 0.23.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Samuel Williams
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain:
11
10
  - |
@@ -37,10 +36,10 @@ cert_chain:
37
36
  Q2K9NVun/S785AP05vKkXZEFYxqG6EW012U4oLcFl5MySFajYXRYbuUpH6AY+HP8
38
37
  voD0MPg1DssDLKwXyt1eKD/+Fq0bFWhwVM/1XiAXL7lyYUyOq24KHgQ2Csg=
39
38
  -----END CERTIFICATE-----
40
- date: 2024-08-17 00:00:00.000000000 Z
39
+ date: 1980-01-02 00:00:00.000000000 Z
41
40
  dependencies:
42
41
  - !ruby/object:Gem::Dependency
43
- name: parser
42
+ name: prism
44
43
  requirement: !ruby/object:Gem::Requirement
45
44
  requirements:
46
45
  - - ">="
@@ -53,13 +52,14 @@ dependencies:
53
52
  - - ">="
54
53
  - !ruby/object:Gem::Version
55
54
  version: '0'
56
- description:
57
- email:
58
55
  executables: []
59
56
  extensions: []
60
57
  extra_rdoc_files: []
61
58
  files:
62
59
  - bake/decode/index.rb
60
+ - context/coverage.md
61
+ - context/getting-started.md
62
+ - context/ruby-documentation.md
63
63
  - lib/decode.rb
64
64
  - lib/decode/comment/attribute.rb
65
65
  - lib/decode/comment/node.rb
@@ -80,6 +80,7 @@ files:
80
80
  - lib/decode/language/generic.rb
81
81
  - lib/decode/language/reference.rb
82
82
  - lib/decode/language/ruby.rb
83
+ - lib/decode/language/ruby/alias.rb
83
84
  - lib/decode/language/ruby/attribute.rb
84
85
  - lib/decode/language/ruby/block.rb
85
86
  - lib/decode/language/ruby/call.rb
@@ -113,7 +114,6 @@ metadata:
113
114
  documentation_uri: https://ioquatix.github.io/decode/
114
115
  funding_uri: https://github.com/sponsors/ioquatix/
115
116
  source_code_uri: https://github.com/ioquatix/decode.git
116
- post_install_message:
117
117
  rdoc_options: []
118
118
  require_paths:
119
119
  - lib
@@ -121,15 +121,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
121
121
  requirements:
122
122
  - - ">="
123
123
  - !ruby/object:Gem::Version
124
- version: '3.1'
124
+ version: '3.2'
125
125
  required_rubygems_version: !ruby/object:Gem::Requirement
126
126
  requirements:
127
127
  - - ">="
128
128
  - !ruby/object:Gem::Version
129
129
  version: '0'
130
130
  requirements: []
131
- rubygems_version: 3.5.11
132
- signing_key:
131
+ rubygems_version: 3.6.7
133
132
  specification_version: 4
134
133
  summary: Code analysis for documentation generation.
135
134
  test_files: []
metadata.gz.sig CHANGED
Binary file