Class: Gapic::Presenters::SnippetPresenter
- Inherits:
-
Object
- Object
- Gapic::Presenters::SnippetPresenter
- Defined in:
- lib/gapic/presenters/snippet_presenter.rb
Overview
A presenter for snippets.
Instance Method Summary collapse
- #base_response_type ⇒ Object
- #bidi_streaming? ⇒ Boolean
- #client_streaming? ⇒ Boolean
- #client_type ⇒ Object
-
#initialize(method_presenter, api) ⇒ SnippetPresenter
constructor
A new instance of SnippetPresenter.
-
#method_name ⇒ Object
TODO: Determine type of LRO response.
- #paged_response_type ⇒ Object
- #region_tag ⇒ Object
- #request_type ⇒ Object
- #require_path ⇒ Object
- #response_kind ⇒ Object
- #return_type ⇒ Object
- #snippet_file_path ⇒ Object
Constructor Details
#initialize(method_presenter, api) ⇒ SnippetPresenter
Returns a new instance of SnippetPresenter.
25 26 27 28 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 25 def initialize method_presenter, api @method_presenter = method_presenter @api = api end |
Instance Method Details
#base_response_type ⇒ Object
75 76 77 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 75 def base_response_type @method_presenter.return_type end |
#bidi_streaming? ⇒ Boolean
34 35 36 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 34 def bidi_streaming? @method_presenter.client_streaming? && @method_presenter.server_streaming? end |
#client_streaming? ⇒ Boolean
30 31 32 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 30 def client_streaming? @method_presenter.client_streaming? end |
#client_type ⇒ Object
58 59 60 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 58 def client_type @method_presenter.service.client_name_full.sub(/^::/, "") end |
#method_name ⇒ Object
TODO: Determine type of LRO response
81 82 83 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 81 def method_name @method_presenter.name end |
#paged_response_type ⇒ Object
71 72 73 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 71 def paged_response_type @method_presenter.paged_response_type end |
#region_tag ⇒ Object
85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 85 def region_tag gem_presenter = @method_presenter.service.gem api_id = gem_presenter.api_shortname || gem_presenter.api_id&.split(".")&.first names = gem_presenter.name.split "-" final_name = names.pop if final_name =~ /^v\d/ api_version = final_name api_id ||= names.last else api_id ||= final_name api_version = "v0" end api_id = api_id.downcase.gsub(/[^a-z0-9]/, "") service_name = @method_presenter.service.module_name method_name = @method_presenter.method.name "#{api_id}_#{api_version}_generated_#{service_name}_#{method_name}_sync" end |
#request_type ⇒ Object
62 63 64 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 62 def request_type @method_presenter.request_type.sub(/^::/, "") end |
#require_path ⇒ Object
54 55 56 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 54 def require_path @method_presenter.service.package.package_require end |
#response_kind ⇒ Object
38 39 40 41 42 43 44 45 46 47 48 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 38 def response_kind if @method_presenter.server_streaming? :streaming elsif @method_presenter.paged? :paged elsif @method_presenter.lro? :lro else :simple end end |
#return_type ⇒ Object
66 67 68 69 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 66 def return_type base_type = @method_presenter.return_type.sub(/^::/, "") @method_presenter.server_streaming? ? "Enumerable<#{base_type}>" : base_type end |
#snippet_file_path ⇒ Object
50 51 52 |
# File 'lib/gapic/presenters/snippet_presenter.rb', line 50 def snippet_file_path "#{@method_presenter.service.service_require.split('/').last}/#{@method_presenter.name}.rb" end |