Sha256: e73e5d96aa649483c122c49cbd355e9a1c53fabef3e099a98326ba97dc2e62ed
Contents?: true
Size: 1.44 KB
Versions: 7
Compression:
Stored size: 1.44 KB
Contents
# frozen_string_literal: true # Copyright 2019 Google LLC # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. # You may obtain a copy of the License at # # https://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. require "active_support/inflector" require_relative "gem_presenter" require_relative "service_presenter" class PackagePresenter include FilepathHelper include NamespaceHelper def initialize api, package @api = api @package = package end def gem GemPresenter.new @api end def name @package end def namespace return services.first&.namespace if services.first&.namespace ruby_namespace_for_address address end def services @services ||= begin files = @api.generate_files.select { |f| f.package == @package } files.map(&:services).flatten.map { |s| ServicePresenter.new @api, s } end end def address @package.split "." end def package_require ruby_file_path @api, namespace end def package_file_path package_require + ".rb" end def empty? services.empty? end end
Version data entries
7 entries across 7 versions & 1 rubygems