Sha256: a3ccd649f813e60058cbfe05566e744677e8e72f448bdf41a070990762607aa1

Contents?: true

Size: 855 Bytes

Versions: 6

Compression:

Stored size: 855 Bytes

Contents

# frozen_string_literal: true

module Weneedfeed
  module Views
    class ShowTopPage < Base
      # @param [Weneedfeed::Schema] schema
      def initialize(schema:, **argv)
        super(**argv)
        @schema = schema
      end

      private

      # @return [String]
      def base_path
        request.path.delete_suffix(router.path(:top_page))
      end

      # @param [String] page_id
      # @return [String]
      def feed_path(page_id:)
        "#{base_path}#{router.path(:feed, page_id: page_id)}"
      end

      # @return [String]
      def opml_path
        "#{base_path}#{router.path(:opml)}"
      end

      # @return [Array<String>]
      def page_schemata
        @schema.page_schemata.sort_by(&:title)
      end

      # @return [Hanami::Router]
      def router
        ::Weneedfeed::Application.router
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
weneedfeed-0.20.0 lib/weneedfeed/views/show_top_page.rb
weneedfeed-0.19.3 lib/weneedfeed/views/show_top_page.rb
weneedfeed-0.19.2 lib/weneedfeed/views/show_top_page.rb
weneedfeed-0.19.1 lib/weneedfeed/views/show_top_page.rb
weneedfeed-0.19.0 lib/weneedfeed/views/show_top_page.rb
weneedfeed-0.18.0 lib/weneedfeed/views/show_top_page.rb