Sha256: 01269c74ece3654eeafc6bc5dc46e157705cf118ed3d25375a153604d6312d4e

Contents?: true

Size: 567 Bytes

Versions: 7

Compression:

Stored size: 567 Bytes

Contents

module Rack::App::CLI::Fetcher

  require 'rack/app/cli/fetcher/server'

  extend self

  module ExitPrevent

    def abort(*args)
    end

  end

  def rack_app

    server = Rack::App::CLI::Fetcher::Server.new(:config => 'config.ru')

    app = server.app

    until app.is_a?(Class) && app <= Rack::App
      app.instance_variables.each do |ivar|
        value = app.instance_variable_get(ivar)
        if value.respond_to?(:call) and not [Method, Proc, UnboundMethod].include?(value.class)
          app = value
        end
      end
    end

    app

  end

end

Version data entries

7 entries across 7 versions & 1 rubygems

Version Path
rack-app-5.0.0 lib/rack/app/cli/fetcher.rb
rack-app-5.0.0.rc2 lib/rack/app/cli/fetcher.rb
rack-app-5.0.0.rc1 lib/rack/app/cli/fetcher.rb
rack-app-4.0.1 lib/rack/app/cli/fetcher.rb
rack-app-3.6.0 lib/rack/app/cli/fetcher.rb
rack-app-3.5.2 lib/rack/app/cli/fetcher.rb
rack-app-3.5.1 lib/rack/app/cli/fetcher.rb