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.
59 60 61 62 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 59 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.
64 65 66 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 64 def path_string @path_string end |
Instance Method Details
#arguments ⇒ Object
74 75 76 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 74 def arguments @parsed_pattern.arguments end |
#arguments_key ⇒ Object
87 88 89 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 87 def arguments_key @parsed_pattern.arguments.sort.join ":" end |
#arguments_with_dummy_values ⇒ Object
91 92 93 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 91 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.
79 80 81 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 79 def escape_argument arg Gapic::RubyInfo.keywords.include?(arg) ? "binding.local_variable_get(:#{arg})" : arg end |
#expected_path_for_dummy_values ⇒ Object
95 96 97 98 99 100 101 102 103 104 105 106 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 95 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
83 84 85 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 83 def formal_arguments @parsed_pattern.arguments.map { |name| "#{name}:" }.join ", " end |
#pattern ⇒ Object
108 109 110 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 108 def pattern @parsed_pattern.path_pattern end |
#pattern_template ⇒ Object
66 67 68 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 66 def pattern_template @parsed_pattern.template end |
#useful_for_helpers? ⇒ Boolean
70 71 72 |
# File 'lib/gapic/presenters/resource_presenter.rb', line 70 def useful_for_helpers? !@parsed_pattern.positional_segments? && !@parsed_pattern.nontrivial_pattern_segments? end |