Sha256: 9e97914e36812527dd5591e6c4f0f8501fd607db4a7d34e755d6a0e41bef5453

Contents?: true

Size: 696 Bytes

Versions: 2

Compression:

Stored size: 696 Bytes

Contents

# frozen_string_literal: true

require 'hibana'

module Weneedfeed
  class Application < ::Hibana::Application
    route do
      get '/', to: ::Weneedfeed::Controllers::ShowTopPage, as: :top_page
      get '/feeds/:page_id.xml', to: ::Weneedfeed::Controllers::ShowFeed, as: :feed
    end

    # @param [String] schema_path
    def initialize(schema_path:)
      @schema = ::Weneedfeed::Schema.load_file(schema_path)
      super()
    end

    # @param [Hash] env
    def call(env)
      env['weneedfeed.schema'] = @schema
      super
    end

    # @return [Array<String>]
    def paths
      ['/'] + @schema.page_ids.map do |page_id|
        "/feeds/#{page_id}.xml"
      end
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
weneedfeed-0.15.0 lib/weneedfeed/application.rb
weneedfeed-0.14.0 lib/weneedfeed/application.rb