Sha256: 24d3b98ed87206364d3fdaf1b351f2a7dfc52c862dd101d5ebe5f59d2700a6a1

Contents?: true

Size: 573 Bytes

Versions: 1

Compression:

Stored size: 573 Bytes

Contents

require 'roda'
require 'dry-configurable'

module Dry
  module Web
    class Application < Roda
      extend Dry::Configurable

      setting :container
      setting :routes

      plugin :multi_route
      plugin :all_verbs

      plugin :flow

      def self.resolve(name)
        config.container[name]
      end

      def self.[](name)
        resolve(name)
      end

      def self.load_routes!
        Dir[root.join("#{config.routes}/**/*.rb")].each { |f| require f }
      end

      def self.root
        config.container.config.root
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
dry-web-0.1.0 lib/dry/web/application.rb