yard-sig 0.1.0 → 0.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: f35a0b2f65d1d710a4e41c9d8a40c2f0d70fc00d05e2dc6562c34342d53fb66d
4
- data.tar.gz: 688ec18293586b50e61dbb2bfb2a9a9f99c00bbc0f31786861a99f31dbb687ea
3
+ metadata.gz: a8a30d8e37b42f9db474cacba8fe768ae90129eb452cedaa105de1a28995a415
4
+ data.tar.gz: b5ef51eedc71a75d8875f392e93f09f11257b7f91ad88222ee28df64dd9bf7df
5
5
  SHA512:
6
- metadata.gz: 30c4739f18458e18084c42ed9836a33923ed389939db04caeebd73f2ca7f39fa9f9fdb3206800f544eb0828547d08a550766f79e753f2cb61856218abd10c04b
7
- data.tar.gz: 19fc367e95f0447f3e387580d4f8ce62f16771d2f4b1e8ced043bda3e7ea1c65e19d1fee462e593500a91c69b4868ce8441acdd41dbeabf528966e185fca87f5
6
+ metadata.gz: cebe6a8c8697513117acd7080217942cd4320549466a710f780b5f38f0d3d57652121eff85b435d463168f9fed75ddba67b575b25845de311a812abfe3d0891c
7
+ data.tar.gz: eb84fde03e6b369e4445cb31ae5348149da6eaf43952084036b5601045b88cb404f80308315091149247627631e6a3ce23da7dbb4a08aeee1c08a4a9b70fca6f
data/CHANGELOG.md CHANGED
@@ -1,5 +1,16 @@
1
1
  ## [Unreleased]
2
2
 
3
- ## [0.1.0] - 2023-06-17
3
+ ## [0.2.1] - 2024-01-08
4
+
5
+ - fix: use the hash specific syntax
6
+ - fix: support optional types
7
+ - ci: CI against ruby 3.3
8
+ - ci: upgrade actions/checkout
9
+
10
+ ## [0.2.0] - 2023-07-07
11
+
12
+ - feat: support [AaronC81/sord](https://github.com/AaronC81/sord)
13
+
14
+ ## [0.1.0] - 2023-07-06
4
15
 
5
16
  - Initial release
data/lib/yard-sig/sig.rb CHANGED
@@ -50,7 +50,7 @@ module YardSig
50
50
  if kind == :rest
51
51
  yard_types = "Array<#{yard_types}>"
52
52
  elsif kind == :keyrest
53
- yard_types = "Hash<Symbol, #{yard_types}>"
53
+ yard_types = "Hash{Symbol => #{yard_types}}"
54
54
  end
55
55
 
56
56
  YARD::Tags::Tag.new(tag_name, "", yard_types, name)
@@ -81,9 +81,17 @@ module YardSig
81
81
  "Boolean"
82
82
  when RBS::Types::Bases::Instance
83
83
  @namespace.to_s
84
+ when RBS::Types::Optional
85
+ "#{to_yard_type(type.type)}, nil"
84
86
  when RBS::Types::ClassInstance
85
- args = type.args.map { |t| to_yard_type(t) }.join(", ")
86
- args.empty? ? type.to_s : "#{type.name}<#{args}>"
87
+ args = type.args.map { |t| to_yard_type(t) }
88
+ if args.empty?
89
+ type.to_s
90
+ elsif type.name.name == :Hash
91
+ "#{type.name}{#{args[0]} => #{args[1]}}"
92
+ else
93
+ "#{type.name}<#{args.join(", ")}>"
94
+ end
87
95
  else
88
96
  type.to_s
89
97
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module YardSig
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.1"
5
5
  end
data/lib/yard-sig.rb CHANGED
@@ -12,6 +12,8 @@ module YardSig
12
12
  class SigDirective < ::YARD::Tags::Directive
13
13
  # @!sig () -> void
14
14
  def call
15
+ return unless object
16
+
15
17
  validate_arguments_forwarding!
16
18
 
17
19
  sig = Sig.new(tag.text, object.parameters, object.namespace.path)
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yard-sig
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Takumi Shotoku
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2023-07-06 00:00:00.000000000 Z
11
+ date: 2024-01-08 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rbs
@@ -63,8 +63,8 @@ licenses:
63
63
  - MIT
64
64
  metadata:
65
65
  homepage_uri: https://github.com/sinsoku/yard-sig
66
- source_code_uri: https://github.com/sinsoku/yard-sig/blob/v0.1.0/CHANGELOG.md
67
- changelog_uri: https://github.com/sinsoku/yard-sig/tree/v0.1.0
66
+ source_code_uri: https://github.com/sinsoku/yard-sig/blob/v0.2.1/CHANGELOG.md
67
+ changelog_uri: https://github.com/sinsoku/yard-sig/tree/v0.2.1
68
68
  post_install_message:
69
69
  rdoc_options: []
70
70
  require_paths:
@@ -80,7 +80,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
80
80
  - !ruby/object:Gem::Version
81
81
  version: '0'
82
82
  requirements: []
83
- rubygems_version: 3.4.14
83
+ rubygems_version: 3.4.19
84
84
  signing_key:
85
85
  specification_version: 4
86
86
  summary: A YARD plugin for writing documentations with RBS syntax