Sha256: a9d15093d40073df636b80482be2bdb6ed11af69cc8e9edc3f19a81ff1aabe71

Contents?: true

Size: 808 Bytes

Versions: 15

Compression:

Stored size: 808 Bytes

Contents

# frozen_string_literal: true

module Weneedfeed
  module Views
    class ShowFeed < ::Hibana::View
      include ::Weneedfeed::Helpers::Parameters

      # @param [Weneedfeed::Page] page
      def initialize(page:, **argv)
        super(**argv)
        @page = page
      end

      private

      # @return [String]
      def top_page_path
        request.path.delete_suffix(router.path(:feed, page_id: page_id))
      end

      # @return [Enumerable<Weneedfeed::Item>]
      def items
        @page.items.sort_by do |item|
          -(item.time || ::Time.now).to_i
        end.take(10)
      end

      # @return [String]
      def page_id
        path_parameters[:page_id]
      end

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

Version data entries

15 entries across 15 versions & 1 rubygems

Version Path
weneedfeed-0.15.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.14.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.13.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.12.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.11.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.10.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.9.2 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.9.1 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.9.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.8.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.7.2 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.7.1 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.7.0 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.6.1 lib/weneedfeed/views/show_feed.rb
weneedfeed-0.6.0 lib/weneedfeed/views/show_feed.rb