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.
Instance Method Summary collapse
- #arguments ⇒ Object
- #arguments_key ⇒ Object
- #arguments_with_dummy_values ⇒ Object
-
#escape_argument(arg) ⇒ String
The conflicting argument name escaped with local binding.
- #expected_path_for_dummy_values ⇒ Object
- #formal_arguments ⇒ Object
-
#initialize(pattern_string) ⇒ PatternPresenter
constructor
A new instance of PatternPresenter.
- #pattern ⇒ Object
- #pattern_template ⇒ Object
- #useful_for_helpers? ⇒ Boolean
Constructor Details
#initialize(pattern_string) ⇒ PatternPresenter
Returns a new instance of PatternPresenter.
81 82 83 84 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 81 def initialize 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.
86 87 88 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 86 def path_string @path_string end |
Instance Method Details
#arguments ⇒ Object
96 97 98 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 96 def arguments @parsed_pattern.arguments end |
#arguments_key ⇒ Object
109 110 111 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 109 def arguments_key @parsed_pattern.arguments.sort.join ":" end |
#arguments_with_dummy_values ⇒ Object
113 114 115 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 113 def arguments_with_dummy_values @parsed_pattern.arguments.each_with_index.map { |name, index| "#{name}: \"value#{index}\"" }.join ", " end |
#escape_argument(arg) ⇒ String
Returns The conflicting argument name escaped with local binding.
101 102 103 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 101 def escape_argument arg Gapic::RubyInfo.keywords.include?(arg) ? "binding.local_variable_get(:#{arg})" : arg end |
#expected_path_for_dummy_values ⇒ Object
117 118 119 120 121 122 123 124 125 126 127 128 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 117 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
105 106 107 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 105 def formal_arguments @parsed_pattern.arguments.map { |name| "#{name}:" }.join ", " end |
#pattern ⇒ Object
130 131 132 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 130 def pattern @parsed_pattern.path_pattern end |
#pattern_template ⇒ Object
88 89 90 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 88 def pattern_template @parsed_pattern.template end |
#useful_for_helpers? ⇒ Boolean
92 93 94 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 92 def useful_for_helpers? !@parsed_pattern.positional_segments? && !@parsed_pattern.nontrivial_pattern_segments? end |