Sha256: e647ca548a366b27bb11bfa88741eb50f229f59956dce2be9844c78b7ef586bd

Contents?: true

Size: 615 Bytes

Versions: 5

Compression:

Stored size: 615 Bytes

Contents

module Rib; end
module Rib::Rack
  singleton_class.module_eval{ attr_accessor :app }

  module_function
  def load
    load_rack
  rescue LoadError => e
    Rib.abort("Error: #{e}", "Is this a Rack app?")
  end

  def load_rack
    require 'rack'
    Rib.abort("Error: Cannot find config.ru") unless rack?
    app, _ = Rack::Builder.parse_file(configru_path)
    self.app = app
    Rib.shell.eval_binding.eval('def app; Rib::Rack.app; end')
    Rib.say("Access your app via :app method")
  end

  def rack?
    File.exist?(configru_path)
  end

  def configru_path
    "#{Rib.config[:prefix]}/config.ru"
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
rib-1.5.1 lib/rib/app/rack.rb
rib-1.5.0 lib/rib/app/rack.rb
rib-1.4.0 lib/rib/app/rack.rb
rib-1.3.1 lib/rib/app/rack.rb
rib-1.3.0 lib/rib/app/rack.rb