Sha256: aee7893ad2a44e517d46a00ef6ab3b099f8b700c6bc169313ed733044f34ff9f

Contents?: true

Size: 1.07 KB

Versions: 2

Compression:

Stored size: 1.07 KB

Contents

# frozen_string_literal: true

require 'intranet/abstract_responder'

module Intranet
  class TestResponder < AbstractResponder
    attr_reader :finalized

    def initialize(responses = {}, extra_css = [], extra_js = [], hide_from_menu = false)
      @responses = responses
      @extra_css = extra_css
      @extra_js = extra_js
      @finalized = false
      @hide_from_menu = hide_from_menu
    end

    def finalize
      @finalized = true
      super
    end

    def in_menu?
      return false if @hide_from_menu

      super
    end

    def self.module_name
      'test-responder'
    end

    def self.module_version
      '0.0.0'
    end

    def self.module_homepage
      'http://nil/'
    end

    def resources_dir
      __dir__
    end

    def generate_page(path, query)
      if path == '/query'
        [200, 'text/plain', query.to_s + "\r\n"]
      else
        @responses.fetch(path)
      end
    rescue KeyError
      super(path, query)
    end

    def css_dependencies
      super + @extra_css
    end

    def js_dependencies
      super + @extra_js
    end
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
intranet-core-2.0.0 spec/test_responder/responder.rb
intranet-core-1.2.0 spec/test_responder/responder.rb