yard_to_rbs_inline 0.1.0 → 0.2.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 75ff275975592a47d67427039bdbb4eb3a617b4dd5b0b08f64529a51a71aac9a
4
- data.tar.gz: c15d5a93607172ed4a3753b3bcef47ffa9429c657a470423bdbc9d135398b6ab
3
+ metadata.gz: 8eda8d5f227b1e1ecacaeba2d22f44e181eb3aa13f7dcd7c51ddec960a62db61
4
+ data.tar.gz: ffffb3b3acb9dd46a24dbab9dae4318052db497ce4d8bf6fab097e248d42319f
5
5
  SHA512:
6
- metadata.gz: 1809ffd8bfa11fef92442a8450be27c12c11fbe178d62c896308f3bb5bf7024626cbd95e73a760053462625b025117e14a03547d97d5491328a6ece252fdc8b5
7
- data.tar.gz: 9974e192dd12b4d49f25ebf3284b32f19aa9b86be7c34a9afeb1d30a3c5a4be7e694922a256021daa6ec07f37329f8dd998c18e04fd23ed8241151c18ea2689f
6
+ metadata.gz: 8a18d283ec8a67a3690bb87fc4db11c219e4769a8dbf4172e5baf341b6fd5be8e7283947772d1bc5aacba6ed2c8f91f2b76983369adb0f8068fca93d0279be5a
7
+ data.tar.gz: b6b4f3a71e6b1ee5a04d8a6314d7cd53b5b1ba62a070fe05d293c9883357be7382ddde9c54483c1588eb678ab0263e9da208c6435705504f05d12ac3c0fb30be
data/README.md CHANGED
@@ -1,15 +1,21 @@
1
1
  # yard → rbs-inline
2
2
 
3
- Rewrite YARD type annotations in Your codes to rbs-inline.
3
+ Rewrite [YARD type annotations](https://yardoc.org/types.html) in your codes to [rbs-inline](https://github.com/soutaro/rbs-inline).
4
4
 
5
5
  ## Usage
6
6
 
7
+ Install this gem with the following command.
8
+
7
9
  ```console
8
- bundle
10
+ gem install yard_to_rbs_inline
11
+ ```
9
12
 
13
+ Then, run the following command to insert rbs-inline comments to your codes.
14
+
15
+ ```console
10
16
  # Print rewrited code to stdout.
11
- ./exe/yard-rbs-inline --dry-run your-file.rb
17
+ yard_to_rbs_inline --dry-run your-file.rb
12
18
 
13
19
  # Overwrite files.
14
- ./exe/yard-rbs-inline your-file.rb
20
+ yard_to_rbs_inline your-file.rb
15
21
  ```
data/Rakefile CHANGED
@@ -6,6 +6,7 @@ require "rspec/core/rake_task"
6
6
  RSpec::Core::RakeTask.new(:spec)
7
7
 
8
8
  require "rubocop/rake_task"
9
+ require "bump/tasks"
9
10
 
10
11
  RuboCop::RakeTask.new
11
12
 
@@ -0,0 +1,28 @@
1
+ # rbs_inline: enabled
2
+
3
+ class Code
4
+ # @return [String]
5
+ attr_reader :source #:: String
6
+
7
+ # @param source [String]
8
+ #:: (String source) -> untyped
9
+ def initialize(source)
10
+ @source = source
11
+ end
12
+
13
+ # @param new_source [String]
14
+ # @return [Code]
15
+ #:: (String new_source) -> Code
16
+ def rewrite(new_source)
17
+ @source = new_source
18
+
19
+ self
20
+ end
21
+
22
+ # @param recover [Boolean].
23
+ # @return [Array<Token>]
24
+ #:: (?recover: bool) -> Array[Token]
25
+ def tokenize(recover: false)
26
+ parser.tokenize(source, recover: recover)
27
+ end
28
+ end
@@ -1,8 +1,6 @@
1
1
  #!/usr/bin/env ruby
2
2
 
3
- if Dir.exist?(File.join(__dir__, "..", ".git"))
4
- $LOAD_PATH.unshift(File.expand_path('../lib', __dir__))
5
- end
3
+ $LOAD_PATH.unshift(File.expand_path("../lib", __dir__)) if Dir.exist?(File.join(__dir__, "..", ".git"))
6
4
 
7
- require 'yard_to_rbs_inline'
8
- YardToRbsInline::Cli.start(ARGV)
5
+ require "yard_to_rbs_inline"
6
+ exit(YardToRbsInline::Cli.start(ARGV))
@@ -0,0 +1,6 @@
1
+ #!/usr/bin/env ruby
2
+
3
+ $LOAD_PATH.unshift(File.expand_path("../lib", __dir__)) if Dir.exist?(File.join(__dir__, "..", ".git"))
4
+
5
+ require "yard_to_rbs_inline"
6
+ exit(YardToRbsInline::Cli.start(ARGV))
@@ -1,6 +1,6 @@
1
1
  # rbs_inline: enabled
2
2
 
3
- require 'optparse'
3
+ require "optparse"
4
4
 
5
5
  module YardToRbsInline
6
6
  class Cli
@@ -8,12 +8,24 @@ module YardToRbsInline
8
8
  opt = OptionParser.new
9
9
  dry_run = false
10
10
 
11
- opt.on('-n', '--dry-run', 'Dry run') { dry_run = true }
11
+ opt.banner = <<~STRING
12
+ Usage: yard-to-rbs-inline [options] <files ...>
13
+
14
+ STRING
15
+
16
+ opt.on("-n", "--dry-run", "Dry run") { dry_run = true }
12
17
  opt.parse!(argv)
13
18
 
19
+ if argv.empty?
20
+ warn opt.help
21
+ return 1
22
+ end
23
+
14
24
  argv.each do |file|
15
25
  Converter.convert(file, dry_run: dry_run)
16
26
  end
27
+
28
+ 0
17
29
  end
18
30
  end
19
31
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module YardToRbsInline
4
- VERSION = "0.1.0"
4
+ VERSION = "0.2.0"
5
5
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: yard_to_rbs_inline
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.0
4
+ version: 0.2.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Tomoya Chiba
@@ -24,11 +24,26 @@ dependencies:
24
24
  - - ">="
25
25
  - !ruby/object:Gem::Version
26
26
  version: '0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: bump
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: '0'
34
+ type: :development
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - ">="
39
+ - !ruby/object:Gem::Version
40
+ version: '0'
27
41
  description: Converter of yard to rbs-inline
28
42
  email:
29
43
  - tomo.asleep@gmail.com
30
44
  executables:
31
45
  - yard-to-rbs-inline
46
+ - yard_to_rbs_inline
32
47
  extensions: []
33
48
  extra_rdoc_files: []
34
49
  files:
@@ -39,8 +54,10 @@ files:
39
54
  - LICENSE
40
55
  - README.md
41
56
  - Rakefile
57
+ - examples/example-converted.rb
42
58
  - examples/example.rb
43
59
  - exe/yard-to-rbs-inline
60
+ - exe/yard_to_rbs_inline
44
61
  - lib/yard_to_rbs_inline.rb
45
62
  - lib/yard_to_rbs_inline/cli.rb
46
63
  - lib/yard_to_rbs_inline/converter.rb