class Gapic::Presenters::ResourcePresenter::PatternPresenter

A presenter for a particular pattern

Attributes

path_string[R]
pattern[R]

Public Class Methods

new(pattern_string) click to toggle source
# 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

Public Instance Methods

arguments() click to toggle source
# File lib/gapic/presenters/resource_presenter.rb, line 77
def arguments
  @parsed_pattern.arguments
end
arguments_key() click to toggle source
# File lib/gapic/presenters/resource_presenter.rb, line 85
def arguments_key
  @parsed_pattern.arguments.sort.join ":"
end
arguments_with_dummy_values() click to toggle source
# 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() click to toggle source
# 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() click to toggle source
# File lib/gapic/presenters/resource_presenter.rb, line 81
def formal_arguments
  @parsed_pattern.arguments.map { |name| "#{name}:" }.join ", "
end
pattern_template() click to toggle source
# File lib/gapic/presenters/resource_presenter.rb, line 69
def pattern_template
  @parsed_pattern.template
end
useful_for_helpers?() click to toggle source
# File lib/gapic/presenters/resource_presenter.rb, line 73
def useful_for_helpers?
  !@parsed_pattern.positional_segments? && !@parsed_pattern.nontrivial_pattern_segments?
end

Private Instance Methods

build_path_string() click to toggle source
# File lib/gapic/presenters/resource_presenter.rb, line 108
def build_path_string
  @parsed_pattern.segments.map(&:path_string).join "/"
end