twirp_rails 0.4.6 → 0.4.7
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:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f6df8a4134b84a9843ad8a0db616c68dee24c88e95346ef48a34db3907f5d975
|
4
|
+
data.tar.gz: b113bc311403756b83e6e1464a02504dbd37a6f849a3f3789e22e594191643b0
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 8b63a508a6319c3a1d4977c807bc95b9d262e42fca622fe04f1f350c12aa3716eb53873ce8389cc6515d1aa8a60f0c353713af12846d83d4da2a74c80098df1e
|
7
|
+
data.tar.gz: b5b8cbf244043de39bf8ae47fcc1569c877e199f9489e87db867a4ee467f099328aad9759e3d11ec34fbd8cb86761d566cdca77606f0c81e09e7ea62b64d3e6e
|
@@ -3,7 +3,7 @@ class ProtocAdapter
|
|
3
3
|
|
4
4
|
attr_reader :twirp_plugin_path, :swagger_plugin_path, :protoc_path
|
5
5
|
|
6
|
-
def initialize(src_path, dst_path, swagger_out_path
|
6
|
+
def initialize(src_path, dst_path, swagger_out_path)
|
7
7
|
@src_path = src_path
|
8
8
|
@dst_path = dst_path
|
9
9
|
@swagger_out_path = swagger_out_path
|
@@ -28,17 +28,8 @@ class ProtocAdapter
|
|
28
28
|
end
|
29
29
|
end
|
30
30
|
|
31
|
-
def cmd(files, gen_swagger
|
32
|
-
flags
|
33
|
-
"--ruby_out=#{dst_path} --twirp_ruby_out=#{dst_path} " \
|
34
|
-
"--plugin=#{twirp_plugin_path}"
|
35
|
-
|
36
|
-
if gen_swagger
|
37
|
-
flags += " --plugin=#{swagger_plugin_path}" \
|
38
|
-
" --twirp_swagger_out=#{swagger_out_path}"
|
39
|
-
end
|
40
|
-
|
41
|
-
"#{protoc_path} #{flags} #{files}"
|
31
|
+
def cmd(files, gen_swagger)
|
32
|
+
"#{protoc_path} #{flags(gen_swagger)} #{files}"
|
42
33
|
end
|
43
34
|
|
44
35
|
def check_requirements(check_swagger: false)
|
@@ -62,4 +53,20 @@ class ProtocAdapter
|
|
62
53
|
TEXT
|
63
54
|
end
|
64
55
|
end
|
56
|
+
|
57
|
+
private
|
58
|
+
|
59
|
+
def flags(gen_swagger)
|
60
|
+
[].tap do |flags|
|
61
|
+
flags << "--proto_path=#{src_path}"
|
62
|
+
flags << "--ruby_out=#{dst_path}"
|
63
|
+
flags << "--twirp_ruby_out=#{dst_path}"
|
64
|
+
flags << "--plugin=#{twirp_plugin_path}"
|
65
|
+
|
66
|
+
if gen_swagger
|
67
|
+
flags << "--plugin=#{swagger_plugin_path}"
|
68
|
+
flags << "--twirp_swagger_out=#{swagger_out_path}"
|
69
|
+
end
|
70
|
+
end.join(' ')
|
71
|
+
end
|
65
72
|
end
|
@@ -3,7 +3,7 @@ require 'rails/generators'
|
|
3
3
|
class TwirpGenerator < Rails::Generators::NamedBase
|
4
4
|
source_root File.expand_path('templates', __dir__)
|
5
5
|
|
6
|
-
class_option :
|
6
|
+
class_option :gen_swagger, type: :boolean, default: false
|
7
7
|
class_option :swagger_out, type: :string, default: nil
|
8
8
|
|
9
9
|
def smart_detect_proto_file_name
|
@@ -67,9 +67,9 @@ class TwirpGenerator < Rails::Generators::NamedBase
|
|
67
67
|
proto_files.each do |file|
|
68
68
|
gen_swagger = gen_swagger? && file =~ %r{/#{file_name}\.proto$}
|
69
69
|
|
70
|
-
FileUtils.mkdir_p
|
70
|
+
FileUtils.mkdir_p cfg.swagger_output_path if gen_swagger
|
71
71
|
|
72
|
-
cmd = protoc.cmd(file, gen_swagger
|
72
|
+
cmd = protoc.cmd(file, gen_swagger)
|
73
73
|
|
74
74
|
protoc_files_count += 1
|
75
75
|
swagger_files_count += gen_swagger ? 1 : 0
|
@@ -188,11 +188,7 @@ class TwirpGenerator < Rails::Generators::NamedBase
|
|
188
188
|
end
|
189
189
|
|
190
190
|
def gen_swagger?
|
191
|
-
|
192
|
-
end
|
193
|
-
|
194
|
-
def swagger_out_path
|
195
|
-
options[:swagger_out] || cfg.swagger_output_path
|
191
|
+
options[:gen_swagger] && cfg.swagger_output_path.present?
|
196
192
|
end
|
197
193
|
|
198
194
|
def abort(msg)
|
@@ -200,6 +196,6 @@ class TwirpGenerator < Rails::Generators::NamedBase
|
|
200
196
|
end
|
201
197
|
|
202
198
|
def protoc
|
203
|
-
@protoc ||= ProtocAdapter.new(src_path, dst_path,
|
199
|
+
@protoc ||= ProtocAdapter.new(src_path, dst_path, cfg.swagger_output_path)
|
204
200
|
end
|
205
201
|
end
|
data/lib/twirp_rails/version.rb
CHANGED