Class: Gapic::Presenters::ResourcePresenter::PatternPresenter

Inherits:
Object
  • Object
show all
Defined in:
lib/gapic/presenters/resource_presenter.rb

Overview

A presenter for a particular pattern

Instance Attribute Summary collapse

Instance Method Summary collapse

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_stringObject (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

#patternObject (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

#argumentsObject



77
78
79
# File 'lib/gapic/presenters/resource_presenter.rb', line 77

def arguments
  @parsed_pattern.arguments
end

#arguments_keyObject



85
86
87
# File 'lib/gapic/presenters/resource_presenter.rb', line 85

def arguments_key
  @parsed_pattern.arguments.sort.join ":"
end

#arguments_with_dummy_valuesObject



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_valuesObject



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_argumentsObject



81
82
83
# File 'lib/gapic/presenters/resource_presenter.rb', line 81

def formal_arguments
  @parsed_pattern.arguments.map { |name| "#{name}:" }.join ", "
end

#pattern_templateObject



69
70
71
# File 'lib/gapic/presenters/resource_presenter.rb', line 69

def pattern_template
  @parsed_pattern.template
end

#useful_for_helpers?Boolean

Returns:

  • (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