Class: Gapic::Presenters::ResourcePresenter

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

Overview

A presenter for proto resources.

Defined Under Namespace

Classes: PatternPresenter

Instance Method Summary collapse

Constructor Details

#initialize(resource) ⇒ ResourcePresenter

Returns a new instance of ResourcePresenter.

Parameters:

  • resource (Google::Api::ResourceDescriptor)


26
27
28
29
30
31
32
33
# File 'lib/gapic/presenters/resource_presenter.rb', line 26

def initialize resource
  @resource = resource

  @patterns = resource.pattern.map { |pattern| PatternPresenter.new pattern }

  # Keep only patterns that can be used to create path helpers
  @patterns.filter!(&:useful_for_helpers?)
end

Instance Method Details

#dupObject



35
36
37
# File 'lib/gapic/presenters/resource_presenter.rb', line 35

def dup
  ResourcePresenter.new @resource
end

#nameObject



39
40
41
# File 'lib/gapic/presenters/resource_presenter.rb', line 39

def name
  @resource.type.split("/").delete_if(&:empty?).last
end

#path_helperObject



51
52
53
# File 'lib/gapic/presenters/resource_presenter.rb', line 51

def path_helper
  "#{ActiveSupport::Inflector.underscore name}_path"
end

#patternsObject



47
48
49
# File 'lib/gapic/presenters/resource_presenter.rb', line 47

def patterns
  @patterns
end

#typeObject



43
44
45
# File 'lib/gapic/presenters/resource_presenter.rb', line 43

def type
  @resource.type
end