chusaku 1.4.2 → 1.5.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: 91762a5b8314f0486e73067fd338cad5b440ca263d77c90322787ba86f318e58
4
- data.tar.gz: c9dcc279a4401864a946b1c97115d9f759152166eea11fa633517474529b8f56
3
+ metadata.gz: 34e6c3d99896a2ad9665c71b82575bb40491b8bcafa507560deeda2bf33b612b
4
+ data.tar.gz: 0ddf816adf5f24ccd5eb29d186db0e4014cd6c349fd11b950b268dd35154c3df
5
5
  SHA512:
6
- metadata.gz: 96bad9906074a576eefd8ec2e1bb30c3a3f6774f42127107feeb2a7414db41e493417bde9f97d8b7dacc32a8f71302abb47c4ffcf3250503e4c26b3e2975de9c
7
- data.tar.gz: 278543a4dbe3f74fbb1de39ab06ab455896f1f255a9410e52902955180d2d02a4a15e9cce075f6db444acaccecfd1018cc38cba2e117725e1b43ed4d287a199b
6
+ metadata.gz: fdec79c08e8a227a4e527c4325281a5499ecbbc3a511d9793b089da831aca609d260a60c013b770a1f2b49eb0cf643b222584af25f4f0d7ec719f2915f89a3a1
7
+ data.tar.gz: f48ff79a5d78e5e7a888f99f6e19e5e2a0e11e760f1085a0ec75c17b6f4375571cf48ab52ff9781d52cf6948131ea993bb6cc096ab63eda762df8470402e1aa5
data/README.md CHANGED
@@ -17,6 +17,21 @@ def update
17
17
  end
18
18
  ```
19
19
 
20
+ With `--format=rdoc`:
21
+
22
+ ```ruby
23
+ # Route:: GET /waterlilies/:id (waterlily)
24
+ def show
25
+ # ...
26
+ end
27
+
28
+ # Route:: PATCH /waterlilies/:id (waterlily)
29
+ # Route:: PUT /waterlilies/:id (waterlily)
30
+ def update
31
+ # ...
32
+ end
33
+ ```
34
+
20
35
  Based on your `routes.rb` file!
21
36
 
22
37
 
@@ -54,6 +69,7 @@ Usage: chusaku [options]
54
69
  --exit-with-error-on-annotation Fail if any file was annotated
55
70
  -c, --controllers-pattern=GLOB Specify alternative controller files glob pattern
56
71
  -e, --exclusion-pattern=GLOB Specify controller files exclusion glob pattern
72
+ -f, --format=FORMAT Annotation style: yard (default) or rdoc
57
73
  --verbose Print all annotated files
58
74
  -v, --version Show Chusaku version number and quit
59
75
  -h, --help Show this help message and quit
data/lib/chusaku/cli.rb CHANGED
@@ -58,6 +58,7 @@ module Chusaku
58
58
  add_error_on_annotation_flag(opts)
59
59
  add_controllers_pattern_flag(opts)
60
60
  add_exclusion_pattern_flag(opts)
61
+ add_format_flag(opts)
61
62
  add_verbose_flag(opts)
62
63
  add_version_flag(opts)
63
64
  add_help_flag(opts)
@@ -104,6 +105,16 @@ module Chusaku
104
105
  end
105
106
  end
106
107
 
108
+ # Adds `--format` flag.
109
+ #
110
+ # @param opts [OptionParser] OptionParser instance
111
+ # @return [void]
112
+ def add_format_flag(opts)
113
+ opts.on("-f", "--format=FORMAT", %w[yard rdoc], "Annotation style: yard (default) or rdoc") do |value|
114
+ @options[:format] = value.to_sym
115
+ end
116
+ end
117
+
107
118
  # Adds `--verbose` flag.
108
119
  #
109
120
  # @param opts [OptionParser] OptionParser instance
@@ -1,3 +1,3 @@
1
1
  module Chusaku
2
- VERSION = "1.4.2"
2
+ VERSION = "1.5.0"
3
3
  end
data/lib/chusaku.rb CHANGED
@@ -105,6 +105,7 @@ module Chusaku
105
105
  return unless group[:type] == :comment
106
106
 
107
107
  group[:body] = group[:body].gsub(/^\s*#\s*@route.*$\n/, "")
108
+ group[:body] = group[:body].gsub(/^\s*#\s*Route::.*$\n/, "")
108
109
  group[:body] =
109
110
  group[:body].gsub(%r{^\s*# (GET|POST|PATCH/PUT|DELETE) /\S+$\n}, "")
110
111
  end
@@ -134,7 +135,8 @@ module Chusaku
134
135
  # @param source_path [String] Path to controller file
135
136
  # @return [String] "@route <verb> <path> {<defaults>} (<name>)"
136
137
  def annotate_route(verb:, path:, name:, defaults:, source_path:)
137
- annotation = "@route #{verb} #{path}"
138
+ prefix = (@flags[:format] == :rdoc) ? "Route::" : "@route"
139
+ annotation = "#{prefix} #{verb} #{path}"
138
140
  if defaults&.any?
139
141
  defaults_str =
140
142
  defaults
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: chusaku
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.2
4
+ version: 1.5.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nishiki Liu
@@ -127,7 +127,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
127
127
  - !ruby/object:Gem::Version
128
128
  version: '0'
129
129
  requirements: []
130
- rubygems_version: 4.0.3
130
+ rubygems_version: 4.0.6
131
131
  specification_version: 4
132
132
  summary: Annotate your Rails controllers with route info.
133
133
  test_files: []