Sha256: e7e12284fb5416db61ee8a0801527fe061b80874fa393be0167f0777b1eb87f2

Contents?: true

Size: 1.32 KB

Versions: 2

Compression:

Stored size: 1.32 KB

Contents

# frozen_string_literal: true

require 'polyphony'

require_relative './impression/request_extensions'
# require_relative './impression/file_watcher'

require_relative './impression/resource'
require_relative './impression/file_tree'
require_relative './impression/jamstack'
require_relative './impression/app'

# The Impression module contains convenience methods for creating resources.
module Impression

  # Creates a new `Impression::Resource` instance with the given parameters and
  # block.
  #
  # @param path [String] resource path (defaults to `"/"`)
  # @param **props [Hash] other resource properties
  # @param &block [Proc] optional block for overriding default request handler
  # @return [Impression::Resource] new resource
  def self.resource(path: '/', **props, &block)
    Resource.new(path: path, **props, &block)
  end

  # Creates a new `Impression::FileTree` instance with the given parameters.
  #
  # @param **props [Hash] properties
  # @return [Impression::FileTree] new resource
  def self.file_tree(path: '/', **props)
    FileTree.new(path: path, **props)
  end

  # Creates a new `Impression::Jamstack` instance with the given parameters.
  #
  # @param **props [Hash] properties
  # @return [Impression::Jamstack] new resource
  def self.jamstack(path: '/', **props)
    Jamstack.new(path: path, **props)
  end
end

Version data entries

2 entries across 2 versions & 1 rubygems

Version Path
impression-0.11 lib/impression.rb
impression-0.10 lib/impression.rb