Class: Gapic::Presenters::ResourcePresenter::PatternPresenter
- Inherits:
-
Object
- Object
- Gapic::Presenters::ResourcePresenter::PatternPresenter
- Defined in:
- lib/gapic/presenters/resource_presenter.rb
Overview
A presenter for a particular pattern
Instance Attribute Summary collapse
-
#path_string ⇒ Object
readonly
Returns the value of attribute path_string.
-
#pattern ⇒ Object
readonly
Returns the value of attribute pattern.
Instance Method Summary collapse
- #arguments ⇒ Object
- #arguments_key ⇒ Object
- #arguments_with_dummy_values ⇒ Object
- #expected_path_for_dummy_values ⇒ Object
- #formal_arguments ⇒ Object
-
#initialize(pattern_string) ⇒ PatternPresenter
constructor
A new instance of PatternPresenter.
- #pattern_template ⇒ Object
- #useful_for_helpers? ⇒ Boolean
Constructor Details
#initialize(pattern_string) ⇒ PatternPresenter
Returns a new instance of PatternPresenter.
60 61 62 63 64 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 60 def initialize pattern_string @pattern = pattern_string @parsed_pattern = Gapic::PathPattern.parse pattern_string @path_string = build_path_string end |
Instance Attribute Details
#path_string ⇒ Object (readonly)
Returns the value of attribute path_string.
67 68 69 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 67 def path_string @path_string end |
#pattern ⇒ Object (readonly)
Returns the value of attribute pattern.
66 67 68 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 66 def pattern @pattern end |
Instance Method Details
#arguments ⇒ Object
77 78 79 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 77 def arguments @parsed_pattern.arguments end |
#arguments_key ⇒ Object
85 86 87 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 85 def arguments_key @parsed_pattern.arguments.sort.join ":" end |
#arguments_with_dummy_values ⇒ Object
89 90 91 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 89 def arguments_with_dummy_values @parsed_pattern.arguments.each_with_index.map { |name, index| "#{name}: \"value#{index}\"" }.join ", " end |
#expected_path_for_dummy_values ⇒ Object
93 94 95 96 97 98 99 100 101 102 103 104 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 93 def expected_path_for_dummy_values index = 0 @parsed_pattern.segments.map do |segment| if segment.provides_arguments? segment_dummy_path = segment.expected_path_for_dummy_values index index += segment.arguments.length segment_dummy_path else segment.pattern end end.join "/" end |
#formal_arguments ⇒ Object
81 82 83 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 81 def formal_arguments @parsed_pattern.arguments.map { |name| "#{name}:" }.join ", " end |
#pattern_template ⇒ Object
69 70 71 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 69 def pattern_template @parsed_pattern.template end |
#useful_for_helpers? ⇒ Boolean
73 74 75 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 73 def useful_for_helpers? !@parsed_pattern.positional_segments? && !@parsed_pattern.nontrivial_pattern_segments? end |